openc3-cosmos-tool-bucketexplorer 6.2.1 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/tools/bucketexplorer/{ArrayWidget-BxEO5hEG-12f7fef6c5884b710ef9.js → ArrayWidget-BbsN1dzF-3c816617807c4a1bbd0b.js} +2 -2
  3. data/tools/bucketexplorer/{ArrayplotWidget-B_VPoV4v-35cdd612c424b3c44a8c.js → ArrayplotWidget-CCKEyYIx-e643e8798adc5b452a84.js} +1 -1
  4. data/tools/bucketexplorer/{BarColumn-C9dkpg2O-1432315a71bbe5982050.js → BarColumn-C6p07yWK-5c7bbacb85aff7c1e7ca.js} +1 -1
  5. data/tools/bucketexplorer/{BlockWidget-CuefOin6-a2c4af7121737a19d658.js → BlockWidget-DlCHbqZX-2e2734ab4b0f1a5538ac.js} +2 -2
  6. data/tools/bucketexplorer/BucketExplorer-b5be590d781a24b34d51.js +1501 -0
  7. data/tools/bucketexplorer/{ButtonWidget-B6HM0Doo-7738bdd69ffbf42f3774.js → ButtonWidget-CtfJzCBR-49ed86a3eeaff7fb591e.js} +2 -2
  8. data/tools/bucketexplorer/{CanvasWidget-DZQGG-yQ-14c5783f4eba6f543199.js → CanvasWidget-CqRlXc4r-df0117c2b26a03da9da9.js} +1 -1
  9. data/tools/bucketexplorer/CanvasdotWidget--Xr_KsZs-fc30f1224a7323408794.js +1 -0
  10. data/tools/bucketexplorer/{CanvasimageWidget-mhcPpAuN-b728b60d0097542fa59a.js → CanvasimageWidget-BPlj5QYK-8d8661eb3bec77850365.js} +1 -1
  11. data/tools/bucketexplorer/{CanvasimagevalueWidget-Cx-dH8Gc-de0593b28a8801262eef.js → CanvasimagevalueWidget-DVFGLt8f-cb1b1c1e263304996795.js} +1 -1
  12. data/tools/bucketexplorer/CanvaslabelWidget-CYNqmyP0-ecc1e24fd84ea4d742c4.js +1 -0
  13. data/tools/bucketexplorer/{CanvaslabelvalueWidget-CwmYDCjr-dee2777e24046ad0edef.js → CanvaslabelvalueWidget-B7yIDmsn-ee35639139b2238e6c45.js} +1 -1
  14. data/tools/bucketexplorer/CanvaslineWidget-BICdxX0Q-99f8550b9928117b63d1.js +1 -0
  15. data/tools/bucketexplorer/CanvaslinevalueWidget-Cq-Ddh0P-f01ad88e930142c950cc.js +1 -0
  16. data/tools/bucketexplorer/CheckbuttonWidget-B74AWeaW-deb0dab57a05d5af158b.js +1 -0
  17. data/tools/bucketexplorer/ComboboxWidget-CtyKbEWb-213a19cde84919ab44db.js +1 -0
  18. data/tools/bucketexplorer/DateWidget-BEVSczU8-b3d34083d4706f4543f9.js +1 -0
  19. data/tools/bucketexplorer/{DetailsDialog-BvbziA7Y-271640a874b3c46e1796.js → DetailsDialog-DmEC5BTs-e564267d87b5914f6976.js} +1 -1
  20. data/tools/bucketexplorer/{DynamicWidget-gFSYxzvT-a852572cc526064522df.js → DynamicWidget-CfMtj7H8-62f823a867781781596e.js} +1 -1
  21. data/tools/bucketexplorer/{FormatvalueWidget-CGpnTqVH-30cb56772699fc7deb53.js → FormatvalueWidget-DN12xymS-8d9c1ffc0a6950bea903.js} +1 -1
  22. data/tools/bucketexplorer/Graph-Bgo0cjl3-66094894befec8fc3c73.js +1 -0
  23. data/tools/bucketexplorer/{GraphWidget-Dycey-mj-3daa53c3bc2984105c06.js → GraphWidget-DurWDmpg-b43e4a859d04962daddc.js} +1 -1
  24. data/tools/bucketexplorer/{HorizontalWidget-D31NRWy5-20b959e2ace7eb79e716.js → HorizontalWidget-Cd_wl1b3-c828473da5c64e4c9489.js} +1 -1
  25. data/tools/bucketexplorer/HorizontalboxWidget-BcMTFBU--cd3830bdb8d05f2819a3.js +1 -0
  26. data/tools/bucketexplorer/HorizontallineWidget-CXFqHclf-643db9a80d241e6e2df8.js +1 -0
  27. data/tools/bucketexplorer/{IframeWidget-Ctj8OIcG-2f214230a97e98e37e03.js → IframeWidget-BPerHCCa-3d7296ffca16530b6b04.js} +1 -1
  28. data/tools/bucketexplorer/{ImageLoader-BrNrCBvi-e8c54e1b27029b1f6892.js → ImageLoader-4N-7Gj61-4a593e737e514266c071.js} +1 -1
  29. data/tools/bucketexplorer/ImageviewerWidget-Cw_H_HmZ-3956afe82618985654d2.js +1 -0
  30. data/tools/bucketexplorer/{LabelWidget-t7I87dp7-cf7508dbc5f235af4040.js → LabelWidget-xrmcVeq8-fcc9fea1e3b2a89b572e.js} +1 -1
  31. data/tools/bucketexplorer/LabelledWidget-D48QoyMk-a92c1bcb9dbe018ac11e.js +1 -0
  32. data/tools/bucketexplorer/LabelprogressbarWidget-C_950t6g-bb0d03d7482148b436db.js +1 -0
  33. data/tools/bucketexplorer/LabelsparklineWidget-0KXQyPoU-343f35445a43d237ac38.js +1 -0
  34. data/tools/bucketexplorer/{LabelvalueWidget-Zx_yHCtl-e3f45b8679e00c74bba4.js → LabelvalueWidget-CQ06wWDK-948ef42346f9dde609e2.js} +1 -1
  35. data/tools/bucketexplorer/{LabelvaluedescWidget-BBSBh4vI-729b01d19fb49861e770.js → LabelvaluedescWidget-Bo8zT01X-d9fe81480425c396a048.js} +1 -1
  36. data/tools/bucketexplorer/LabelvaluelimitsbarWidget-BucTw8Yk-21c8d656590441f125f5.js +1 -0
  37. data/tools/bucketexplorer/LabelvaluelimitscolumnWidget-Dflb1hNd-d760751c866674a79410.js +1 -0
  38. data/tools/bucketexplorer/LabelvaluerangebarWidget-D8cbfXFM-e1ae51493447f44ce2a6.js +1 -0
  39. data/tools/bucketexplorer/{Layout-Bh7VzCZd-287c4fbef012058e3893.js → Layout-Tf--nruw-6233babe9106d14d477a.js} +1 -1
  40. data/tools/bucketexplorer/LedWidget-qH_FthkK-4e1254e4141543ad21a0.js +1 -0
  41. data/tools/bucketexplorer/{LimitsbarWidget-Djui0IpK-dc3f8b8da9a175ad95e0.js → LimitsbarWidget-B9lAB2RD-3e2b48bc0114dd3da28c.js} +1 -1
  42. data/tools/bucketexplorer/{LimitscolorWidget-DdmvKzmx-9e68cac9e21c58962029.js → LimitscolorWidget-c6Qa6su7-4ec34c9967178f49c48b.js} +1 -1
  43. data/tools/bucketexplorer/{LimitscolumnWidget-Cc19IEjq-93133c0a62638b786e49.js → LimitscolumnWidget-CcLs_443-a86448d5635e917bc427.js} +1 -1
  44. data/tools/bucketexplorer/{LinegraphWidget-BtieJxeL-e711abef62aba32b4063.js → LinegraphWidget-BSVYLFo1-fee4c34e457b1ca7af1d.js} +1 -1
  45. data/tools/bucketexplorer/{MatrixbycolumnsWidget-DnExVRF8-85fc7eafec008bde38df.js → MatrixbycolumnsWidget-DXFpZTre-23e9224c69f02f6d32d5.js} +1 -1
  46. data/tools/bucketexplorer/{ProgressbarWidget-DIfqhHRE-fa0793913e941334f3cb.js → ProgressbarWidget-iYGw8-Dc-b2714b06042b710b2aa6.js} +1 -1
  47. data/tools/bucketexplorer/RadiobuttonWidget-ytmoVZ3u-169453335987c0f80710.js +1 -0
  48. data/tools/bucketexplorer/RadiogroupWidget-CusMBhKH-2ea8e64bcbb604d3fdd3.js +1 -0
  49. data/tools/bucketexplorer/{RangebarWidget-CN0YuHqy-ae69ac9dd38d22c0742b.js → RangebarWidget-D_zGTtCa-8afafbc3b78c05353dd1.js} +1 -1
  50. data/tools/bucketexplorer/{RollupWidget-y4jBtJB2-34f9332e36fab98d07da.js → RollupWidget-Dolsixyt-523dd72502cac46e5e11.js} +1 -1
  51. data/tools/bucketexplorer/{ScrollwindowWidget-CBzYk4Y3-9576497391322551cfdc.js → ScrollwindowWidget-DV2nZuNi-383cddbf07f020fa8597.js} +1 -1
  52. data/tools/bucketexplorer/{SignalWidget-DQ5Uc2uV-6aa1e697b431096f6945.js → SignalWidget-d9-6h85k-228cec76e7f4bf140459.js} +1 -1
  53. data/tools/bucketexplorer/SpacerWidget-BH0p2OLi-66846b399ec3e33dc711.js +1 -0
  54. data/tools/bucketexplorer/{SparklineWidget-CZtvu2ss-ff71d1409613da09edc7.js → SparklineWidget-coxi9r2g-3002a5ca5a6aa8f05308.js} +1 -1
  55. data/tools/bucketexplorer/TabbookWidget-B1XKplGH-bd824a152e6eabbc63f9.js +1 -0
  56. data/tools/bucketexplorer/TextboxWidget-C-_M2M4l-85e29fd4a2af82ef161e.js +1 -0
  57. data/tools/bucketexplorer/TextfieldWidget-C08N4JE8-c8f84ae183157aa30ad7.js +1 -0
  58. data/tools/bucketexplorer/TimeWidget-DtwdEcFg-d2d5984a0aa366ad1d27.js +1 -0
  59. data/tools/bucketexplorer/TitleWidget-CT-aLcNb-640dea16004e819dd90f.js +1 -0
  60. data/tools/bucketexplorer/{VWidget-C4spAawK-d57927fddbe7997688d6.js → VWidget-DQqb7NVW-849ec2d31829a89fb8f1.js} +1 -1
  61. data/tools/bucketexplorer/ValueWidget-C6RanBj3-83744f73e96bc8267ef5.js +1 -0
  62. data/tools/bucketexplorer/ValuelimitsbarWidget-B3bvjfxc-1306042ed01ad1aebc54.js +1 -0
  63. data/tools/bucketexplorer/{ValuelimitscolumnWidget-DHKIL7sf-9e31c368d20b163ae088.js → ValuelimitscolumnWidget-QvhI6EcE-9342e3f4549eee944c9d.js} +1 -1
  64. data/tools/bucketexplorer/{ValuerangebarWidget-CecQRIok-2f478a42b90af555972d.js → ValuerangebarWidget-Dt3K9BnC-2ed9341849547e81903a.js} +1 -1
  65. data/tools/bucketexplorer/{VerticalWidget-D8jUFxjS-35c841845ea9bfbea50c.js → VerticalWidget-BIIViZgI-992c95609a2a2e955b1e.js} +1 -1
  66. data/tools/bucketexplorer/VerticalboxWidget-DY72fLHW-9e9cc22604c92d8faac2.js +1 -0
  67. data/tools/bucketexplorer/{Widget-fRCERxGf-8066c0f3b137c133f5bd.js → Widget-oyqWpFXJ-961d98cc84c89410b01e.js} +1 -1
  68. data/tools/bucketexplorer/main-4d58a9f98438f39807d6.js +8 -0
  69. data/tools/bucketexplorer/main.js +1 -1
  70. metadata +70 -73
  71. data/tools/bucketexplorer/BucketExplorer-cbed9353a6fa6272ede2.js +0 -1425
  72. data/tools/bucketexplorer/CanvasdotWidget-6wuCSnw_-49c2a3a3e89b1dd464d6.js +0 -1
  73. data/tools/bucketexplorer/CanvaslabelWidget-CQZCeohU-1f160d2e23c0244cee45.js +0 -1
  74. data/tools/bucketexplorer/CanvaslineWidget-nTP3fJB4-3a3c9527618e1104942f.js +0 -1
  75. data/tools/bucketexplorer/CanvaslinevalueWidget-C3sJnjLQ-19d7381a2e43401d286c.js +0 -1
  76. data/tools/bucketexplorer/CheckbuttonWidget-5-8YDsQL-564e35c0e926315069ec.js +0 -1
  77. data/tools/bucketexplorer/ComboboxWidget-DzBL8h9f-eb28522e8a7500bbd460.js +0 -1
  78. data/tools/bucketexplorer/DateWidget-CW7Od7lB-8fc74dfdf24581b1e6fe.js +0 -1
  79. data/tools/bucketexplorer/Graph-3rkhFP3G-a8137dc351906766177f.js +0 -1
  80. data/tools/bucketexplorer/HorizontalboxWidget-Br8dSVHD-eb500d54e9d90c088673.js +0 -1
  81. data/tools/bucketexplorer/HorizontallineWidget-CbxREBYI-9fccd5b0abdf81aa5646.js +0 -1
  82. data/tools/bucketexplorer/ImageviewerWidget-XrsqxmLo-166bce6eca5914219f3b.js +0 -1
  83. data/tools/bucketexplorer/LabelledWidget-C7TDf92M-9fc3aa8f82c842f968a0.js +0 -1
  84. data/tools/bucketexplorer/LabelprogressbarWidget-wwLURt1u-d92a2d2750d2207e8ee1.js +0 -1
  85. data/tools/bucketexplorer/LabelsparklineWidget-B3awLUyP-3d802eda8f7a8c846e47.js +0 -1
  86. data/tools/bucketexplorer/LabelvaluelimitsbarWidget-CZueHYWG-e184bb0d60bf6c8a79d5.js +0 -1
  87. data/tools/bucketexplorer/LabelvaluelimitscolumnWidget-BTvzyQMq-a86118867dbc341382ca.js +0 -1
  88. data/tools/bucketexplorer/LabelvaluerangebarWidget-BhYTBgDq-b8c2bbbbbbdf4f16cdfb.js +0 -1
  89. data/tools/bucketexplorer/LedWidget-CxJjJBBS-41d354886017102febdd.js +0 -1
  90. data/tools/bucketexplorer/RadiobuttonWidget-QzIkNP7m-8b04ad11aa95addc2bd9.js +0 -1
  91. data/tools/bucketexplorer/RadiogroupWidget-Ci9sCX39-66f103c47f66d36b4c17.js +0 -1
  92. data/tools/bucketexplorer/SpacerWidget-6rsc_dSM-a608eb94facfbdbc543c.js +0 -1
  93. data/tools/bucketexplorer/TabbookWidget-DNALU0jl-1c208a735be735f347bc.js +0 -1
  94. data/tools/bucketexplorer/TextboxWidget-5hqPj74D-edc6446aef9456427046.js +0 -1
  95. data/tools/bucketexplorer/TextfieldWidget-Df0ANSiU-6aabd422f5e2a4709c53.js +0 -1
  96. data/tools/bucketexplorer/TimeWidget-C6XQMUG2-432b240ab6785f427330.js +0 -1
  97. data/tools/bucketexplorer/TitleWidget-B9SPUlbW-a2b5c518d0e24690d959.js +0 -1
  98. data/tools/bucketexplorer/ValueWidget-D4RrYVEK-5d72a16b4cf8cbc38c82.js +0 -1
  99. data/tools/bucketexplorer/ValuelimitsbarWidget-Bc9_Vj_f-1995951f5126fdf3018b.js +0 -1
  100. data/tools/bucketexplorer/VerticalboxWidget-B4eGUSYH-d37df95fc231f5fe3456.js +0 -1
  101. data/tools/bucketexplorer/main-50cef759b9b97159ebc4.js +0 -8
@@ -0,0 +1,1501 @@
1
+ System.register(["./main-4d58a9f98438f39807d6.js","vue","single-spa"],function(Wi,ut){"use strict";var lt,ju,yf,vf,Wt,er,Zt,nt,ot,lr,Br,wf,bf,En,xf,Yr,So,Ko,Wu,zu,so,Hu,ys,kf;return{setters:[pn=>{lt=pn._,ju=pn.d,yf=pn.a},pn=>{vf=pn.defineAsyncComponent,Wt=pn.resolveComponent,er=pn.createBlock,Zt=pn.openBlock,nt=pn.withCtx,ot=pn.createVNode,lr=pn.createElementVNode,Br=pn.toDisplayString,wf=pn.normalizeProps,bf=pn.guardReactiveProps,En=pn.createTextVNode,xf=pn.Teleport,Yr=pn.createElementBlock,So=pn.Fragment,Ko=pn.renderList,Wu=pn.mergeProps,zu=pn.createSlots,so=pn.createCommentVNode,Hu=pn.normalizeStyle,ys=pn.withModifiers,kf=pn.withKeys},null],execute:function(){var pn=document.createElement("style");pn.textContent=`.font-size[data-v-aff2a5b2]{font-size:1rem}.small-font-size[data-v-aff2a5b2]{font-size:.8rem}.file-input[data-v-aff2a5b2]{padding-top:0;margin-top:0}
2
+ /*$vite$:1*/`,document.head.appendChild(pn),Wi({$:dg,c:SL,l:Cn,m:Ar,y:tr,z:lp});var Lx=Object.defineProperty,Ox=(t,e,n)=>e in t?Lx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_f=(t,e,n)=>Ox(t,e+"",n);function Sf(t,e){return function(){return t.apply(e,arguments)}}const{toString:Ix}=Object.prototype,{getPrototypeOf:Uu}=Object,jl=(t=>e=>{const n=Ix.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),zi=t=>(t=t.toLowerCase(),e=>jl(e)===t),Wl=t=>e=>typeof e===t,{isArray:oa}=Array,qa=Wl("undefined");function Nx(t){return t!==null&&!qa(t)&&t.constructor!==null&&!qa(t.constructor)&&li(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Cf=zi("ArrayBuffer");function Dx(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Cf(t.buffer),e}const Fx=Wl("string"),li=Wl("function"),Tf=Wl("number"),zl=t=>t!==null&&typeof t=="object",Px=t=>t===!0||t===!1,Hl=t=>{if(jl(t)!=="object")return!1;const e=Uu(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},Bx=zi("Date"),jx=zi("File"),Wx=zi("Blob"),zx=zi("FileList"),Hx=t=>zl(t)&&li(t.pipe),Ux=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||li(t.append)&&((e=jl(t))==="formdata"||e==="object"&&li(t.toString)&&t.toString()==="[object FormData]"))},qx=zi("URLSearchParams"),[Vx,Kx,Gx,Yx]=["ReadableStream","Request","Response","Headers"].map(zi),Xx=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Va(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,u;if(typeof t!="object"&&(t=[t]),oa(t))for(r=0,u=t.length;r<u;r++)e.call(null,t[r],r,t);else{const d=n?Object.getOwnPropertyNames(t):Object.keys(t),p=d.length;let w;for(r=0;r<p;r++)w=d[r],e.call(null,t[w],w,t)}}function $f(t,e){e=e.toLowerCase();const n=Object.keys(t);let r=n.length,u;for(;r-- >0;)if(u=n[r],e===u.toLowerCase())return u;return null}const vs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Af=t=>!qa(t)&&t!==vs;function qu(){const{caseless:t}=Af(this)&&this||{},e={},n=(r,u)=>{const d=t&&$f(e,u)||u;Hl(e[d])&&Hl(r)?e[d]=qu(e[d],r):Hl(r)?e[d]=qu({},r):oa(r)?e[d]=r.slice():e[d]=r};for(let r=0,u=arguments.length;r<u;r++)arguments[r]&&Va(arguments[r],n);return e}const Qx=(t,e,n,{allOwnKeys:r}={})=>(Va(e,(u,d)=>{n&&li(u)?t[d]=Sf(u,n):t[d]=u},{allOwnKeys:r}),t),Zx=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Jx=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},e1=(t,e,n,r)=>{let u,d,p;const w={};if(e=e||{},t==null)return e;do{for(u=Object.getOwnPropertyNames(t),d=u.length;d-- >0;)p=u[d],(!r||r(p,t,e))&&!w[p]&&(e[p]=t[p],w[p]=!0);t=n!==!1&&Uu(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},t1=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},n1=t=>{if(!t)return null;if(oa(t))return t;let e=t.length;if(!Tf(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},r1=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Uu(Uint8Array)),i1=(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const u=r.value;e.call(t,u[0],u[1])}},o1=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},s1=zi("HTMLFormElement"),a1=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,r){return n.toUpperCase()+r}),Rf=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),l1=zi("RegExp"),Ef=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};Va(n,(u,d)=>{let p;(p=e(u,d,t))!==!1&&(r[d]=p||u)}),Object.defineProperties(t,r)},c1=t=>{Ef(t,(e,n)=>{if(li(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(li(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},u1=(t,e)=>{const n={},r=u=>{u.forEach(d=>{n[d]=!0})};return oa(t)?r(t):r(String(t).split(e)),n},h1=()=>{},d1=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function p1(t){return!!(t&&li(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const f1=t=>{const e=new Array(10),n=(r,u)=>{if(zl(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[u]=r;const d=oa(r)?[]:{};return Va(r,(p,w)=>{const f=n(p,u+1);!qa(f)&&(d[w]=f)}),e[u]=void 0,d}}return r};return n(t,0)},g1=zi("AsyncFunction"),m1=t=>t&&(zl(t)||li(t))&&li(t.then)&&li(t.catch),Mf=((t,e)=>t?setImmediate:e?((n,r)=>(vs.addEventListener("message",({source:u,data:d})=>{u===vs&&d===n&&r.length&&r.shift()()},!1),u=>{r.push(u),vs.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",li(vs.postMessage)),y1=typeof queueMicrotask<"u"?queueMicrotask.bind(vs):typeof process<"u"&&process.nextTick||Mf,Te={isArray:oa,isArrayBuffer:Cf,isBuffer:Nx,isFormData:Ux,isArrayBufferView:Dx,isString:Fx,isNumber:Tf,isBoolean:Px,isObject:zl,isPlainObject:Hl,isReadableStream:Vx,isRequest:Kx,isResponse:Gx,isHeaders:Yx,isUndefined:qa,isDate:Bx,isFile:jx,isBlob:Wx,isRegExp:l1,isFunction:li,isStream:Hx,isURLSearchParams:qx,isTypedArray:r1,isFileList:zx,forEach:Va,merge:qu,extend:Qx,trim:Xx,stripBOM:Zx,inherits:Jx,toFlatObject:e1,kindOf:jl,kindOfTest:zi,endsWith:t1,toArray:n1,forEachEntry:i1,matchAll:o1,isHTMLForm:s1,hasOwnProperty:Rf,hasOwnProp:Rf,reduceDescriptors:Ef,freezeMethods:c1,toObjectSet:u1,toCamelCase:a1,noop:h1,toFiniteNumber:d1,findKey:$f,global:vs,isContextDefined:Af,isSpecCompliantForm:p1,toJSONObject:f1,isAsyncFn:g1,isThenable:m1,setImmediate:Mf,asap:y1};function Et(t,e,n,r,u){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),u&&(this.response=u,this.status=u.status?u.status:null)}Te.inherits(Et,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:Te.toJSONObject(this.config),code:this.code,status:this.status}}});const Lf=Et.prototype,Of={};["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(t=>{Of[t]={value:t}}),Object.defineProperties(Et,Of),Object.defineProperty(Lf,"isAxiosError",{value:!0}),Et.from=(t,e,n,r,u,d)=>{const p=Object.create(Lf);return Te.toFlatObject(t,p,function(w){return w!==Error.prototype},w=>w!=="isAxiosError"),Et.call(p,t.message,e,n,r,u),p.cause=t,p.name=t.name,d&&Object.assign(p,d),p};const v1=null;function Vu(t){return Te.isPlainObject(t)||Te.isArray(t)}function If(t){return Te.endsWith(t,"[]")?t.slice(0,-2):t}function Nf(t,e,n){return t?t.concat(e).map(function(r,u){return r=If(r),!n&&u?"["+r+"]":r}).join(n?".":""):e}function w1(t){return Te.isArray(t)&&!t.some(Vu)}const b1=Te.toFlatObject(Te,{},null,function(t){return/^is[A-Z]/.test(t)});function Ul(t,e,n){if(!Te.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=Te.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(c,i){return!Te.isUndefined(i[c])});const r=n.metaTokens,u=n.visitor||g,d=n.dots,p=n.indexes,w=(n.Blob||typeof Blob<"u"&&Blob)&&Te.isSpecCompliantForm(e);if(!Te.isFunction(u))throw new TypeError("visitor must be a function");function f(c){if(c===null)return"";if(Te.isDate(c))return c.toISOString();if(!w&&Te.isBlob(c))throw new Et("Blob is not supported. Use a Buffer instead.");return Te.isArrayBuffer(c)||Te.isTypedArray(c)?w&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function g(c,i,l){let m=c;if(c&&!l&&typeof c=="object"){if(Te.endsWith(i,"{}"))i=r?i:i.slice(0,-2),c=JSON.stringify(c);else if(Te.isArray(c)&&w1(c)||(Te.isFileList(c)||Te.endsWith(i,"[]"))&&(m=Te.toArray(c)))return i=If(i),m.forEach(function(b,x){!(Te.isUndefined(b)||b===null)&&e.append(p===!0?Nf([i],x,d):p===null?i:i+"[]",f(b))}),!1}return Vu(c)?!0:(e.append(Nf(l,i,d),f(c)),!1)}const s=[],a=Object.assign(b1,{defaultVisitor:g,convertValue:f,isVisitable:Vu});function h(c,i){if(!Te.isUndefined(c)){if(s.indexOf(c)!==-1)throw Error("Circular reference detected in "+i.join("."));s.push(c),Te.forEach(c,function(l,m){(!(Te.isUndefined(l)||l===null)&&u.call(e,l,Te.isString(m)?m.trim():m,i,a))===!0&&h(l,i?i.concat(m):[m])}),s.pop()}}if(!Te.isObject(t))throw new TypeError("data must be an object");return h(t),e}function Df(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function Ku(t,e){this._pairs=[],t&&Ul(t,this,e)}const Ff=Ku.prototype;Ff.append=function(t,e){this._pairs.push([t,e])},Ff.toString=function(t){const e=t?function(n){return t.call(this,n,Df)}:Df;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function x1(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Pf(t,e,n){if(!e)return t;const r=n&&n.encode||x1;Te.isFunction(n)&&(n={serialize:n});const u=n&&n.serialize;let d;if(u?d=u(e,n):d=Te.isURLSearchParams(e)?e.toString():new Ku(e,n).toString(r),d){const p=t.indexOf("#");p!==-1&&(t=t.slice(0,p)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}let Bf=class{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Te.forEach(this.handlers,function(n){n!==null&&e(n)})}};const jf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},k1=typeof URLSearchParams<"u"?URLSearchParams:Ku,_1=typeof FormData<"u"?FormData:null,S1=typeof Blob<"u"?Blob:null,C1={isBrowser:!0,classes:{URLSearchParams:k1,FormData:_1,Blob:S1},protocols:["http","https","file","blob","url","data"]},Gu=typeof window<"u"&&typeof document<"u",Yu=typeof navigator=="object"&&navigator||void 0,T1=Gu&&(!Yu||["ReactNative","NativeScript","NS"].indexOf(Yu.product)<0),$1=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",A1=Gu&&window.location.href||"http://localhost",R1=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Gu,hasStandardBrowserEnv:T1,hasStandardBrowserWebWorkerEnv:$1,navigator:Yu,origin:A1},Symbol.toStringTag,{value:"Module"})),Tr={...R1,...C1};function E1(t,e){return Ul(t,new Tr.classes.URLSearchParams,Object.assign({visitor:function(n,r,u,d){return Tr.isNode&&Te.isBuffer(n)?(this.append(r,n.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)}},e))}function M1(t){return Te.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function L1(t){const e={},n=Object.keys(t);let r;const u=n.length;let d;for(r=0;r<u;r++)d=n[r],e[d]=t[d];return e}function Wf(t){function e(n,r,u,d){let p=n[d++];if(p==="__proto__")return!0;const w=Number.isFinite(+p),f=d>=n.length;return p=!p&&Te.isArray(u)?u.length:p,f?(Te.hasOwnProp(u,p)?u[p]=[u[p],r]:u[p]=r,!w):((!u[p]||!Te.isObject(u[p]))&&(u[p]=[]),e(n,r,u[p],d)&&Te.isArray(u[p])&&(u[p]=L1(u[p])),!w)}if(Te.isFormData(t)&&Te.isFunction(t.entries)){const n={};return Te.forEachEntry(t,(r,u)=>{e(M1(r),u,n,0)}),n}return null}function O1(t,e,n){if(Te.isString(t))try{return(e||JSON.parse)(t),Te.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const Ka={transitional:jf,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,u=Te.isObject(t);if(u&&Te.isHTMLForm(t)&&(t=new FormData(t)),Te.isFormData(t))return r?JSON.stringify(Wf(t)):t;if(Te.isArrayBuffer(t)||Te.isBuffer(t)||Te.isStream(t)||Te.isFile(t)||Te.isBlob(t)||Te.isReadableStream(t))return t;if(Te.isArrayBufferView(t))return t.buffer;if(Te.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let d;if(u){if(n.indexOf("application/x-www-form-urlencoded")>-1)return E1(t,this.formSerializer).toString();if((d=Te.isFileList(t))||n.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return Ul(d?{"files[]":t}:t,p&&new p,this.formSerializer)}}return u||r?(e.setContentType("application/json",!1),O1(t)):t}],transformResponse:[function(t){const e=this.transitional||Ka.transitional,n=e&&e.forcedJSONParsing,r=this.responseType==="json";if(Te.isResponse(t)||Te.isReadableStream(t))return t;if(t&&Te.isString(t)&&(n&&!this.responseType||r)){const u=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(d){if(u)throw d.name==="SyntaxError"?Et.from(d,Et.ERR_BAD_RESPONSE,this,null,this.response):d}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Tr.classes.FormData,Blob:Tr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Te.forEach(["delete","get","head","post","put","patch"],t=>{Ka.headers[t]={}});const I1=Te.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"]),N1=t=>{const e={};let n,r,u;return t&&t.split(`
3
+ `).forEach(function(d){u=d.indexOf(":"),n=d.substring(0,u).trim().toLowerCase(),r=d.substring(u+1).trim(),!(!n||e[n]&&I1[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},zf=Symbol("internals");function Ga(t){return t&&String(t).trim().toLowerCase()}function ql(t){return t===!1||t==null?t:Te.isArray(t)?t.map(ql):String(t)}function D1(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const F1=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Xu(t,e,n,r,u){if(Te.isFunction(r))return r.call(this,e,n);if(u&&(e=n),!!Te.isString(e)){if(Te.isString(r))return e.indexOf(r)!==-1;if(Te.isRegExp(r))return r.test(e)}}function P1(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function B1(t,e){const n=Te.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(u,d,p){return this[r].call(this,e,u,d,p)},configurable:!0})})}let Xr=class{constructor(e){e&&this.set(e)}set(e,n,r){const u=this;function d(w,f,g){const s=Ga(f);if(!s)throw new Error("header name must be a non-empty string");const a=Te.findKey(u,s);(!a||u[a]===void 0||g===!0||g===void 0&&u[a]!==!1)&&(u[a||f]=ql(w))}const p=(w,f)=>Te.forEach(w,(g,s)=>d(g,s,f));if(Te.isPlainObject(e)||e instanceof this.constructor)p(e,n);else if(Te.isString(e)&&(e=e.trim())&&!F1(e))p(N1(e),n);else if(Te.isHeaders(e))for(const[w,f]of e.entries())d(f,w,r);else e!=null&&d(n,e,r);return this}get(e,n){if(e=Ga(e),e){const r=Te.findKey(this,e);if(r){const u=this[r];if(!n)return u;if(n===!0)return D1(u);if(Te.isFunction(n))return n.call(this,u,r);if(Te.isRegExp(n))return n.exec(u);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ga(e),e){const r=Te.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||Xu(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let u=!1;function d(p){if(p=Ga(p),p){const w=Te.findKey(r,p);w&&(!n||Xu(r,r[w],w,n))&&(delete r[w],u=!0)}}return Te.isArray(e)?e.forEach(d):d(e),u}clear(e){const n=Object.keys(this);let r=n.length,u=!1;for(;r--;){const d=n[r];(!e||Xu(this,this[d],d,e,!0))&&(delete this[d],u=!0)}return u}normalize(e){const n=this,r={};return Te.forEach(this,(u,d)=>{const p=Te.findKey(r,d);if(p){n[p]=ql(u),delete n[d];return}const w=e?P1(d):String(d).trim();w!==d&&delete n[d],n[w]=ql(u),r[w]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return Te.forEach(this,(r,u)=>{r!=null&&r!==!1&&(n[u]=e&&Te.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
4
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(u=>r.set(u)),r}static accessor(e){const n=(this[zf]=this[zf]={accessors:{}}).accessors,r=this.prototype;function u(d){const p=Ga(d);n[p]||(B1(r,d),n[p]=!0)}return Te.isArray(e)?e.forEach(u):u(e),this}};Xr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Te.reduceDescriptors(Xr.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),Te.freezeMethods(Xr);function Qu(t,e){const n=this||Ka,r=e||n,u=Xr.from(r.headers);let d=r.data;return Te.forEach(t,function(p){d=p.call(n,d,u.normalize(),e?e.status:void 0)}),u.normalize(),d}function Hf(t){return!!(t&&t.__CANCEL__)}function sa(t,e,n){Et.call(this,t??"canceled",Et.ERR_CANCELED,e,n),this.name="CanceledError"}Te.inherits(sa,Et,{__CANCEL__:!0});function Uf(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new Et("Request failed with status code "+n.status,[Et.ERR_BAD_REQUEST,Et.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function j1(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function W1(t,e){t=t||10;const n=new Array(t),r=new Array(t);let u=0,d=0,p;return e=e!==void 0?e:1e3,function(w){const f=Date.now(),g=r[d];p||(p=f),n[u]=w,r[u]=f;let s=d,a=0;for(;s!==u;)a+=n[s++],s=s%t;if(u=(u+1)%t,u===d&&(d=(d+1)%t),f-p<e)return;const h=g&&f-g;return h?Math.round(a*1e3/h):void 0}}function z1(t,e){let n=0,r=1e3/e,u,d;const p=(w,f=Date.now())=>{n=f,u=null,d&&(clearTimeout(d),d=null),t.apply(null,w)};return[(...w)=>{const f=Date.now(),g=f-n;g>=r?p(w,f):(u=w,d||(d=setTimeout(()=>{d=null,p(u)},r-g)))},()=>u&&p(u)]}const Vl=(t,e,n=3)=>{let r=0;const u=W1(50,250);return z1(d=>{const p=d.loaded,w=d.lengthComputable?d.total:void 0,f=p-r,g=u(f),s=p<=w;r=p;const a={loaded:p,total:w,progress:w?p/w:void 0,bytes:f,rate:g||void 0,estimated:g&&w&&s?(w-p)/g:void 0,event:d,lengthComputable:w!=null,[e?"download":"upload"]:!0};t(a)},n)},qf=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Vf=t=>(...e)=>Te.asap(()=>t(...e)),H1=Tr.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Tr.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Tr.origin),Tr.navigator&&/(msie|trident)/i.test(Tr.navigator.userAgent)):()=>!0,U1=Tr.hasStandardBrowserEnv?{write(t,e,n,r,u,d){const p=[t+"="+encodeURIComponent(e)];Te.isNumber(n)&&p.push("expires="+new Date(n).toGMTString()),Te.isString(r)&&p.push("path="+r),Te.isString(u)&&p.push("domain="+u),d===!0&&p.push("secure"),document.cookie=p.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function q1(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function V1(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Kf(t,e,n){let r=!q1(e);return t&&(r||n==!1)?V1(t,e):e}const Gf=t=>t instanceof Xr?{...t}:t;function ws(t,e){e=e||{};const n={};function r(g,s,a,h){return Te.isPlainObject(g)&&Te.isPlainObject(s)?Te.merge.call({caseless:h},g,s):Te.isPlainObject(s)?Te.merge({},s):Te.isArray(s)?s.slice():s}function u(g,s,a,h){if(Te.isUndefined(s)){if(!Te.isUndefined(g))return r(void 0,g,a,h)}else return r(g,s,a,h)}function d(g,s){if(!Te.isUndefined(s))return r(void 0,s)}function p(g,s){if(Te.isUndefined(s)){if(!Te.isUndefined(g))return r(void 0,g)}else return r(void 0,s)}function w(g,s,a){if(a in e)return r(g,s);if(a in t)return r(void 0,g)}const f={url:d,method:d,data:d,baseURL:p,transformRequest:p,transformResponse:p,paramsSerializer:p,timeout:p,timeoutMessage:p,withCredentials:p,withXSRFToken:p,adapter:p,responseType:p,xsrfCookieName:p,xsrfHeaderName:p,onUploadProgress:p,onDownloadProgress:p,decompress:p,maxContentLength:p,maxBodyLength:p,beforeRedirect:p,transport:p,httpAgent:p,httpsAgent:p,cancelToken:p,socketPath:p,responseEncoding:p,validateStatus:w,headers:(g,s,a)=>u(Gf(g),Gf(s),a,!0)};return Te.forEach(Object.keys(Object.assign({},t,e)),function(g){const s=f[g]||u,a=s(t[g],e[g],g);Te.isUndefined(a)&&s!==w||(n[g]=a)}),n}const Yf=t=>{const e=ws({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:u,xsrfCookieName:d,headers:p,auth:w}=e;e.headers=p=Xr.from(p),e.url=Pf(Kf(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),w&&p.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let f;if(Te.isFormData(n)){if(Tr.hasStandardBrowserEnv||Tr.hasStandardBrowserWebWorkerEnv)p.setContentType(void 0);else if((f=p.getContentType())!==!1){const[g,...s]=f?f.split(";").map(a=>a.trim()).filter(Boolean):[];p.setContentType([g||"multipart/form-data",...s].join("; "))}}if(Tr.hasStandardBrowserEnv&&(r&&Te.isFunction(r)&&(r=r(e)),r||r!==!1&&H1(e.url))){const g=u&&d&&U1.read(d);g&&p.set(u,g)}return e},K1=typeof XMLHttpRequest<"u",G1=K1&&function(t){return new Promise(function(e,n){const r=Yf(t);let u=r.data;const d=Xr.from(r.headers).normalize();let{responseType:p,onUploadProgress:w,onDownloadProgress:f}=r,g,s,a,h,c;function i(){h&&h(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(g),r.signal&&r.signal.removeEventListener("abort",g)}let l=new XMLHttpRequest;l.open(r.method.toUpperCase(),r.url,!0),l.timeout=r.timeout;function m(){if(!l)return;const x=Xr.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),M={data:!p||p==="text"||p==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:x,config:t,request:l};Uf(function(A){e(A),i()},function(A){n(A),i()},M),l=null}"onloadend"in l?l.onloadend=m:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(m)},l.onabort=function(){l&&(n(new Et("Request aborted",Et.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new Et("Network Error",Et.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const M=r.transitional||jf;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),n(new Et(x,M.clarifyTimeoutError?Et.ETIMEDOUT:Et.ECONNABORTED,t,l)),l=null},u===void 0&&d.setContentType(null),"setRequestHeader"in l&&Te.forEach(d.toJSON(),function(x,M){l.setRequestHeader(M,x)}),Te.isUndefined(r.withCredentials)||(l.withCredentials=!!r.withCredentials),p&&p!=="json"&&(l.responseType=r.responseType),f&&([a,c]=Vl(f,!0),l.addEventListener("progress",a)),w&&l.upload&&([s,h]=Vl(w),l.upload.addEventListener("progress",s),l.upload.addEventListener("loadend",h)),(r.cancelToken||r.signal)&&(g=x=>{l&&(n(!x||x.type?new sa(null,t,l):x),l.abort(),l=null)},r.cancelToken&&r.cancelToken.subscribe(g),r.signal&&(r.signal.aborted?g():r.signal.addEventListener("abort",g)));const b=j1(r.url);if(b&&Tr.protocols.indexOf(b)===-1){n(new Et("Unsupported protocol "+b+":",Et.ERR_BAD_REQUEST,t));return}l.send(u||null)})},Y1=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,u;const d=function(g){if(!u){u=!0,w();const s=g instanceof Error?g:this.reason;r.abort(s instanceof Et?s:new sa(s instanceof Error?s.message:s))}};let p=e&&setTimeout(()=>{p=null,d(new Et(`timeout ${e} of ms exceeded`,Et.ETIMEDOUT))},e);const w=()=>{t&&(p&&clearTimeout(p),p=null,t.forEach(g=>{g.unsubscribe?g.unsubscribe(d):g.removeEventListener("abort",d)}),t=null)};t.forEach(g=>g.addEventListener("abort",d));const{signal:f}=r;return f.unsubscribe=()=>Te.asap(w),f}},X1=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,u;for(;r<n;)u=r+e,yield t.slice(r,u),r=u},Q1=async function*(t,e){for await(const n of Z1(t))yield*X1(n,e)},Z1=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},Xf=(t,e,n,r)=>{const u=Q1(t,e);let d=0,p,w=f=>{p||(p=!0,r&&r(f))};return new ReadableStream({async pull(f){try{const{done:g,value:s}=await u.next();if(g){w(),f.close();return}let a=s.byteLength;if(n){let h=d+=a;n(h)}f.enqueue(new Uint8Array(s))}catch(g){throw w(g),g}},cancel(f){return w(f),u.return()}},{highWaterMark:2})},Kl=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Qf=Kl&&typeof ReadableStream=="function",J1=Kl&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),Zf=(t,...e)=>{try{return!!t(...e)}catch{return!1}},ek=Qf&&Zf(()=>{let t=!1;const e=new Request(Tr.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),Jf=64*1024,Zu=Qf&&Zf(()=>Te.isReadableStream(new Response("").body)),Gl={stream:Zu&&(t=>t.body)};Kl&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Gl[e]&&(Gl[e]=Te.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new Et(`Response type '${e}' is not supported`,Et.ERR_NOT_SUPPORT,r)})})})(new Response);const tk=async t=>{if(t==null)return 0;if(Te.isBlob(t))return t.size;if(Te.isSpecCompliantForm(t))return(await new Request(Tr.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(Te.isArrayBufferView(t)||Te.isArrayBuffer(t))return t.byteLength;if(Te.isURLSearchParams(t)&&(t=t+""),Te.isString(t))return(await J1(t)).byteLength},nk=async(t,e)=>Te.toFiniteNumber(t.getContentLength())??tk(e),rk=Kl&&(async t=>{let{url:e,method:n,data:r,signal:u,cancelToken:d,timeout:p,onDownloadProgress:w,onUploadProgress:f,responseType:g,headers:s,withCredentials:a="same-origin",fetchOptions:h}=Yf(t);g=g?(g+"").toLowerCase():"text";let c=Y1([u,d&&d.toAbortSignal()],p),i;const l=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(f&&ek&&n!=="get"&&n!=="head"&&(m=await nk(s,r))!==0){let _=new Request(e,{method:"POST",body:r,duplex:"half"}),k;if(Te.isFormData(r)&&(k=_.headers.get("content-type"))&&s.setContentType(k),_.body){const[E,O]=qf(m,Vl(Vf(f)));r=Xf(_.body,Jf,E,O)}}Te.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;i=new Request(e,{...h,signal:c,method:n.toUpperCase(),headers:s.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(i);const M=Zu&&(g==="stream"||g==="response");if(Zu&&(w||M&&l)){const _={};["status","statusText","headers"].forEach(F=>{_[F]=x[F]});const k=Te.toFiniteNumber(x.headers.get("content-length")),[E,O]=w&&qf(k,Vl(Vf(w),!0))||[];x=new Response(Xf(x.body,Jf,E,()=>{O&&O(),l&&l()}),_)}g=g||"text";let A=await Gl[Te.findKey(Gl,g)||"text"](x,t);return!M&&l&&l(),await new Promise((_,k)=>{Uf(_,k,{data:A,headers:Xr.from(x.headers),status:x.status,statusText:x.statusText,config:t,request:i})})}catch(b){throw l&&l(),b&&b.name==="TypeError"&&/fetch/i.test(b.message)?Object.assign(new Et("Network Error",Et.ERR_NETWORK,t,i),{cause:b.cause||b}):Et.from(b,b&&b.code,t,i)}}),Ju={http:v1,xhr:G1,fetch:rk};Te.forEach(Ju,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const eg=t=>`- ${t}`,ik=t=>Te.isFunction(t)||t===null||t===!1,tg={getAdapter:t=>{t=Te.isArray(t)?t:[t];const{length:e}=t;let n,r;const u={};for(let d=0;d<e;d++){n=t[d];let p;if(r=n,!ik(n)&&(r=Ju[(p=String(n)).toLowerCase()],r===void 0))throw new Et(`Unknown adapter '${p}'`);if(r)break;u[p||"#"+d]=r}if(!r){const d=Object.entries(u).map(([w,f])=>`adapter ${w} `+(f===!1?"is not supported by the environment":"is not available in the build"));let p=e?d.length>1?`since :
5
+ `+d.map(eg).join(`
6
+ `):" "+eg(d[0]):"as no adapter specified";throw new Et("There is no suitable adapter to dispatch the request "+p,"ERR_NOT_SUPPORT")}return r},adapters:Ju};function eh(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new sa(null,t)}function ng(t){return eh(t),t.headers=Xr.from(t.headers),t.data=Qu.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),tg.getAdapter(t.adapter||Ka.adapter)(t).then(function(e){return eh(t),e.data=Qu.call(t,t.transformResponse,e),e.headers=Xr.from(e.headers),e},function(e){return Hf(e)||(eh(t),e&&e.response&&(e.response.data=Qu.call(t,t.transformResponse,e.response),e.response.headers=Xr.from(e.response.headers))),Promise.reject(e)})}const rg="1.8.4",Yl={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Yl[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const ig={};Yl.transitional=function(t,e,n){function r(u,d){return"[Axios v"+rg+"] Transitional option '"+u+"'"+d+(n?". "+n:"")}return(u,d,p)=>{if(t===!1)throw new Et(r(d," has been removed"+(e?" in "+e:"")),Et.ERR_DEPRECATED);return e&&!ig[d]&&(ig[d]=!0,console.warn(r(d," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(u,d,p):!0}},Yl.spelling=function(t){return(e,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function ok(t,e,n){if(typeof t!="object")throw new Et("options must be an object",Et.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let u=r.length;for(;u-- >0;){const d=r[u],p=e[d];if(p){const w=t[d],f=w===void 0||p(w,d,t);if(f!==!0)throw new Et("option "+d+" must be "+f,Et.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Et("Unknown option "+d,Et.ERR_BAD_OPTION)}}const Xl={assertOptions:ok,validators:Yl},ao=Xl.validators;let bs=class{constructor(e){this.defaults=e,this.interceptors={request:new Bf,response:new Bf}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let u={};Error.captureStackTrace?Error.captureStackTrace(u):u=new Error;const d=u.stack?u.stack.replace(/^.+\n/,""):"";try{r.stack?d&&!String(r.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(r.stack+=`
7
+ `+d):r.stack=d}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=ws(this.defaults,n);const{transitional:r,paramsSerializer:u,headers:d}=n;r!==void 0&&Xl.assertOptions(r,{silentJSONParsing:ao.transitional(ao.boolean),forcedJSONParsing:ao.transitional(ao.boolean),clarifyTimeoutError:ao.transitional(ao.boolean)},!1),u!=null&&(Te.isFunction(u)?n.paramsSerializer={serialize:u}:Xl.assertOptions(u,{encode:ao.function,serialize:ao.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Xl.assertOptions(n,{baseUrl:ao.spelling("baseURL"),withXsrfToken:ao.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let p=d&&Te.merge(d.common,d[n.method]);d&&Te.forEach(["delete","get","head","post","put","patch","common"],i=>{delete d[i]}),n.headers=Xr.concat(p,d);const w=[];let f=!0;this.interceptors.request.forEach(function(i){typeof i.runWhen=="function"&&i.runWhen(n)===!1||(f=f&&i.synchronous,w.unshift(i.fulfilled,i.rejected))});const g=[];this.interceptors.response.forEach(function(i){g.push(i.fulfilled,i.rejected)});let s,a=0,h;if(!f){const i=[ng.bind(this),void 0];for(i.unshift.apply(i,w),i.push.apply(i,g),h=i.length,s=Promise.resolve(n);a<h;)s=s.then(i[a++],i[a++]);return s}h=w.length;let c=n;for(a=0;a<h;){const i=w[a++],l=w[a++];try{c=i(c)}catch(m){l.call(this,m);break}}try{s=ng.call(this,c)}catch(i){return Promise.reject(i)}for(a=0,h=g.length;a<h;)s=s.then(g[a++],g[a++]);return s}getUri(e){e=ws(this.defaults,e);const n=Kf(e.baseURL,e.url,e.allowAbsoluteUrls);return Pf(n,e.params,e.paramsSerializer)}};Te.forEach(["delete","get","head","options"],function(t){bs.prototype[t]=function(e,n){return this.request(ws(n||{},{method:t,url:e,data:(n||{}).data}))}}),Te.forEach(["post","put","patch"],function(t){function e(n){return function(r,u,d){return this.request(ws(d||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:r,data:u}))}}bs.prototype[t]=e(),bs.prototype[t+"Form"]=e(!0)});let sk=class Ax{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(u){n=u});const r=this;this.promise.then(u=>{if(!r._listeners)return;let d=r._listeners.length;for(;d-- >0;)r._listeners[d](u);r._listeners=null}),this.promise.then=u=>{let d;const p=new Promise(w=>{r.subscribe(w),d=w}).then(u);return p.cancel=function(){r.unsubscribe(d)},p},e(function(u,d,p){r.reason||(r.reason=new sa(u,d,p),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Ax(function(n){e=n}),cancel:e}}};function ak(t){return function(e){return t.apply(null,e)}}function lk(t){return Te.isObject(t)&&t.isAxiosError===!0}const th={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(th).forEach(([t,e])=>{th[e]=t});function og(t){const e=new bs(t),n=Sf(bs.prototype.request,e);return Te.extend(n,bs.prototype,e,{allOwnKeys:!0}),Te.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return og(ws(t,r))},n}const Un=og(Ka);Un.Axios=bs,Un.CanceledError=sa,Un.CancelToken=sk,Un.isCancel=Hf,Un.VERSION=rg,Un.toFormData=Ul,Un.AxiosError=Et,Un.Cancel=Un.CanceledError,Un.all=function(t){return Promise.all(t)},Un.spread=ak,Un.isAxiosError=lk,Un.mergeConfig=ws,Un.AxiosHeaders=Xr,Un.formToJSON=t=>Wf(Te.isHTMLForm(t)?new FormData(t):t),Un.getAdapter=tg.getAdapter,Un.HttpStatusCode=th,Un.default=Un;const{Axios:uB,AxiosError:hB,CanceledError:dB,isCancel:pB,CancelToken:fB,VERSION:gB,all:mB,Cancel:yB,isAxiosError:vB,spread:wB,toFormData:bB,AxiosHeaders:xB,HttpStatusCode:kB,formToJSON:_B,getAdapter:SB,mergeConfig:CB}=Un,sg=Un.create({baseURL:location.origin,timeout:6e4,params:{}});sg.interceptors.response.use(t=>t,t=>{var e,n,r,u,d,p,w,f,g,s,a;if(t.response){if(t.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(i){i&&OpenC3Auth.setTokens()}),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let h=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(h+=`${t.response.statusText} `),(r=(n=t.response)==null?void 0:n.config)!=null&&r.data&&(h+=`${t.response.config.data} `),(d=(u=t.response)==null?void 0:u.data)!=null&&d.message?h+=`${t.response.data.message}`:(w=(p=t.response)==null?void 0:p.data)!=null&&w.exception?h+=`${t.response.data.exception}`:(s=(g=(f=t.response)==null?void 0:f.data)==null?void 0:g.error)!=null&&s.message?(t.response.data.error.class&&(h+=`${t.response.data.error.class} `),h+=`${t.response.data.error.message}`):h+=`${(a=t.response)==null?void 0:a.data}`;const{$cosmosNotify:c}=window;throw c&&c.serious({title:"Network error",body:h}),t}else throw t});const Ql=async function(t,e,{data:n,params:r={},headers:u,noAuth:d=!1,noScope:p=!1,onUploadProgress:w=!1}={}){if(!d){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}u.Authorization=localStorage.openc3Token}return u.manual=!0,!p&&!r.scope&&(r.scope=window.openc3Scope),sg({method:t,url:e,data:n,params:r,headers:u,onUploadProgress:w})},nh={Accept:"application/json"},ag={...nh,"Content-Type":"application/json"},xs={get:function(t,{params:e,headers:n=nh,noScope:r,noAuth:u,onUploadProgress:d}={}){return Ql("get",t,{params:e,headers:n,noScope:r,noAuth:u,onUploadProgress:d})},put:function(t,{data:e,params:n,headers:r=ag,noScope:u,noAuth:d,onUploadProgress:p}={}){return Ql("put",t,{data:e,params:n,headers:r,noScope:u,noAuth:d,onUploadProgress:p})},post:function(t,{data:e,params:n,headers:r=ag,noScope:u,noAuth:d,onUploadProgress:p}={}){return Ql("post",t,{data:e,params:n,headers:r,noScope:u,noAuth:d,onUploadProgress:p})},delete:function(t,{params:e,headers:n=nh,noScope:r,noAuth:u,onUploadProgress:d}={}){return Ql("delete",t,{params:e,headers:n,noScope:r,noAuth:u,onUploadProgress:d})}};let ck=()=>({emit(t,...e){for(let n=this.events[t]||[],r=0,u=n.length;r<u;r++)n[r](...e)},events:{},on(t,e){var n;return((n=this.events)[t]||(n[t]=[])).push(e),()=>{var r;this.events[t]=(r=this.events[t])==null?void 0:r.filter(u=>e!==u)}}}),uk=class extends Error{constructor(e,n){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=n,this.name="ReasonError"}};function hk(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let n=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${n}`}).join(",")}}`:""}class dk{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,n){if(!this._info)return this._info={id:e,info:n},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((n,{id:r,info:u})=>(n[r]=u,n),{})}}const ks=Symbol("state");let lg=class{constructor(e={}){this.emitter=ck(),this.params=Object.freeze(e),this.presence=new dk(this),this.initialConnect=!0,this[ks]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=hk({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[ks]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[ks]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[ks]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[ks]="connected";let e=!0,n=!0;this.initialConnect=!1,this.emit("connect",{reconnect:n,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[ks]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[ks]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,n){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,n)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(n){let r=this.receiver?this.receiver.logger:null;r&&r.warn("whisper failed: ",n)}}receive(e,n){this.emit("message",e,n)}on(e,n){return this.emitter.on(e,n)}once(e,n){let r=this.emitter.on(e,(...u)=>{r(),n(...u)});return r}emit(e,...n){return this.emitter.emit(e,...n)}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((e,n)=>{let r=[()=>delete this._pendingSubscribe];r.push(this.on("connect",()=>{r.forEach(u=>u()),e()})),r.push(this.on("close",u=>{r.forEach(d=>d()),n(u||new uk("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}};_f(class extends lg{constructor(e,n){super(n),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}},"identifier","__ghost__"),_f(class extends lg{async perform(e,n){if(e.startsWith("$"))return super.perform(e,n);throw Error("not implemented")}},"identifier","$pubsub");const Zl=6e4,rh=36e5,pk=1e3,cg=Symbol.for("constructDateFrom");function tr(t,e){return typeof t=="function"?t(e):t&&typeof t=="object"&&cg in t?t[cg](e):t instanceof Date?new t.constructor(e):new Date(e)}function Cn(t,e){return tr(e||t,t)}let fk={};function aa(){return fk}function Go(t,e){var n,r,u,d;const p=aa(),w=(e==null?void 0:e.weekStartsOn)??((r=(n=e==null?void 0:e.locale)==null?void 0:n.options)==null?void 0:r.weekStartsOn)??p.weekStartsOn??((d=(u=p.locale)==null?void 0:u.options)==null?void 0:d.weekStartsOn)??0,f=Cn(t,e==null?void 0:e.in),g=f.getDay(),s=(g<w?7:0)+g-w;return f.setDate(f.getDate()-s),f.setHours(0,0,0,0),f}function la(t,e){return Go(t,{...e,weekStartsOn:1})}function ug(t,e){const n=Cn(t,void 0),r=n.getFullYear(),u=tr(n,0);u.setFullYear(r+1,0,4),u.setHours(0,0,0,0);const d=la(u),p=tr(n,0);p.setFullYear(r,0,4),p.setHours(0,0,0,0);const w=la(p);return n.getTime()>=d.getTime()?r+1:n.getTime()>=w.getTime()?r:r-1}function Jl(t){const e=Cn(t),n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return n.setUTCFullYear(e.getFullYear()),+t-+n}function gk(t,...e){const n=tr.bind(null,e.find(r=>typeof r=="object"));return e.map(n)}function hg(t,e){const n=Cn(t,void 0);return n.setHours(0,0,0,0),n}function mk(t,e,n){const[r,u]=gk(void 0,t,e),d=hg(r),p=hg(u),w=+d-Jl(d),f=+p-Jl(p);return Math.round((w-f)/864e5)}function yk(t,e){const n=ug(t),r=tr(t,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),la(r)}function vk(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function dg(t){return!(!vk(t)&&typeof t!="number"||isNaN(+Cn(t)))}function wk(t,e){const n=Cn(t,void 0);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const bk={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},xk=(t,e,n)=>{let r;const u=bk[t];return typeof u=="string"?r=u:e===1?r=u.one:r=u.other.replace("{{count}}",e.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ih(t){return(e={})=>{const n=e.width?String(e.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}const kk={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},_k={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Sk={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Ck={date:ih({formats:kk,defaultWidth:"full"}),time:ih({formats:_k,defaultWidth:"full"}),dateTime:ih({formats:Sk,defaultWidth:"full"})},Tk={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},$k=(t,e,n,r)=>Tk[t];function Ya(t){return(e,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let u;if(r==="formatting"&&t.formattingValues){const p=t.defaultFormattingWidth||t.defaultWidth,w=n!=null&&n.width?String(n.width):p;u=t.formattingValues[w]||t.formattingValues[p]}else{const p=t.defaultWidth,w=n!=null&&n.width?String(n.width):t.defaultWidth;u=t.values[w]||t.values[p]}const d=t.argumentCallback?t.argumentCallback(e):e;return u[d]}}const Ak={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Rk={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ek={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Mk={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Lk={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Ok={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Ik=(t,e)=>{const n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Nk={ordinalNumber:Ik,era:Ya({values:Ak,defaultWidth:"wide"}),quarter:Ya({values:Rk,defaultWidth:"wide",argumentCallback:t=>t-1}),month:Ya({values:Ek,defaultWidth:"wide"}),day:Ya({values:Mk,defaultWidth:"wide"}),dayPeriod:Ya({values:Lk,defaultWidth:"wide",formattingValues:Ok,defaultFormattingWidth:"wide"})};function Xa(t){return(e,n={})=>{const r=n.width,u=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],d=e.match(u);if(!d)return null;const p=d[0],w=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],f=Array.isArray(w)?Fk(w,a=>a.test(p)):Dk(w,a=>a.test(p));let g;g=t.valueCallback?t.valueCallback(f):f,g=n.valueCallback?n.valueCallback(g):g;const s=e.slice(p.length);return{value:g,rest:s}}}function Dk(t,e){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return n}function Fk(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n}function Pk(t){return(e,n={})=>{const r=e.match(t.matchPattern);if(!r)return null;const u=r[0],d=e.match(t.parsePattern);if(!d)return null;let p=t.valueCallback?t.valueCallback(d[0]):d[0];p=n.valueCallback?n.valueCallback(p):p;const w=e.slice(u.length);return{value:p,rest:w}}}const Bk=/^(\d+)(th|st|nd|rd)?/i,jk=/\d+/i,Wk={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},zk={any:[/^b/i,/^(a|c)/i]},Hk={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Uk={any:[/1/i,/2/i,/3/i,/4/i]},qk={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Vk={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Kk={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Gk={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Yk={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Xk={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Qk={ordinalNumber:Pk({matchPattern:Bk,parsePattern:jk,valueCallback:t=>parseInt(t,10)}),era:Xa({matchPatterns:Wk,defaultMatchWidth:"wide",parsePatterns:zk,defaultParseWidth:"any"}),quarter:Xa({matchPatterns:Hk,defaultMatchWidth:"wide",parsePatterns:Uk,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Xa({matchPatterns:qk,defaultMatchWidth:"wide",parsePatterns:Vk,defaultParseWidth:"any"}),day:Xa({matchPatterns:Kk,defaultMatchWidth:"wide",parsePatterns:Gk,defaultParseWidth:"any"}),dayPeriod:Xa({matchPatterns:Yk,defaultMatchWidth:"any",parsePatterns:Xk,defaultParseWidth:"any"})},pg={code:"en-US",formatDistance:xk,formatLong:Ck,formatRelative:$k,localize:Nk,match:Qk,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Zk(t,e){const n=Cn(t,void 0);return mk(n,wk(n))+1}function fg(t,e){const n=Cn(t,void 0),r=+la(n)-+yk(n);return Math.round(r/6048e5)+1}function oh(t,e){var n,r,u,d;const p=Cn(t,e==null?void 0:e.in),w=p.getFullYear(),f=aa(),g=(e==null?void 0:e.firstWeekContainsDate)??((r=(n=e==null?void 0:e.locale)==null?void 0:n.options)==null?void 0:r.firstWeekContainsDate)??f.firstWeekContainsDate??((d=(u=f.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,s=tr((e==null?void 0:e.in)||t,0);s.setFullYear(w+1,0,g),s.setHours(0,0,0,0);const a=Go(s,e),h=tr((e==null?void 0:e.in)||t,0);h.setFullYear(w,0,g),h.setHours(0,0,0,0);const c=Go(h,e);return+p>=+a?w+1:+p>=+c?w:w-1}function Jk(t,e){var n,r,u,d;const p=aa(),w=(e==null?void 0:e.firstWeekContainsDate)??((r=(n=e==null?void 0:e.locale)==null?void 0:n.options)==null?void 0:r.firstWeekContainsDate)??p.firstWeekContainsDate??((d=(u=p.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,f=oh(t,e),g=tr((e==null?void 0:e.in)||t,0);return g.setFullYear(f,0,w),g.setHours(0,0,0,0),Go(g,e)}function gg(t,e){const n=Cn(t,e==null?void 0:e.in),r=+Go(n,e)-+Jk(n,e);return Math.round(r/6048e5)+1}function hn(t,e){const n=t<0?"-":"",r=Math.abs(t).toString().padStart(e,"0");return n+r}const Yo={y(t,e){const n=t.getFullYear(),r=n>0?n:1-n;return hn(e==="yy"?r%100:r,e.length)},M(t,e){const n=t.getMonth();return e==="M"?String(n+1):hn(n+1,2)},d(t,e){return hn(t.getDate(),e.length)},a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(t,e){return hn(t.getHours()%12||12,e.length)},H(t,e){return hn(t.getHours(),e.length)},m(t,e){return hn(t.getMinutes(),e.length)},s(t,e){return hn(t.getSeconds(),e.length)},S(t,e){const n=e.length,r=t.getMilliseconds(),u=Math.trunc(r*Math.pow(10,n-3));return hn(u,e.length)}},ca={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},mg={G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if(e==="yo"){const r=t.getFullYear(),u=r>0?r:1-r;return n.ordinalNumber(u,{unit:"year"})}return Yo.y(t,e)},Y:function(t,e,n,r){const u=oh(t,r),d=u>0?u:1-u;if(e==="YY"){const p=d%100;return hn(p,2)}return e==="Yo"?n.ordinalNumber(d,{unit:"year"}):hn(d,e.length)},R:function(t,e){const n=ug(t);return hn(n,e.length)},u:function(t,e){const n=t.getFullYear();return hn(n,e.length)},Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return hn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return hn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return Yo.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){const r=t.getMonth();switch(e){case"L":return String(r+1);case"LL":return hn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){const u=gg(t,r);return e==="wo"?n.ordinalNumber(u,{unit:"week"}):hn(u,e.length)},I:function(t,e,n){const r=fg(t);return e==="Io"?n.ordinalNumber(r,{unit:"week"}):hn(r,e.length)},d:function(t,e,n){return e==="do"?n.ordinalNumber(t.getDate(),{unit:"date"}):Yo.d(t,e)},D:function(t,e,n){const r=Zk(t);return e==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):hn(r,e.length)},E:function(t,e,n){const r=t.getDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){const u=t.getDay(),d=(u-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(d);case"ee":return hn(d,2);case"eo":return n.ordinalNumber(d,{unit:"day"});case"eee":return n.day(u,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(u,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(u,{width:"short",context:"formatting"});case"eeee":default:return n.day(u,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){const u=t.getDay(),d=(u-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(d);case"cc":return hn(d,e.length);case"co":return n.ordinalNumber(d,{unit:"day"});case"ccc":return n.day(u,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(u,{width:"narrow",context:"standalone"});case"cccccc":return n.day(u,{width:"short",context:"standalone"});case"cccc":default:return n.day(u,{width:"wide",context:"standalone"})}},i:function(t,e,n){const r=t.getDay(),u=r===0?7:r;switch(e){case"i":return String(u);case"ii":return hn(u,e.length);case"io":return n.ordinalNumber(u,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){const r=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(t,e,n){const r=t.getHours();let u;switch(r===12?u=ca.noon:r===0?u=ca.midnight:u=r/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(u,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(u,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(u,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(u,{width:"wide",context:"formatting"})}},B:function(t,e,n){const r=t.getHours();let u;switch(r>=17?u=ca.evening:r>=12?u=ca.afternoon:r>=4?u=ca.morning:u=ca.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(u,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(u,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(u,{width:"wide",context:"formatting"})}},h:function(t,e,n){if(e==="ho"){let r=t.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Yo.h(t,e)},H:function(t,e,n){return e==="Ho"?n.ordinalNumber(t.getHours(),{unit:"hour"}):Yo.H(t,e)},K:function(t,e,n){const r=t.getHours()%12;return e==="Ko"?n.ordinalNumber(r,{unit:"hour"}):hn(r,e.length)},k:function(t,e,n){let r=t.getHours();return r===0&&(r=24),e==="ko"?n.ordinalNumber(r,{unit:"hour"}):hn(r,e.length)},m:function(t,e,n){return e==="mo"?n.ordinalNumber(t.getMinutes(),{unit:"minute"}):Yo.m(t,e)},s:function(t,e,n){return e==="so"?n.ordinalNumber(t.getSeconds(),{unit:"second"}):Yo.s(t,e)},S:function(t,e){return Yo.S(t,e)},X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return vg(r);case"XXXX":case"XX":return _s(r);case"XXXXX":case"XXX":default:return _s(r,":")}},x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"x":return vg(r);case"xxxx":case"xx":return _s(r);case"xxxxx":case"xxx":default:return _s(r,":")}},O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+yg(r,":");case"OOOO":default:return"GMT"+_s(r,":")}},z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+yg(r,":");case"zzzz":default:return"GMT"+_s(r,":")}},t:function(t,e,n){const r=Math.trunc(+t/1e3);return hn(r,e.length)},T:function(t,e,n){return hn(+t,e.length)}};function yg(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),u=Math.trunc(r/60),d=r%60;return d===0?n+String(u):n+String(u)+e+hn(d,2)}function vg(t,e){return t%60===0?(t>0?"-":"+")+hn(Math.abs(t)/60,2):_s(t,e)}function _s(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),u=hn(Math.trunc(r/60),2),d=hn(r%60,2);return n+u+e+d}const wg=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},bg=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},e_=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[],r=n[1],u=n[2];if(!u)return wg(t,e);let d;switch(r){case"P":d=e.dateTime({width:"short"});break;case"PP":d=e.dateTime({width:"medium"});break;case"PPP":d=e.dateTime({width:"long"});break;case"PPPP":default:d=e.dateTime({width:"full"});break}return d.replace("{{date}}",wg(r,e)).replace("{{time}}",bg(u,e))},sh={p:bg,P:e_},t_=/^D+$/,n_=/^Y+$/,r_=["D","DD","YY","YYYY"];function xg(t){return t_.test(t)}function kg(t){return n_.test(t)}function ah(t,e,n){const r=i_(t,e,n);if(console.warn(r),r_.includes(t))throw new RangeError(r)}function i_(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const o_=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,s_=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,a_=/^'([^]*?)'?$/,l_=/''/g,c_=/[a-zA-Z]/;function ua(t,e,n){var r,u,d,p,w,f,g,s;const a=aa(),h=(n==null?void 0:n.locale)??a.locale??pg,c=(n==null?void 0:n.firstWeekContainsDate)??((u=(r=n==null?void 0:n.locale)==null?void 0:r.options)==null?void 0:u.firstWeekContainsDate)??a.firstWeekContainsDate??((p=(d=a.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??1,i=(n==null?void 0:n.weekStartsOn)??((f=(w=n==null?void 0:n.locale)==null?void 0:w.options)==null?void 0:f.weekStartsOn)??a.weekStartsOn??((s=(g=a.locale)==null?void 0:g.options)==null?void 0:s.weekStartsOn)??0,l=Cn(t,n==null?void 0:n.in);if(!dg(l))throw new RangeError("Invalid time value");let m=e.match(s_).map(x=>{const M=x[0];if(M==="p"||M==="P"){const A=sh[M];return A(x,h.formatLong)}return x}).join("").match(o_).map(x=>{if(x==="''")return{isToken:!1,value:"'"};const M=x[0];if(M==="'")return{isToken:!1,value:u_(x)};if(mg[M])return{isToken:!0,value:x};if(M.match(c_))throw new RangeError("Format string contains an unescaped latin alphabet character `"+M+"`");return{isToken:!1,value:x}});h.localize.preprocessor&&(m=h.localize.preprocessor(l,m));const b={firstWeekContainsDate:c,weekStartsOn:i,locale:h};return m.map(x=>{if(!x.isToken)return x.value;const M=x.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&kg(M)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&xg(M))&&ah(M,e,String(t));const A=mg[M[0]];return A(l,M,h.localize,b)}).join("")}function u_(t){const e=t.match(a_);return e?e[1].replace(l_,"'"):t}var Xo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ec(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var _g={exports:{}},Sg;function h_(){return Sg||(Sg=1,function(t,e){(function(){var n="ace",r=function(){return this}();!r&&typeof window<"u"&&(r=window);var u=function(s,a,h){if(typeof s!="string"){u.original?u.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(h=a),u.modules[s]||(u.payloads[s]=h,u.modules[s]=null)};u.modules={},u.payloads={};var d=function(s,a,h){if(typeof a=="string"){var c=f(s,a);if(c!=null)return h&&h(),c}else if(Object.prototype.toString.call(a)==="[object Array]"){for(var i=[],l=0,m=a.length;l<m;++l){var b=f(s,a[l]);if(b==null&&p.original)return;i.push(b)}return h&&h.apply(null,i)||!0}},p=function(s,a){var h=d("",s,a);return h==null&&p.original?p.original.apply(this,arguments):h},w=function(s,a){if(a.indexOf("!")!==-1){var h=a.split("!");return w(s,h[0])+"!"+w(s,h[1])}if(a.charAt(0)=="."){var c=s.split("/").slice(0,-1).join("/");for(a=c+"/"+a;a.indexOf(".")!==-1&&i!=a;){var i=a;a=a.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return a},f=function(s,a){a=w(s,a);var h=u.modules[a];if(!h){if(h=u.payloads[a],typeof h=="function"){var c={},i={id:a,uri:"",exports:c,packaged:!0},l=function(b,x){return d(a,b,x)},m=h(l,c,i);c=m||i.exports,u.modules[a]=c,delete u.payloads[a]}h=u.modules[a]=c||h}return h};function g(s){var a=r;r[s]||(r[s]={}),a=r[s],(!a.define||!a.define.packaged)&&(u.original=a.define,a.define=u,a.define.packaged=!0),(!a.require||!a.require.packaged)&&(p.original=a.require,a.require=p,a.require.packaged=!0)}g(n)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(n,r,u){function d(p,w,f){Object.defineProperty(p,w,{value:f,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||d(String.prototype,"startsWith",function(p,w){return w=w||0,this.lastIndexOf(p,w)===w}),String.prototype.endsWith||d(String.prototype,"endsWith",function(p,w){var f=this;(w===void 0||w>f.length)&&(w=f.length),w-=p.length;var g=f.indexOf(p,w);return g!==-1&&g===w}),String.prototype.repeat||d(String.prototype,"repeat",function(p){for(var w="",f=this;p>0;)p&1&&(w+=f),(p>>=1)&&(f+=f);return w}),String.prototype.includes||d(String.prototype,"includes",function(p,w){return this.indexOf(p,w)!=-1}),Object.assign||(Object.assign=function(p){if(p==null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(p),f=1;f<arguments.length;f++){var g=arguments[f];g!=null&&Object.keys(g).forEach(function(s){w[s]=g[s]})}return w}),Object.values||(Object.values=function(p){return Object.keys(p).map(function(w){return p[w]})}),Array.prototype.find||d(Array.prototype,"find",function(p){for(var w=this.length,f=arguments[1],g=0;g<w;g++){var s=this[g];if(p.call(f,s,g,this))return s}}),Array.prototype.findIndex||d(Array.prototype,"findIndex",function(p){for(var w=this.length,f=arguments[1],g=0;g<w;g++){var s=this[g];if(p.call(f,s,g,this))return g}}),Array.prototype.includes||d(Array.prototype,"includes",function(p,w){return this.indexOf(p,w)!=-1}),Array.prototype.fill||d(Array.prototype,"fill",function(p){for(var w=this,f=w.length>>>0,g=arguments[1],s=g>>0,a=s<0?Math.max(f+s,0):Math.min(s,f),h=arguments[2],c=h===void 0?f:h>>0,i=c<0?Math.max(f+c,0):Math.min(c,f);a<i;)w[a]=p,a++;return w}),Array.of||d(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(n,r,u){n("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(n,r,u){r.deepCopy=function d(p){if(typeof p!="object"||!p)return p;var w;if(Array.isArray(p)){w=[];for(var f=0;f<p.length;f++)w[f]=d(p[f]);return w}if(Object.prototype.toString.call(p)!=="[object Object]")return p;w={};for(var f in p)w[f]=d(p[f]);return w}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(n,r,u){r.last=function(w){return w[w.length-1]},r.stringReverse=function(w){return w.split("").reverse().join("")},r.stringRepeat=function(w,f){for(var g="";f>0;)f&1&&(g+=w),(f>>=1)&&(w+=w);return g};var d=/^\s\s*/,p=/\s\s*$/;r.stringTrimLeft=function(w){return w.replace(d,"")},r.stringTrimRight=function(w){return w.replace(p,"")},r.copyObject=function(w){var f={};for(var g in w)f[g]=w[g];return f},r.copyArray=function(w){for(var f=[],g=0,s=w.length;g<s;g++)w[g]&&typeof w[g]=="object"?f[g]=this.copyObject(w[g]):f[g]=w[g];return f},r.deepCopy=n("./deep_copy").deepCopy,r.arrayToMap=function(w){for(var f={},g=0;g<w.length;g++)f[w[g]]=1;return f},r.createMap=function(w){var f=Object.create(null);for(var g in w)f[g]=w[g];return f},r.arrayRemove=function(w,f){for(var g=0;g<=w.length;g++)f===w[g]&&w.splice(g,1)},r.escapeRegExp=function(w){return w.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},r.escapeHTML=function(w){return(""+w).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},r.getMatchOffsets=function(w,f){var g=[];return w.replace(f,function(s){g.push({offset:arguments[arguments.length-2],length:s.length})}),g},r.deferredCall=function(w){var f=null,g=function(){f=null,w()},s=function(a){return s.cancel(),f=setTimeout(g,a||0),s};return s.schedule=s,s.call=function(){return this.cancel(),w(),s},s.cancel=function(){return clearTimeout(f),f=null,s},s.isPending=function(){return f},s},r.delayedCall=function(w,f){var g=null,s=function(){g=null,w()},a=function(h){g==null&&(g=setTimeout(s,h||f))};return a.delay=function(h){g&&clearTimeout(g),g=setTimeout(s,h||f)},a.schedule=a,a.call=function(){this.cancel(),w()},a.cancel=function(){g&&clearTimeout(g),g=null},a.isPending=function(){return g},a},r.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},r.skipEmptyMatch=function(w,f,g){return g&&w.codePointAt(f)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(n,r,u){r.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},r.getOS=function(){return r.isMac?r.OS.MAC:r.isLinux?r.OS.LINUX:r.OS.WINDOWS};var d=typeof navigator=="object"?navigator:{},p=(/mac|win|linux/i.exec(d.platform)||["other"])[0].toLowerCase(),w=d.userAgent||"",f=d.appName||"";r.isWin=p=="win",r.isMac=p=="mac",r.isLinux=p=="linux",r.isIE=f=="Microsoft Internet Explorer"||f.indexOf("MSAppHost")>=0?parseFloat((w.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((w.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),r.isOldIE=r.isIE&&r.isIE<9,r.isGecko=r.isMozilla=w.match(/ Gecko\/\d+/),r.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",r.isWebKit=parseFloat(w.split("WebKit/")[1])||void 0,r.isChrome=parseFloat(w.split(" Chrome/")[1])||void 0,r.isSafari=parseFloat(w.split(" Safari/")[1])&&!r.isChrome||void 0,r.isEdge=parseFloat(w.split(" Edge/")[1])||void 0,r.isAIR=w.indexOf("AdobeAIR")>=0,r.isAndroid=w.indexOf("Android")>=0,r.isChromeOS=w.indexOf(" CrOS ")>=0,r.isIOS=/iPad|iPhone|iPod/.test(w)&&!window.MSStream,r.isIOS&&(r.isMac=!0),r.isMobile=r.isIOS||r.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(n,r,u){var d=n("./useragent"),p="http://www.w3.org/1999/xhtml";r.buildDom=function h(c,i,l){if(typeof c=="string"&&c){var m=document.createTextNode(c);return i&&i.appendChild(m),m}if(!Array.isArray(c))return c&&c.appendChild&&i&&i.appendChild(c),c;if(typeof c[0]!="string"||!c[0]){for(var b=[],x=0;x<c.length;x++){var M=h(c[x],i,l);M&&b.push(M)}return b}var A=document.createElement(c[0]),_=c[1],k=1;_&&typeof _=="object"&&!Array.isArray(_)&&(k=2);for(var x=k;x<c.length;x++)h(c[x],A,l);return k==2&&Object.keys(_).forEach(function(E){var O=_[E];E==="class"?A.className=Array.isArray(O)?O.join(" "):O:typeof O=="function"||E=="value"||E[0]=="$"?A[E]=O:E==="ref"?l&&(l[O]=A):E==="style"?typeof O=="string"&&(A.style.cssText=O):O!=null&&A.setAttribute(E,O)}),i&&i.appendChild(A),A},r.getDocumentHead=function(h){return h||(h=document),h.head||h.getElementsByTagName("head")[0]||h.documentElement},r.createElement=function(h,c){return document.createElementNS?document.createElementNS(c||p,h):document.createElement(h)},r.removeChildren=function(h){h.innerHTML=""},r.createTextNode=function(h,c){var i=c?c.ownerDocument:document;return i.createTextNode(h)},r.createFragment=function(h){var c=h?h.ownerDocument:document;return c.createDocumentFragment()},r.hasCssClass=function(h,c){var i=(h.className+"").split(/\s+/g);return i.indexOf(c)!==-1},r.addCssClass=function(h,c){r.hasCssClass(h,c)||(h.className+=" "+c)},r.removeCssClass=function(h,c){for(var i=h.className.split(/\s+/g);;){var l=i.indexOf(c);if(l==-1)break;i.splice(l,1)}h.className=i.join(" ")},r.toggleCssClass=function(h,c){for(var i=h.className.split(/\s+/g),l=!0;;){var m=i.indexOf(c);if(m==-1)break;l=!1,i.splice(m,1)}return l&&i.push(c),h.className=i.join(" "),l},r.setCssClass=function(h,c,i){i?r.addCssClass(h,c):r.removeCssClass(h,c)},r.hasCssString=function(h,c){var i=0,l;if(c=c||document,l=c.querySelectorAll("style")){for(;i<l.length;)if(l[i++].id===h)return!0}},r.removeElementById=function(h,c){c=c||document,c.getElementById(h)&&c.getElementById(h).remove()};var w,f=[];r.useStrictCSP=function(h){w=h,h==!1?g():f||(f=[])};function g(){var h=f;f=null,h&&h.forEach(function(c){s(c[0],c[1])})}function s(h,c,i){if(!(typeof document>"u")){if(f){if(i)g();else if(i===!1)return f.push([h,c])}if(!w){var l=i;!i||!i.getRootNode?l=document:(l=i.getRootNode(),(!l||l==i)&&(l=document));var m=l.ownerDocument||l;if(c&&r.hasCssString(c,l))return null;c&&(h+=`
8
+ /*# sourceURL=ace/css/`+c+" */");var b=r.createElement("style");b.appendChild(m.createTextNode(h)),c&&(b.id=c),l==m&&(l=r.getDocumentHead(m)),l.insertBefore(b,l.firstChild)}}}if(r.importCssString=s,r.importCssStylsheet=function(h,c){r.buildDom(["link",{rel:"stylesheet",href:h}],r.getDocumentHead(c))},r.scrollbarWidth=function(h){var c=r.createElement("ace_inner");c.style.width="100%",c.style.minWidth="0px",c.style.height="200px",c.style.display="block";var i=r.createElement("ace_outer"),l=i.style;l.position="absolute",l.left="-10000px",l.overflow="hidden",l.width="200px",l.minWidth="0px",l.height="150px",l.display="block",i.appendChild(c);var m=h&&h.documentElement||document&&document.documentElement;if(!m)return 0;m.appendChild(i);var b=c.offsetWidth;l.overflow="scroll";var x=c.offsetWidth;return b===x&&(x=i.clientWidth),m.removeChild(i),b-x},r.computedStyle=function(h,c){return window.getComputedStyle(h,"")||{}},r.setStyle=function(h,c,i){h[c]!==i&&(h[c]=i)},r.HAS_CSS_ANIMATION=!1,r.HAS_CSS_TRANSFORMS=!1,r.HI_DPI=d.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,d.isChromeOS&&(r.HI_DPI=!1),typeof document<"u"){var a=document.createElement("div");r.HI_DPI&&a.style.transform!==void 0&&(r.HAS_CSS_TRANSFORMS=!0),!d.isEdge&&typeof a.style.animationName<"u"&&(r.HAS_CSS_ANIMATION=!0),a=null}r.HAS_CSS_TRANSFORMS?r.translate=function(h,c,i){h.style.transform="translate("+Math.round(c)+"px, "+Math.round(i)+"px)"}:r.translate=function(h,c,i){h.style.top=Math.round(i)+"px",h.style.left=Math.round(c)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(n,r,u){/*
9
+ * based on code from:
10
+ *
11
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
12
+ * Available via the MIT or new BSD license.
13
+ * see: http://github.com/jrburke/requirejs for details
14
+ */var d=n("./dom");r.get=function(p,w){var f=new XMLHttpRequest;f.open("GET",p,!0),f.onreadystatechange=function(){f.readyState===4&&w(f.responseText)},f.send(null)},r.loadScript=function(p,w){var f=d.getDocumentHead(),g=document.createElement("script");g.src=p,f.appendChild(g),g.onload=g.onreadystatechange=function(s,a){(a||!g.readyState||g.readyState=="loaded"||g.readyState=="complete")&&(g=g.onload=g.onreadystatechange=null,a||w())}},r.qualifyURL=function(p){var w=document.createElement("a");return w.href=p,w.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(n,r,u){r.inherits=function(d,p){d.super_=p,d.prototype=Object.create(p.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}})},r.mixin=function(d,p){for(var w in p)d[w]=p[w];return d},r.implement=function(d,p){r.mixin(d,p)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(n,r,u){var d={},p=function(){this.propagationStopped=!0},w=function(){this.defaultPrevented=!0};d._emit=d._dispatchEvent=function(f,g){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var s=this._eventRegistry[f]||[],a=this._defaultHandlers[f];if(!(!s.length&&!a)){(typeof g!="object"||!g)&&(g={}),g.type||(g.type=f),g.stopPropagation||(g.stopPropagation=p),g.preventDefault||(g.preventDefault=w),s=s.slice();for(var h=0;h<s.length&&(s[h](g,this),!g.propagationStopped);h++);if(a&&!g.defaultPrevented)return a(g,this)}},d._signal=function(f,g){var s=(this._eventRegistry||{})[f];if(s){s=s.slice();for(var a=0;a<s.length;a++)s[a](g,this)}},d.once=function(f,g){var s=this;if(this.on(f,function a(){s.off(f,a),g.apply(null,arguments)}),!g)return new Promise(function(a){g=a})},d.setDefaultHandler=function(f,g){var s=this._defaultHandlers;if(s||(s=this._defaultHandlers={_disabled_:{}}),s[f]){var a=s[f],h=s._disabled_[f];h||(s._disabled_[f]=h=[]),h.push(a);var c=h.indexOf(g);c!=-1&&h.splice(c,1)}s[f]=g},d.removeDefaultHandler=function(f,g){var s=this._defaultHandlers;if(s){var a=s._disabled_[f];if(s[f]==g)a&&this.setDefaultHandler(f,a.pop());else if(a){var h=a.indexOf(g);h!=-1&&a.splice(h,1)}}},d.on=d.addEventListener=function(f,g,s){this._eventRegistry=this._eventRegistry||{};var a=this._eventRegistry[f];return a||(a=this._eventRegistry[f]=[]),a.indexOf(g)==-1&&a[s?"unshift":"push"](g),g},d.off=d.removeListener=d.removeEventListener=function(f,g){this._eventRegistry=this._eventRegistry||{};var s=this._eventRegistry[f];if(s){var a=s.indexOf(g);a!==-1&&s.splice(a,1)}},d.removeAllListeners=function(f){f||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[f]=void 0),this._defaultHandlers&&(this._defaultHandlers[f]=void 0)},r.EventEmitter=d}),ace.define("ace/lib/report_error",["require","exports","module"],function(n,r,u){r.reportError=function(d,p){var w=new Error(d);w.data=p,typeof console=="object"&&console.error&&console.error(w),setTimeout(function(){throw w})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(n,r,u){var d={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};r.defaultEnglishMessages=d}),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(n,r,u){"no use strict";var d=n("./oop"),p=n("./event_emitter").EventEmitter,w=n("./report_error").reportError,f=n("./default_english_messages").defaultEnglishMessages,g={setOptions:function(i){Object.keys(i).forEach(function(l){this.setOption(l,i[l])},this)},getOptions:function(i){var l={};if(i)Array.isArray(i)||(l=i,i=Object.keys(l));else{var m=this.$options;i=Object.keys(m).filter(function(b){return!m[b].hidden})}return i.forEach(function(b){l[b]=this.getOption(b)},this),l},setOption:function(i,l){if(this["$"+i]!==l){var m=this.$options[i];if(!m)return s('misspelled option "'+i+'"');if(m.forwardTo)return this[m.forwardTo]&&this[m.forwardTo].setOption(i,l);m.handlesSet||(this["$"+i]=l),m&&m.set&&m.set.call(this,l)}},getOption:function(i){var l=this.$options[i];return l?l.forwardTo?this[l.forwardTo]&&this[l.forwardTo].getOption(i):l&&l.get?l.get.call(this):this["$"+i]:s('misspelled option "'+i+'"')}};function s(i){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var a,h,c=function(){function i(){this.$defaultOptions={},a=f,h="dollarSigns"}return i.prototype.defineOptions=function(l,m,b){return l.$options||(this.$defaultOptions[m]=l.$options={}),Object.keys(b).forEach(function(x){var M=b[x];typeof M=="string"&&(M={forwardTo:M}),M.name||(M.name=x),l.$options[M.name]=M,"initialValue"in M&&(l["$"+M.name]=M.initialValue)}),d.implement(l,g),this},i.prototype.resetOptions=function(l){Object.keys(l.$options).forEach(function(m){var b=l.$options[m];"value"in b&&l.setOption(m,b.value)})},i.prototype.setDefaultValue=function(l,m,b){if(!l){for(l in this.$defaultOptions)if(this.$defaultOptions[l][m])break;if(!this.$defaultOptions[l][m])return!1}var x=this.$defaultOptions[l]||(this.$defaultOptions[l]={});x[m]&&(x.forwardTo?this.setDefaultValue(x.forwardTo,m,b):x[m].value=b)},i.prototype.setDefaultValues=function(l,m){Object.keys(m).forEach(function(b){this.setDefaultValue(l,b,m[b])},this)},i.prototype.setMessages=function(l,m){a=l,m&&m.placeholders&&(h=m.placeholders)},i.prototype.nls=function(l,m,b){a[l]||(s("No message found for the key '"+l+"' in messages with id "+a.$id+", trying to find a translation for the default string '"+m+"'."),a[m]||s("No message found for the default string '"+m+"' in the provided messages. Falling back to the default English message."));var x=a[l]||a[m]||m;return b&&(h==="dollarSigns"&&(x=x.replace(/\$(\$|[\d]+)/g,function(M,A){return A=="$"?"$":b[A]})),h==="curlyBrackets"&&(x=x.replace(/\{([^\}]+)\}/g,function(M,A){return b[A]}))),x},i}();c.prototype.warn=s,c.prototype.reportError=w,d.implement(c.prototype,p),r.AppConfig=c}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(n,r,u){u.exports=`.ace-tm .ace_gutter {
15
+ background: #f0f0f0;
16
+ color: #333;
17
+ }
18
+
19
+ .ace-tm .ace_print-margin {
20
+ width: 1px;
21
+ background: #e8e8e8;
22
+ }
23
+
24
+ .ace-tm .ace_fold {
25
+ background-color: #6B72E6;
26
+ }
27
+
28
+ .ace-tm {
29
+ background-color: #FFFFFF;
30
+ color: black;
31
+ }
32
+
33
+ .ace-tm .ace_cursor {
34
+ color: black;
35
+ }
36
+
37
+ .ace-tm .ace_invisible {
38
+ color: rgb(191, 191, 191);
39
+ }
40
+
41
+ .ace-tm .ace_storage,
42
+ .ace-tm .ace_keyword {
43
+ color: blue;
44
+ }
45
+
46
+ .ace-tm .ace_constant {
47
+ color: rgb(197, 6, 11);
48
+ }
49
+
50
+ .ace-tm .ace_constant.ace_buildin {
51
+ color: rgb(88, 72, 246);
52
+ }
53
+
54
+ .ace-tm .ace_constant.ace_language {
55
+ color: rgb(88, 92, 246);
56
+ }
57
+
58
+ .ace-tm .ace_constant.ace_library {
59
+ color: rgb(6, 150, 14);
60
+ }
61
+
62
+ .ace-tm .ace_invalid {
63
+ background-color: rgba(255, 0, 0, 0.1);
64
+ color: red;
65
+ }
66
+
67
+ .ace-tm .ace_support.ace_function {
68
+ color: rgb(60, 76, 114);
69
+ }
70
+
71
+ .ace-tm .ace_support.ace_constant {
72
+ color: rgb(6, 150, 14);
73
+ }
74
+
75
+ .ace-tm .ace_support.ace_type,
76
+ .ace-tm .ace_support.ace_class {
77
+ color: rgb(109, 121, 222);
78
+ }
79
+
80
+ .ace-tm .ace_keyword.ace_operator {
81
+ color: rgb(104, 118, 135);
82
+ }
83
+
84
+ .ace-tm .ace_string {
85
+ color: rgb(3, 106, 7);
86
+ }
87
+
88
+ .ace-tm .ace_comment {
89
+ color: rgb(76, 136, 107);
90
+ }
91
+
92
+ .ace-tm .ace_comment.ace_doc {
93
+ color: rgb(0, 102, 255);
94
+ }
95
+
96
+ .ace-tm .ace_comment.ace_doc.ace_tag {
97
+ color: rgb(128, 159, 191);
98
+ }
99
+
100
+ .ace-tm .ace_constant.ace_numeric {
101
+ color: rgb(0, 0, 205);
102
+ }
103
+
104
+ .ace-tm .ace_variable {
105
+ color: rgb(49, 132, 149);
106
+ }
107
+
108
+ .ace-tm .ace_xml-pe {
109
+ color: rgb(104, 104, 91);
110
+ }
111
+
112
+ .ace-tm .ace_entity.ace_name.ace_function {
113
+ color: #0000A2;
114
+ }
115
+
116
+
117
+ .ace-tm .ace_heading {
118
+ color: rgb(12, 7, 255);
119
+ }
120
+
121
+ .ace-tm .ace_list {
122
+ color:rgb(185, 6, 144);
123
+ }
124
+
125
+ .ace-tm .ace_meta.ace_tag {
126
+ color:rgb(0, 22, 142);
127
+ }
128
+
129
+ .ace-tm .ace_string.ace_regex {
130
+ color: rgb(255, 0, 0)
131
+ }
132
+
133
+ .ace-tm .ace_marker-layer .ace_selection {
134
+ background: rgb(181, 213, 255);
135
+ }
136
+ .ace-tm.ace_multiselect .ace_selection.ace_start {
137
+ box-shadow: 0 0 3px 0px white;
138
+ }
139
+ .ace-tm .ace_marker-layer .ace_step {
140
+ background: rgb(252, 255, 0);
141
+ }
142
+
143
+ .ace-tm .ace_marker-layer .ace_stack {
144
+ background: rgb(164, 229, 101);
145
+ }
146
+
147
+ .ace-tm .ace_marker-layer .ace_bracket {
148
+ margin: -1px 0 0 -1px;
149
+ border: 1px solid rgb(192, 192, 192);
150
+ }
151
+
152
+ .ace-tm .ace_marker-layer .ace_active-line {
153
+ background: rgba(0, 0, 0, 0.07);
154
+ }
155
+
156
+ .ace-tm .ace_gutter-active-line {
157
+ background-color : #dcdcdc;
158
+ }
159
+
160
+ .ace-tm .ace_marker-layer .ace_selected-word {
161
+ background: rgb(250, 250, 255);
162
+ border: 1px solid rgb(200, 200, 250);
163
+ }
164
+
165
+ .ace-tm .ace_indent-guide {
166
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
167
+ }
168
+
169
+ .ace-tm .ace_indent-guide-active {
170
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
171
+ }
172
+ `}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(n,r,u){r.isDark=!1,r.cssClass="ace-tm",r.cssText=n("./textmate-css"),r.$id="ace/theme/textmate";var d=n("../lib/dom");d.importCssString(r.cssText,r.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(n,r,u){"no use strict";var d=n("./lib/lang"),p=n("./lib/net"),w=n("./lib/dom"),f=n("./lib/app_config").AppConfig;u.exports=r=new f;var g={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};r.get=function(c){if(!g.hasOwnProperty(c))throw new Error("Unknown config key: "+c);return g[c]},r.set=function(c,i){if(g.hasOwnProperty(c))g[c]=i;else if(this.setDefaultValue("",c,i)==!1)throw new Error("Unknown config key: "+c);c=="useStrictCSP"&&w.useStrictCSP(i)},r.all=function(){return d.copyObject(g)},r.$modes={},r.moduleUrl=function(c,i){if(g.$moduleUrls[c])return g.$moduleUrls[c];var l=c.split("/");i=i||l[l.length-2]||"";var m=i=="snippets"?"/":"-",b=l[l.length-1];if(i=="worker"&&m=="-"){var x=new RegExp("^"+i+"[\\-_]|[\\-_]"+i+"$","g");b=b.replace(x,"")}(!b||b==i)&&l.length>1&&(b=l[l.length-2]);var M=g[i+"Path"];return M==null?M=g.basePath:m=="/"&&(i=m=""),M&&M.slice(-1)!="/"&&(M+="/"),M+i+m+b+this.get("suffix")},r.setModuleUrl=function(c,i){return g.$moduleUrls[c]=i};var s=function(c,i){if(c==="ace/theme/textmate"||c==="./theme/textmate")return i(null,n("./theme/textmate"));if(a)return a(c,i);console.error("loader is not configured")},a;r.setLoader=function(c){a=c},r.dynamicModules=Object.create(null),r.$loading={},r.$loaded={},r.loadModule=function(c,i){var l;if(Array.isArray(c))var m=c[0],b=c[1];else if(typeof c=="string")var b=c;var x=function(M){if(M&&!r.$loading[b])return i&&i(M);if(r.$loading[b]||(r.$loading[b]=[]),r.$loading[b].push(i),!(r.$loading[b].length>1)){var A=function(){s(b,function(_,k){k&&(r.$loaded[b]=k),r._emit("load.module",{name:b,module:k});var E=r.$loading[b];r.$loading[b]=null,E.forEach(function(O){O&&O(k)})})};if(!r.get("packaged"))return A();p.loadScript(r.moduleUrl(b,m),A),h()}};if(r.dynamicModules[b])r.dynamicModules[b]().then(function(M){M.default?x(M.default):x(M)});else{try{l=this.$require(b)}catch{}x(l||r.$loaded[b])}},r.$require=function(c){if(typeof u.require=="function"){var i="require";return u[i](c)}},r.setModuleLoader=function(c,i){r.dynamicModules[c]=i};var h=function(){!g.basePath&&!g.workerPath&&!g.modePath&&!g.themePath&&!Object.keys(g.$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"),h=function(){})};r.version="1.39.1"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(n,r,u){n("./lib/fixoldbrowsers");var d=n("./config");d.setLoader(function(g,s){n([g],function(a){s(null,a)})});var p=function(){return this||typeof window<"u"&&window}();u.exports=function(g){d.init=w,d.$require=n,g.require=n},w(!0);function w(g){if(!(!p||!p.document)){d.set("packaged",g||n.packaged||u.packaged||p.define&&(void 0).packaged);var s={},a="",h=document.currentScript||document._currentScript,c=h&&h.ownerDocument||document;h&&h.src&&(a=h.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var i=c.getElementsByTagName("script"),l=0;l<i.length;l++){var m=i[l],b=m.src||m.getAttribute("src");if(b){for(var x=m.attributes,M=0,A=x.length;M<A;M++){var _=x[M];_.name.indexOf("data-ace-")===0&&(s[f(_.name.replace(/^data-ace-/,""))]=_.value)}var k=b.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);k&&(a=k[1])}}a&&(s.base=s.base||a,s.packaged=!0),s.basePath=s.base,s.workerPath=s.workerPath||s.base,s.modePath=s.modePath||s.base,s.themePath=s.themePath||s.base,delete s.base;for(var E in s)typeof s[E]<"u"&&d.set(E,s[E])}}function f(g){return g.replace(/-(.)/g,function(s,a){return a.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(n,r,u){var d=function(){function p(w,f,g,s){this.start={row:w,column:f},this.end={row:g,column:s}}return p.prototype.isEqual=function(w){return this.start.row===w.start.row&&this.end.row===w.end.row&&this.start.column===w.start.column&&this.end.column===w.end.column},p.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},p.prototype.contains=function(w,f){return this.compare(w,f)==0},p.prototype.compareRange=function(w){var f,g=w.end,s=w.start;return f=this.compare(g.row,g.column),f==1?(f=this.compare(s.row,s.column),f==1?2:f==0?1:0):f==-1?-2:(f=this.compare(s.row,s.column),f==-1?-1:f==1?42:0)},p.prototype.comparePoint=function(w){return this.compare(w.row,w.column)},p.prototype.containsRange=function(w){return this.comparePoint(w.start)==0&&this.comparePoint(w.end)==0},p.prototype.intersects=function(w){var f=this.compareRange(w);return f==-1||f==0||f==1},p.prototype.isEnd=function(w,f){return this.end.row==w&&this.end.column==f},p.prototype.isStart=function(w,f){return this.start.row==w&&this.start.column==f},p.prototype.setStart=function(w,f){typeof w=="object"?(this.start.column=w.column,this.start.row=w.row):(this.start.row=w,this.start.column=f)},p.prototype.setEnd=function(w,f){typeof w=="object"?(this.end.column=w.column,this.end.row=w.row):(this.end.row=w,this.end.column=f)},p.prototype.inside=function(w,f){return this.compare(w,f)==0?!(this.isEnd(w,f)||this.isStart(w,f)):!1},p.prototype.insideStart=function(w,f){return this.compare(w,f)==0?!this.isEnd(w,f):!1},p.prototype.insideEnd=function(w,f){return this.compare(w,f)==0?!this.isStart(w,f):!1},p.prototype.compare=function(w,f){return!this.isMultiLine()&&w===this.start.row?f<this.start.column?-1:f>this.end.column?1:0:w<this.start.row?-1:w>this.end.row?1:this.start.row===w?f>=this.start.column?0:-1:this.end.row===w?f<=this.end.column?0:1:0},p.prototype.compareStart=function(w,f){return this.start.row==w&&this.start.column==f?-1:this.compare(w,f)},p.prototype.compareEnd=function(w,f){return this.end.row==w&&this.end.column==f?1:this.compare(w,f)},p.prototype.compareInside=function(w,f){return this.end.row==w&&this.end.column==f?1:this.start.row==w&&this.start.column==f?-1:this.compare(w,f)},p.prototype.clipRows=function(w,f){if(this.end.row>f)var g={row:f+1,column:0};else if(this.end.row<w)var g={row:w,column:0};if(this.start.row>f)var s={row:f+1,column:0};else if(this.start.row<w)var s={row:w,column:0};return p.fromPoints(s||this.start,g||this.end)},p.prototype.extend=function(w,f){var g=this.compare(w,f);if(g==0)return this;if(g==-1)var s={row:w,column:f};else var a={row:w,column:f};return p.fromPoints(s||this.start,a||this.end)},p.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},p.prototype.isMultiLine=function(){return this.start.row!==this.end.row},p.prototype.clone=function(){return p.fromPoints(this.start,this.end)},p.prototype.collapseRows=function(){return this.end.column==0?new p(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new p(this.start.row,0,this.end.row,0)},p.prototype.toScreenRange=function(w){var f=w.documentToScreenPosition(this.start),g=w.documentToScreenPosition(this.end);return new p(f.row,f.column,g.row,g.column)},p.prototype.moveBy=function(w,f){this.start.row+=w,this.start.column+=f,this.end.row+=w,this.end.column+=f},p}();d.fromPoints=function(p,w){return new d(p.row,p.column,w.row,w.column)},d.comparePoints=function(p,w){return p.row-w.row||p.column-w.column},r.Range=d}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(n,r,u){for(var d=n("./oop"),p={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:"*"}},w={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},f=0;f<10;f++)w["Digit"+f]=48+f,w["Numpad"+f]=96+f,p.PRINTABLE_KEYS[48+f]=""+f,p.FUNCTION_KEYS[96+f]="Numpad"+f;for(var f=65;f<91;f++){var g=String.fromCharCode(f+32);w["Key"+g.toUpperCase()]=f,p.PRINTABLE_KEYS[f]=g}for(var f=1;f<13;f++)w["F"+f]=111+f,p.FUNCTION_KEYS[111+f]="F"+f;var s={Shift:16,Control:17,Alt:18,Meta:224};for(var a in s)w[a]=w[a+"Left"]=w[a+"Right"]=s[a];r.$codeToKeyCode=w,p.PRINTABLE_KEYS[173]="-";for(var h in p.FUNCTION_KEYS){var c=p.FUNCTION_KEYS[h].toLowerCase();p[c]=parseInt(h,10)}for(var h in p.PRINTABLE_KEYS){var c=p.PRINTABLE_KEYS[h].toLowerCase();p[c]=parseInt(h,10)}d.mixin(p,p.MODIFIER_KEYS),d.mixin(p,p.PRINTABLE_KEYS),d.mixin(p,p.FUNCTION_KEYS),p.enter=p.return,p.escape=p.esc,p.del=p.delete,function(){for(var i=["cmd","ctrl","alt","shift"],l=Math.pow(2,i.length);l--;)p.KEY_MODS[l]=i.filter(function(m){return l&p.KEY_MODS[m]}).join("-")+"-"}(),p.KEY_MODS[0]="",p.KEY_MODS[-1]="input-",d.mixin(r,p),r.default=r,r.keyCodeToString=function(i){var l=p[i];return typeof l!="string"&&(l=String.fromCharCode(i)),l.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(n,r,u){var d=n("./keys"),p=n("./useragent"),w=null,f=0,g;function s(){g=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return g={passive:!1},!0}})}catch{}}function a(){return g==null&&s(),g}function h(M,A,_){this.elem=M,this.type=A,this.callback=_}h.prototype.destroy=function(){i(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var c=r.addListener=function(M,A,_,k){M.addEventListener(A,_,a()),k&&k.$toDestroy.push(new h(M,A,_))},i=r.removeListener=function(M,A,_){M.removeEventListener(A,_,a())};r.stopEvent=function(M){return r.stopPropagation(M),r.preventDefault(M),!1},r.stopPropagation=function(M){M.stopPropagation&&M.stopPropagation()},r.preventDefault=function(M){M.preventDefault&&M.preventDefault()},r.getButton=function(M){return M.type=="dblclick"?0:M.type=="contextmenu"||p.isMac&&M.ctrlKey&&!M.altKey&&!M.shiftKey?2:M.button},r.capture=function(M,A,_){var k=M&&M.ownerDocument||document;function E(O){A&&A(O),_&&_(O),i(k,"mousemove",A),i(k,"mouseup",E),i(k,"dragstart",E)}return c(k,"mousemove",A),c(k,"mouseup",E),c(k,"dragstart",E),E},r.addMouseWheelListener=function(M,A,_){c(M,"wheel",function(k){var E=.15,O=k.deltaX||0,F=k.deltaY||0;switch(k.deltaMode){case k.DOM_DELTA_PIXEL:k.wheelX=O*E,k.wheelY=F*E;break;case k.DOM_DELTA_LINE:var L=15;k.wheelX=O*L,k.wheelY=F*L;break;case k.DOM_DELTA_PAGE:var H=150;k.wheelX=O*H,k.wheelY=F*H;break}A(k)},_)},r.addMultiMouseDownListener=function(M,A,_,k,E){var O=0,F,L,H,P={2:"dblclick",3:"tripleclick",4:"quadclick"};function I(T){if(r.getButton(T)!==0?O=0:T.detail>1?(O++,O>4&&(O=1)):O=1,p.isIE){var C=Math.abs(T.clientX-F)>5||Math.abs(T.clientY-L)>5;(!H||C)&&(O=1),H&&clearTimeout(H),H=setTimeout(function(){H=null},A[O-1]||600),O==1&&(F=T.clientX,L=T.clientY)}if(T._clicks=O,_[k]("mousedown",T),O>4)O=0;else if(O>1)return _[k](P[O],T)}Array.isArray(M)||(M=[M]),M.forEach(function(T){c(T,"mousedown",I,E)})};function l(M){return 0|(M.ctrlKey?1:0)|(M.altKey?2:0)|(M.shiftKey?4:0)|(M.metaKey?8:0)}r.getModifierString=function(M){return d.KEY_MODS[l(M)]};function m(M,A,_){var k=l(A);if(!_&&A.code&&(_=d.$codeToKeyCode[A.code]||_),!p.isMac&&w){if(A.getModifierState&&(A.getModifierState("OS")||A.getModifierState("Win"))&&(k|=8),w.altGr)if((3&k)!=3)w.altGr=0;else return;if(_===18||_===17){var E=A.location;if(_===17&&E===1)w[_]==1&&(f=A.timeStamp);else if(_===18&&k===3&&E===2){var O=A.timeStamp-f;O<50&&(w.altGr=!0)}}}if(_ in d.MODIFIER_KEYS&&(_=-1),!(!k&&_===13&&A.location===3&&(M(A,k,-_),A.defaultPrevented))){if(p.isChromeOS&&k&8){if(M(A,k,_),A.defaultPrevented)return;k&=-9}return!k&&!(_ in d.FUNCTION_KEYS)&&!(_ in d.PRINTABLE_KEYS)?!1:M(A,k,_)}}r.addCommandKeyListener=function(M,A,_){var k=null;c(M,"keydown",function(E){w[E.keyCode]=(w[E.keyCode]||0)+1;var O=m(A,E,E.keyCode);return k=E.defaultPrevented,O},_),c(M,"keypress",function(E){k&&(E.ctrlKey||E.altKey||E.shiftKey||E.metaKey)&&(r.stopEvent(E),k=null)},_),c(M,"keyup",function(E){w[E.keyCode]=null},_),w||(b(),c(window,"focus",b))};function b(){w=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!p.isOldIE){var x=1;r.nextTick=function(M,A){A=A||window;var _="zero-timeout-message-"+x++,k=function(E){E.data==_&&(r.stopPropagation(E),i(A,"message",k),M())};c(A,"message",k),A.postMessage(_,"*")}}r.$idleBlocked=!1,r.onIdle=function(M,A){return setTimeout(function _(){r.$idleBlocked?setTimeout(_,100):M()},A)},r.$idleBlockId=null,r.blockIdle=function(M){r.$idleBlockId&&clearTimeout(r.$idleBlockId),r.$idleBlocked=!0,r.$idleBlockId=setTimeout(function(){r.$idleBlocked=!1},M||100)},r.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),r.nextFrame?r.nextFrame=r.nextFrame.bind(window):r.nextFrame=function(M){setTimeout(M,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(n,r,u){var d;u.exports={lineMode:!1,pasteCancelled:function(){return d&&d>Date.now()-50?!0:d=!1},cancel:function(){d=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(n,r,u){var d=n("../lib/event"),p=n("../config").nls,w=n("../lib/useragent"),f=n("../lib/dom"),g=n("../lib/lang"),s=n("../clipboard"),a=w.isChrome<18,h=w.isIE,c=w.isChrome>63,i=400,l=n("../lib/keys"),m=l.KEY_MODS,b=w.isIOS,x=b?/\s/:/\n/,M=w.isMobile,A;A=function(_,k){var E=f.createElement("textarea");E.className="ace_text-input",E.setAttribute("wrap","off"),E.setAttribute("autocorrect","off"),E.setAttribute("autocapitalize","off"),E.setAttribute("spellcheck","false"),E.style.opacity="0",_.insertBefore(E,_.firstChild);var O=!1,F=!1,L=!1,H=!1,P="";M||(E.style.fontSize="1px");var I=!1,T=!1,C="",N=0,j=0,U=0,K=Number.MAX_SAFE_INTEGER,Z=Number.MIN_SAFE_INTEGER,te=0;try{var he=document.activeElement===E}catch{}this.setNumberOfExtraLines=function(_e){if(K=Number.MAX_SAFE_INTEGER,Z=Number.MIN_SAFE_INTEGER,_e<0){te=0;return}te=_e},this.setAriaLabel=function(){var _e="";if(k.$textInputAriaLabel&&(_e+="".concat(k.$textInputAriaLabel,", ")),k.session){var He=k.session.selection.cursor.row;_e+=p("text-input.aria-label","Cursor at row $0",[He+1])}E.setAttribute("aria-label",_e)},this.setAriaOptions=function(_e){_e.activeDescendant?(E.setAttribute("aria-haspopup","true"),E.setAttribute("aria-autocomplete",_e.inline?"both":"list"),E.setAttribute("aria-activedescendant",_e.activeDescendant)):(E.setAttribute("aria-haspopup","false"),E.setAttribute("aria-autocomplete","both"),E.removeAttribute("aria-activedescendant")),_e.role&&E.setAttribute("role",_e.role),_e.setLabel&&(E.setAttribute("aria-roledescription",p("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),d.addListener(E,"blur",function(_e){T||(k.onBlur(_e),he=!1)},k),d.addListener(E,"focus",function(_e){if(!T){if(he=!0,w.isEdge)try{if(!document.hasFocus())return}catch{}k.onFocus(_e),w.isEdge?setTimeout(ae):ae()}},k),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:k.renderer.enableKeyboardAccessibility}),P||c||this.$focusScroll=="browser")return E.focus({preventScroll:!0});var _e=E.style.top;E.style.position="fixed",E.style.top="0px";try{var He=E.getBoundingClientRect().top!=0}catch{return}var Qe=[];if(He)for(var mt=E.parentElement;mt&&mt.nodeType==1;)Qe.push(mt),mt.setAttribute("ace_nocontext","true"),!mt.parentElement&&mt.getRootNode?mt=mt.getRootNode().host:mt=mt.parentElement;E.focus({preventScroll:!0}),He&&Qe.forEach(function(Tt){Tt.removeAttribute("ace_nocontext")}),setTimeout(function(){E.style.position="",E.style.top=="0px"&&(E.style.top=_e)},0)},this.blur=function(){E.blur()},this.isFocused=function(){return he},k.on("beforeEndOperation",function(){var _e=k.curOp,He=_e&&_e.command&&_e.command.name;if(He!="insertstring"){var Qe=He&&(_e.docChanged||_e.selectionChanged);L&&Qe&&(C=E.value="",Jt()),ae()}}),k.on("changeSelection",this.setAriaLabel);var ne=function(_e,He){for(var Qe=He,mt=1;mt<=_e-K&&mt<2*te+1;mt++)Qe+=k.session.getLine(_e-mt).length+1;return Qe},ae=b?function(_e){if(!(!he||O&&!_e||H)){_e||(_e="");var He=`
173
+ ab`+_e+`cde fg
174
+ `;He!=E.value&&(E.value=C=He);var Qe=4,mt=4+(_e.length||(k.selection.isEmpty()?0:1));(N!=Qe||j!=mt)&&E.setSelectionRange(Qe,mt),N=Qe,j=mt}}:function(){if(!(L||H)&&!(!he&&!Ce)){L=!0;var _e=0,He=0,Qe="";if(k.session){var mt=k.selection,Tt=mt.getRange(),Ct=mt.cursor.row;Ct===Z+1?(K=Z+1,Z=K+2*te):Ct===K-1?(Z=K-1,K=Z-2*te):(Ct<K-1||Ct>Z+1)&&(K=Ct>te?Ct-te:0,Z=Ct>te?Ct+te:2*te);for(var Pt=[],Dt=K;Dt<=Z;Dt++)Pt.push(k.session.getLine(Dt));if(Qe=Pt.join(`
175
+ `),_e=ne(Tt.start.row,Tt.start.column),He=ne(Tt.end.row,Tt.end.column),Tt.start.row<K){var pt=k.session.getLine(K-1);_e=Tt.start.row<K-1?0:_e,He+=pt.length+1,Qe=pt+`
176
+ `+Qe}else if(Tt.end.row>Z){var kt=k.session.getLine(Z+1);He=Tt.end.row>Z+1?kt.length:Tt.end.column,He+=Qe.length+1,Qe=Qe+`
177
+ `+kt}else M&&Ct>0&&(Qe=`
178
+ `+Qe,He+=1,_e+=1);Qe.length>i&&(_e<i&&He<i?Qe=Qe.slice(0,i):(Qe=`
179
+ `,_e==He?_e=He=0:(_e=0,He=1)));var Tn=Qe+`
180
+
181
+ `;Tn!=C&&(E.value=C=Tn,N=j=Tn.length)}if(Ce&&(N=E.selectionStart,j=E.selectionEnd),j!=He||N!=_e||E.selectionEnd!=j)try{E.setSelectionRange(_e,He),N=_e,j=He}catch{}L=!1}};this.resetSelection=ae,he&&k.onFocus();var ce=function(_e){return _e.selectionStart===0&&_e.selectionEnd>=C.length&&_e.value===C&&C&&_e.selectionEnd!==j},ue=function(_e){L||(O?O=!1:ce(E)?(k.selectAll(),ae()):M&&E.selectionStart!=N&&ae())},ve=null;this.setInputHandler=function(_e){ve=_e},this.getInputHandler=function(){return ve};var Ce=!1,Ee=function(_e,He){if(Ce&&(Ce=!1),F)return ae(),_e&&k.onPaste(_e),F=!1,"";for(var Qe=E.selectionStart,mt=E.selectionEnd,Tt=N,Ct=C.length-j,Pt=_e,Dt=_e.length-Qe,pt=_e.length-mt,kt=0;Tt>0&&C[kt]==_e[kt];)kt++,Tt--;for(Pt=Pt.slice(kt),kt=1;Ct>0&&C.length-kt>N-1&&C[C.length-kt]==_e[_e.length-kt];)kt++,Ct--;Dt-=kt-1,pt-=kt-1;var Tn=Pt.length-kt+1;if(Tn<0&&(Tt=-Tn,Tn=0),Pt=Pt.slice(0,Tn),!He&&!Pt&&!Dt&&!Tt&&!Ct&&!pt)return"";H=!0;var Mr=!1;return w.isAndroid&&Pt==". "&&(Pt=" ",Mr=!0),Pt&&!Tt&&!Ct&&!Dt&&!pt||I?k.onTextInput(Pt):k.onTextInput(Pt,{extendLeft:Tt,extendRight:Ct,restoreStart:Dt,restoreEnd:pt}),H=!1,C=_e,N=Qe,j=mt,U=pt,Mr?`
182
+ `:Pt},Le=function(_e){if(L)return vn();if(_e&&_e.inputType){if(_e.inputType=="historyUndo")return k.execCommand("undo");if(_e.inputType=="historyRedo")return k.execCommand("redo")}var He=E.value,Qe=Ee(He,!0);(He.length>i+100||x.test(Qe)||M&&N<1&&N==j)&&ae()},Xe=function(_e,He,Qe){var mt=_e.clipboardData||window.clipboardData;if(!(!mt||a)){var Tt=h||Qe?"Text":"text/plain";try{return He?mt.setData(Tt,He)!==!1:mt.getData(Tt)}catch(Ct){if(!Qe)return Xe(Ct,He,!0)}}},Ge=function(_e,He){var Qe=k.getCopyText();if(!Qe)return d.preventDefault(_e);Xe(_e,Qe)?(b&&(ae(Qe),O=Qe,setTimeout(function(){O=!1},10)),He?k.onCut():k.onCopy(),d.preventDefault(_e)):(O=!0,E.value=Qe,E.select(),setTimeout(function(){O=!1,ae(),He?k.onCut():k.onCopy()}))},ft=function(_e){Ge(_e,!0)},it=function(_e){Ge(_e,!1)},gt=function(_e){var He=Xe(_e);s.pasteCancelled()||(typeof He=="string"?(He&&k.onPaste(He,_e),w.isIE&&setTimeout(ae),d.preventDefault(_e)):(E.value="",F=!0))};d.addCommandKeyListener(E,function(_e,He,Qe){if(!L)return k.onCommandKey(_e,He,Qe)},k),d.addListener(E,"select",ue,k),d.addListener(E,"input",Le,k),d.addListener(E,"cut",ft,k),d.addListener(E,"copy",it,k),d.addListener(E,"paste",gt,k),(!("oncut"in E)||!("oncopy"in E)||!("onpaste"in E))&&d.addListener(_,"keydown",function(_e){if(!(w.isMac&&!_e.metaKey||!_e.ctrlKey))switch(_e.keyCode){case 67:it(_e);break;case 86:gt(_e);break;case 88:ft(_e);break}},k);var sn=function(_e){if(!(L||!k.onCompositionStart||k.$readOnly)&&(L={},!I)){_e.data&&(L.useTextareaForIME=!1),setTimeout(vn,0),k._signal("compositionStart"),k.on("mousedown",xr);var He=k.getSelectionRange();He.end.row=He.start.row,He.end.column=He.start.column,L.markerRange=He,L.selectionStart=N,k.onCompositionStart(L),L.useTextareaForIME?(C=E.value="",N=0,j=0):(E.msGetInputContext&&(L.context=E.msGetInputContext()),E.getInputContext&&(L.context=E.getInputContext()))}},vn=function(){if(!(!L||!k.onCompositionUpdate||k.$readOnly)){if(I)return xr();if(L.useTextareaForIME)k.onCompositionUpdate(E.value);else{var _e=E.value;Ee(_e),L.markerRange&&(L.context&&(L.markerRange.start.column=L.selectionStart=L.context.compositionStartOffset),L.markerRange.end.column=L.markerRange.start.column+j-L.selectionStart+U)}}},Jt=function(_e){!k.onCompositionEnd||k.$readOnly||(L=!1,k.onCompositionEnd(),k.off("mousedown",xr),_e&&Le())};function xr(){T=!0,E.blur(),E.focus(),T=!1}var wn=g.delayedCall(vn,50).schedule.bind(null,null);function Dn(_e){_e.keyCode==27&&E.value.length<E.selectionStart&&(L||(C=E.value),N=j=-1,ae()),wn()}d.addListener(E,"compositionstart",sn,k),d.addListener(E,"compositionupdate",vn,k),d.addListener(E,"keyup",Dn,k),d.addListener(E,"keydown",wn,k),d.addListener(E,"compositionend",Jt,k),this.getElement=function(){return E},this.setCommandMode=function(_e){I=_e,E.readOnly=!1},this.setReadOnly=function(_e){I||(E.readOnly=_e)},this.setCopyWithEmptySelection=function(_e){},this.onContextMenu=function(_e){Ce=!0,ae(),k._emit("nativecontextmenu",{target:k,domEvent:_e}),this.moveToMouse(_e,!0)},this.moveToMouse=function(_e,He){P||(P=E.style.cssText),E.style.cssText=(He?"z-index:100000;":"")+(w.isIE?"opacity:0.1;":"")+"text-indent: -"+(N+j)*k.renderer.characterWidth*.5+"px;";var Qe=k.container.getBoundingClientRect(),mt=f.computedStyle(k.container),Tt=Qe.top+(parseInt(mt.borderTopWidth)||0),Ct=Qe.left+(parseInt(mt.borderLeftWidth)||0),Pt=Qe.bottom-Tt-E.clientHeight-2,Dt=function(pt){f.translate(E,pt.clientX-Ct-2,Math.min(pt.clientY-Tt-2,Pt))};Dt(_e),_e.type=="mousedown"&&(k.renderer.$isMousePressed=!0,clearTimeout(Fn),w.isWin&&d.capture(k.container,Dt,ir))},this.onContextMenuClose=ir;var Fn;function ir(){clearTimeout(Fn),Fn=setTimeout(function(){P&&(E.style.cssText=P,P=""),k.renderer.$isMousePressed=!1,k.renderer.$keepTextAreaAtCursor&&k.renderer.$moveTextAreaToCursor()},0)}var xt=function(_e){k.textInput.onContextMenu(_e),ir()};d.addListener(E,"mouseup",xt,k),d.addListener(E,"mousedown",function(_e){_e.preventDefault(),ir()},k),d.addListener(k.renderer.scroller,"contextmenu",xt,k),d.addListener(E,"contextmenu",xt,k),b&&qe(_,k,E);function qe(_e,He,Qe){var mt=null,Tt=!1;Qe.addEventListener("keydown",function(Pt){mt&&clearTimeout(mt),Tt=!0},!0),Qe.addEventListener("keyup",function(Pt){mt=setTimeout(function(){Tt=!1},100)},!0);var Ct=function(Pt){if(document.activeElement===Qe&&!(Tt||L||He.$mouseHandler.isMousePressed)&&!O){var Dt=Qe.selectionStart,pt=Qe.selectionEnd,kt=null,Tn=0;if(Dt==0?kt=l.up:Dt==1?kt=l.home:pt>j&&C[pt]==`
183
+ `?kt=l.end:Dt<N&&C[Dt-1]==" "?(kt=l.left,Tn=m.option):Dt<N||Dt==N&&j!=N&&Dt==pt?kt=l.left:pt>j&&C.slice(0,pt).split(`
184
+ `).length>2?kt=l.down:pt>j&&C[pt-1]==" "?(kt=l.right,Tn=m.option):(pt>j||pt==j&&j!=N&&Dt==pt)&&(kt=l.right),Dt!==pt&&(Tn|=m.shift),kt){var Mr=He.onCommandKey({},Tn,kt);if(!Mr&&He.commands){kt=l.keyCodeToString(kt);var ei=He.commands.findKeyCommand(Tn,kt);ei&&He.execCommand(ei)}N=Dt,j=pt,ae("")}}};document.addEventListener("selectionchange",Ct),He.on("destroy",function(){document.removeEventListener("selectionchange",Ct)})}this.destroy=function(){E.parentElement&&E.parentElement.removeChild(E)}},r.TextInput=A,r.$setUserAgentForTests=function(_,k){M=_,b=k}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(n,r,u){var d=n("../lib/useragent"),p=0,w=550,f=function(){function a(h){h.$clickSelection=null;var c=h.editor;c.setDefaultHandler("mousedown",this.onMouseDown.bind(h)),c.setDefaultHandler("dblclick",this.onDoubleClick.bind(h)),c.setDefaultHandler("tripleclick",this.onTripleClick.bind(h)),c.setDefaultHandler("quadclick",this.onQuadClick.bind(h)),c.setDefaultHandler("mousewheel",this.onMouseWheel.bind(h));var i=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];i.forEach(function(l){h[l]=this[l]},this),h.selectByLines=this.extendSelectionBy.bind(h,"getLineRange"),h.selectByWords=this.extendSelectionBy.bind(h,"getWordRange")}return a.prototype.onMouseDown=function(h){var c=h.inSelection(),i=h.getDocumentPosition();this.mousedownEvent=h;var l=this.editor,m=h.getButton();if(m!==0){var b=l.getSelectionRange(),x=b.isEmpty();(x||m==1)&&l.selection.moveToPosition(i),m==2&&(l.textInput.onContextMenu(h.domEvent),d.isMozilla||h.preventDefault());return}if(this.mousedownEvent.time=Date.now(),c&&!l.isFocused()&&(l.focus(),this.$focusTimeout&&!this.$clickSelection&&!l.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(h);return}return this.captureMouse(h),this.startSelect(i,h.domEvent._clicks>1),h.preventDefault()},a.prototype.startSelect=function(h,c){h=h||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var i=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(h):c||i.selection.moveToPosition(h),c||this.select(),i.setStyle("ace_selecting"),this.setState("select"))},a.prototype.select=function(){var h,c=this.editor,i=c.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var l=this.$clickSelection.comparePoint(i);if(l==-1)h=this.$clickSelection.end;else if(l==1)h=this.$clickSelection.start;else{var m=s(this.$clickSelection,i);i=m.cursor,h=m.anchor}c.selection.setSelectionAnchor(h.row,h.column)}c.selection.selectToPosition(i),c.renderer.scrollCursorIntoView()},a.prototype.extendSelectionBy=function(h){var c,i=this.editor,l=i.renderer.screenToTextCoordinates(this.x,this.y),m=i.selection[h](l.row,l.column);if(this.$clickSelection){var b=this.$clickSelection.comparePoint(m.start),x=this.$clickSelection.comparePoint(m.end);if(b==-1&&x<=0)c=this.$clickSelection.end,(m.end.row!=l.row||m.end.column!=l.column)&&(l=m.start);else if(x==1&&b>=0)c=this.$clickSelection.start,(m.start.row!=l.row||m.start.column!=l.column)&&(l=m.end);else if(b==-1&&x==1)l=m.end,c=m.start;else{var M=s(this.$clickSelection,l);l=M.cursor,c=M.anchor}i.selection.setSelectionAnchor(c.row,c.column)}i.selection.selectToPosition(l),i.renderer.scrollCursorIntoView()},a.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},a.prototype.focusWait=function(){var h=g(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),c=Date.now();(h>p||c-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},a.prototype.onDoubleClick=function(h){var c=h.getDocumentPosition(),i=this.editor,l=i.session,m=l.getBracketRange(c);m?(m.isEmpty()&&(m.start.column--,m.end.column++),this.setState("select")):(m=i.selection.getWordRange(c.row,c.column),this.setState("selectByWords")),this.$clickSelection=m,this.select()},a.prototype.onTripleClick=function(h){var c=h.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var l=i.getSelectionRange();l.isMultiLine()&&l.contains(c.row,c.column)?(this.$clickSelection=i.selection.getLineRange(l.start.row),this.$clickSelection.end=i.selection.getLineRange(l.end.row).end):this.$clickSelection=i.selection.getLineRange(c.row),this.select()},a.prototype.onQuadClick=function(h){var c=this.editor;c.selectAll(),this.$clickSelection=c.getSelectionRange(),this.setState("selectAll")},a.prototype.onMouseWheel=function(h){if(!h.getAccelKey()){h.getShiftKey()&&h.wheelY&&!h.wheelX&&(h.wheelX=h.wheelY,h.wheelY=0);var c=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,l=h.domEvent.timeStamp,m=l-i.t,b=m?h.wheelX/m:i.vx,x=m?h.wheelY/m:i.vy;m<w&&(b=(b+i.vx)/2,x=(x+i.vy)/2);var M=Math.abs(b/x),A=!1;if(M>=1&&c.renderer.isScrollableBy(h.wheelX*h.speed,0)&&(A=!0),M<=1&&c.renderer.isScrollableBy(0,h.wheelY*h.speed)&&(A=!0),A)i.allowed=l;else if(l-i.allowed<w){var _=Math.abs(b)<=1.5*Math.abs(i.vx)&&Math.abs(x)<=1.5*Math.abs(i.vy);_?(A=!0,i.allowed=l):i.allowed=0}if(i.t=l,i.vx=b,i.vy=x,A)return c.renderer.scrollBy(h.wheelX*h.speed,h.wheelY*h.speed),h.stop()}},a}();f.prototype.selectEnd=f.prototype.selectByLinesEnd,f.prototype.selectAllEnd=f.prototype.selectByLinesEnd,f.prototype.selectByWordsEnd=f.prototype.selectByLinesEnd,r.DefaultHandlers=f;function g(a,h,c,i){return Math.sqrt(Math.pow(c-a,2)+Math.pow(i-h,2))}function s(a,h){if(a.start.row==a.end.row)var c=2*h.column-a.start.column-a.end.column;else if(a.start.row==a.end.row-1&&!a.start.column&&!a.end.column)var c=h.column-4;else var c=2*h.row-a.start.row-a.end.row;return c<0?{cursor:a.start,anchor:a.end}:{cursor:a.end,anchor:a.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(n,r,u){r.preventParentScroll=function(d){d.stopPropagation();var p=d.currentTarget,w=p.scrollHeight>p.clientHeight;w||d.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(n,r,u){var d=this&&this.__extends||function(){var l=function(m,b){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,M){x.__proto__=M}||function(x,M){for(var A in M)Object.prototype.hasOwnProperty.call(M,A)&&(x[A]=M[A])},l(m,b)};return function(m,b){if(typeof b!="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");l(m,b);function x(){this.constructor=m}m.prototype=b===null?Object.create(b):(x.prototype=b.prototype,new x)}}(),p=this&&this.__values||function(l){var m=typeof Symbol=="function"&&Symbol.iterator,b=m&&l[m],x=0;if(b)return b.call(l);if(l&&typeof l.length=="number")return{next:function(){return l&&x>=l.length&&(l=void 0),{value:l&&l[x++],done:!l}}};throw new TypeError(m?"Object is not iterable.":"Symbol.iterator is not defined.")},w=n("./lib/dom");n("./lib/event");var f=n("./range").Range,g=n("./lib/scroll").preventParentScroll,s="ace_tooltip",a=function(){function l(m){this.isOpen=!1,this.$element=null,this.$parentNode=m}return l.prototype.$init=function(){return this.$element=w.createElement("div"),this.$element.className=s,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},l.prototype.getElement=function(){return this.$element||this.$init()},l.prototype.setText=function(m){this.getElement().textContent=m},l.prototype.setHtml=function(m){this.getElement().innerHTML=m},l.prototype.setPosition=function(m,b){this.getElement().style.left=m+"px",this.getElement().style.top=b+"px"},l.prototype.setClassName=function(m){w.addCssClass(this.getElement(),m)},l.prototype.setTheme=function(m){this.$element.className=s+" "+(m.isDark?"ace_dark ":"")+(m.cssClass||"")},l.prototype.show=function(m,b,x){m!=null&&this.setText(m),b!=null&&x!=null&&this.setPosition(b,x),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},l.prototype.hide=function(m){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=s,this.isOpen=!1)},l.prototype.getHeight=function(){return this.getElement().offsetHeight},l.prototype.getWidth=function(){return this.getElement().offsetWidth},l.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},l}(),h=function(){function l(){this.popups=[]}return l.prototype.addPopup=function(m){this.popups.push(m),this.updatePopups()},l.prototype.removePopup=function(m){var b=this.popups.indexOf(m);b!==-1&&(this.popups.splice(b,1),this.updatePopups())},l.prototype.updatePopups=function(){var m,b,x,M;this.popups.sort(function(P,I){return I.priority-P.priority});var A=[];try{for(var _=p(this.popups),k=_.next();!k.done;k=_.next()){var E=k.value,O=!0;try{for(var F=(x=void 0,p(A)),L=F.next();!L.done;L=F.next()){var H=L.value;if(this.doPopupsOverlap(H,E)){O=!1;break}}}catch(P){x={error:P}}finally{try{L&&!L.done&&(M=F.return)&&M.call(F)}finally{if(x)throw x.error}}O?A.push(E):E.hide()}}catch(P){m={error:P}}finally{try{k&&!k.done&&(b=_.return)&&b.call(_)}finally{if(m)throw m.error}}},l.prototype.doPopupsOverlap=function(m,b){var x=m.getElement().getBoundingClientRect(),M=b.getElement().getBoundingClientRect();return x.left<M.right&&x.right>M.left&&x.top<M.bottom&&x.bottom>M.top},l}(),c=new h;r.popupManager=c,r.Tooltip=a;var i=function(l){d(m,l);function m(b){b===void 0&&(b=document.body);var x=l.call(this,b)||this;x.timeout=void 0,x.lastT=0,x.idleTime=350,x.lastEvent=void 0,x.onMouseOut=x.onMouseOut.bind(x),x.onMouseMove=x.onMouseMove.bind(x),x.waitForHover=x.waitForHover.bind(x),x.hide=x.hide.bind(x);var M=x.getElement();return M.style.whiteSpace="pre-wrap",M.style.pointerEvents="auto",M.addEventListener("mouseout",x.onMouseOut),M.tabIndex=-1,M.addEventListener("blur",(function(){M.contains(document.activeElement)||this.hide()}).bind(x)),M.addEventListener("wheel",g),x}return m.prototype.addToEditor=function(b){b.on("mousemove",this.onMouseMove),b.on("mousedown",this.hide),b.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},m.prototype.removeFromEditor=function(b){b.off("mousemove",this.onMouseMove),b.off("mousedown",this.hide),b.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},m.prototype.onMouseMove=function(b,x){this.lastEvent=b,this.lastT=Date.now();var M=x.$mouseHandler.isMousePressed;if(this.isOpen){var A=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(A.row,A.column)||M||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||M||(this.lastEvent=b,this.timeout=setTimeout(this.waitForHover,this.idleTime))},m.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var b=Date.now()-this.lastT;if(this.idleTime-b>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-b);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},m.prototype.isOutsideOfText=function(b){var x=b.editor,M=b.getDocumentPosition(),A=x.session.getLine(M.row);if(M.column==A.length){var _=x.renderer.pixelToScreenCoordinates(b.clientX,b.clientY),k=x.session.documentToScreenPosition(M.row,M.column);if(k.column!=_.column||k.row!=_.row)return!0}return!1},m.prototype.setDataProvider=function(b){this.$gatherData=b},m.prototype.showForRange=function(b,x,M,A){var _=10;if(!(A&&A!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var k=b.renderer;this.isOpen||(c.addPopup(this),this.$registerCloseEvents(),this.setTheme(k.theme)),this.isOpen=!0,this.addMarker(x,b.session),this.range=f.fromPoints(x.start,x.end);var E=k.textToScreenCoordinates(x.start.row,x.start.column),O=k.scroller.getBoundingClientRect();E.pageX<O.left&&(E.pageX=O.left);var F=this.getElement();F.innerHTML="",F.appendChild(M),F.style.maxHeight="",F.style.display="block";var L=F.clientHeight,H=F.clientWidth,P=window.innerHeight-E.pageY-k.lineHeight,I=!0;E.pageY-L<0&&E.pageY<P&&(I=!1),F.style.maxHeight=(I?E.pageY:P)-_+"px",F.style.top=I?"":E.pageY+k.lineHeight+"px",F.style.bottom=I?window.innerHeight-E.pageY+"px":"",F.style.left=Math.min(E.pageX,window.innerWidth-H-_)+"px"}},m.prototype.addMarker=function(b,x){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=x,this.marker=x&&x.addMarker(b,"ace_highlight-marker","text")},m.prototype.hide=function(b){!b&&document.activeElement==this.getElement()||b&&b.target&&(b.type!="keydown"||b.ctrlKey||b.metaKey)&&this.$element.contains(b.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,c.removePopup(this)))},m.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},m.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},m.prototype.onMouseOut=function(b){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!b.relatedTarget||this.getElement().contains(b.relatedTarget)||b&&b.currentTarget.contains(b.relatedTarget)||b.relatedTarget.classList.contains("ace_content")||this.hide())},m}(a);r.HoverTooltip=i}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(n,r,u){var d=this&&this.__extends||function(){var l=function(m,b){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,M){x.__proto__=M}||function(x,M){for(var A in M)Object.prototype.hasOwnProperty.call(M,A)&&(x[A]=M[A])},l(m,b)};return function(m,b){if(typeof b!="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");l(m,b);function x(){this.constructor=m}m.prototype=b===null?Object.create(b):(x.prototype=b.prototype,new x)}}(),p=this&&this.__values||function(l){var m=typeof Symbol=="function"&&Symbol.iterator,b=m&&l[m],x=0;if(b)return b.call(l);if(l&&typeof l.length=="number")return{next:function(){return l&&x>=l.length&&(l=void 0),{value:l&&l[x++],done:!l}}};throw new TypeError(m?"Object is not iterable.":"Symbol.iterator is not defined.")},w=n("../lib/dom"),f=n("../lib/event"),g=n("../tooltip").Tooltip,s=n("../config").nls,a=5,h=3;r.GUTTER_TOOLTIP_LEFT_OFFSET=a,r.GUTTER_TOOLTIP_TOP_OFFSET=h;function c(l){var m=l.editor,b=m.renderer.$gutterLayer,x=new i(m,!0);l.editor.setDefaultHandler("guttermousedown",function(O){if(!(!m.isFocused()||O.getButton()!=0)){var F=b.getRegion(O);if(F!="foldWidgets"){var L=O.getDocumentPosition().row,H=m.session.selection;if(O.getShiftKey())H.selectTo(L,0);else{if(O.domEvent.detail==2)return m.selectAll(),O.preventDefault();l.$clickSelection=m.selection.getLineRange(L)}return l.setState("selectByLines"),l.captureMouse(O),O.preventDefault()}}});var M,A;function _(){var O=A.getDocumentPosition().row,F=m.session.getLength();if(O==F){var L=m.renderer.pixelToScreenCoordinates(0,A.y).row,H=A.$pos;if(L>m.session.documentToScreenRow(H.row,H.column))return k()}if(x.showTooltip(O),!!x.isOpen)if(m.on("mousewheel",k),m.on("changeSession",k),window.addEventListener("keydown",k,!0),l.$tooltipFollowsMouse)E(A);else{var P=A.getGutterRow(),I=b.$lines.get(P);if(I){var T=I.element.querySelector(".ace_gutter_annotation"),C=T.getBoundingClientRect(),N=x.getElement().style;N.left=C.right-a+"px",N.top=C.bottom-h+"px"}else E(A)}}function k(O){O&&O.type==="keydown"&&(O.ctrlKey||O.metaKey)||O&&O.type==="mouseout"&&(!O.relatedTarget||x.getElement().contains(O.relatedTarget))||(M&&(M=clearTimeout(M)),x.isOpen&&(x.hideTooltip(),m.off("mousewheel",k),m.off("changeSession",k),window.removeEventListener("keydown",k,!0)))}function E(O){x.setPosition(O.x,O.y)}l.editor.setDefaultHandler("guttermousemove",function(O){var F=O.domEvent.target||O.domEvent.srcElement;if(w.hasCssClass(F,"ace_fold-widget"))return k();x.isOpen&&l.$tooltipFollowsMouse&&E(O),A=O,!M&&(M=setTimeout(function(){M=null,A&&!l.isMousePressed&&_()},50))}),f.addListener(m.renderer.$gutter,"mouseout",function(O){A=null,x.isOpen&&(M=setTimeout(function(){M=null,k(O)},50))},m)}r.GutterHandler=c;var i=function(l){d(m,l);function m(b,x){x===void 0&&(x=!1);var M=l.call(this,b.container)||this;M.editor=b,M.visibleTooltipRow;var A=M.getElement();return A.setAttribute("role","tooltip"),A.style.pointerEvents="auto",x&&(M.onMouseOut=M.onMouseOut.bind(M),A.addEventListener("mouseout",M.onMouseOut)),M}return m.prototype.onMouseOut=function(b){this.isOpen&&(!b.relatedTarget||this.getElement().contains(b.relatedTarget)||b&&b.currentTarget.contains(b.relatedTarget)||this.hideTooltip())},m.prototype.setPosition=function(b,x){var M=window.innerWidth||document.documentElement.clientWidth,A=window.innerHeight||document.documentElement.clientHeight,_=this.getWidth(),k=this.getHeight();b+=15,x+=15,b+_>M&&(b-=b+_-M),x+k>A&&(x-=20+k),g.prototype.setPosition.call(this,b,x)},Object.defineProperty(m,"annotationLabels",{get:function(){return{error:{singular:s("gutter-tooltip.aria-label.error.singular","error"),plural:s("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:s("gutter-tooltip.aria-label.security.singular","security finding"),plural:s("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:s("gutter-tooltip.aria-label.warning.singular","warning"),plural:s("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:s("gutter-tooltip.aria-label.info.singular","information message"),plural:s("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:s("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:s("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),m.prototype.showTooltip=function(b){var x,M=this.editor.renderer.$gutterLayer,A=M.$annotations[b],_;A?_={displayText:Array.from(A.displayText),type:Array.from(A.type)}:_={displayText:[],type:[]};var k=M.session.getFoldLine(b);if(k&&M.$showFoldedAnnotations){for(var E={error:[],security:[],warning:[],info:[],hint:[]},O={error:1,security:2,warning:3,info:4,hint:5},F,L=b+1;L<=k.end.row;L++)if(M.$annotations[L])for(var H=0;H<M.$annotations[L].text.length;H++){var P=M.$annotations[L].type[H];E[P].push(M.$annotations[L].text[H]),(!F||O[P]<O[F])&&(F=P)}if(["error","security","warning"].includes(F)){var I="".concat(m.annotationsToSummaryString(E)," in folded code.");_.displayText.push(I),_.type.push(F+"_fold")}}if(_.displayText.length===0)return this.hideTooltip();for(var T={error:[],security:[],warning:[],info:[],hint:[]},C=M.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=0;L<_.displayText.length;L++){var N=w.createElement("span"),j=w.createElement("span");(x=j.classList).add.apply(x,["ace_".concat(_.type[L]),C]),j.setAttribute("aria-label","".concat(m.annotationLabels[_.type[L].replace("_fold","")].singular)),j.setAttribute("role","img"),j.appendChild(w.createTextNode(" ")),N.appendChild(j),N.appendChild(w.createTextNode(_.displayText[L])),N.appendChild(w.createElement("br")),T[_.type[L].replace("_fold","")].push(N)}var U=this.getElement();w.removeChildren(U),T.error.forEach(function(K){return U.appendChild(K)}),T.security.forEach(function(K){return U.appendChild(K)}),T.warning.forEach(function(K){return U.appendChild(K)}),T.info.forEach(function(K){return U.appendChild(K)}),T.hint.forEach(function(K){return U.appendChild(K)}),U.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=b,this.editor._signal("showGutterTooltip",this)},m.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},m.annotationsToSummaryString=function(b){var x,M,A=[],_=["error","security","warning","info","hint"];try{for(var k=p(_),E=k.next();!E.done;E=k.next()){var O=E.value;if(b[O].length){var F=b[O].length===1?m.annotationLabels[O].singular:m.annotationLabels[O].plural;A.push("".concat(b[O].length," ").concat(F))}}}catch(L){x={error:L}}finally{try{E&&!E.done&&(M=k.return)&&M.call(k)}finally{if(x)throw x.error}}return A.join(", ")},m}(g);r.GutterTooltip=i}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(n,r,u){var d=n("../lib/event"),p=n("../lib/useragent"),w=function(){function f(g,s){this.speed,this.wheelX,this.wheelY,this.domEvent=g,this.editor=s,this.x=this.clientX=g.clientX,this.y=this.clientY=g.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return f.prototype.stopPropagation=function(){d.stopPropagation(this.domEvent),this.propagationStopped=!0},f.prototype.preventDefault=function(){d.preventDefault(this.domEvent),this.defaultPrevented=!0},f.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},f.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},f.prototype.getGutterRow=function(){var g=this.getDocumentPosition().row,s=this.editor.session.documentToScreenRow(g,0),a=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return s-a},f.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var g=this.editor,s=g.getSelectionRange();if(s.isEmpty())this.$inSelection=!1;else{var a=this.getDocumentPosition();this.$inSelection=s.contains(a.row,a.column)}return this.$inSelection},f.prototype.getButton=function(){return d.getButton(this.domEvent)},f.prototype.getShiftKey=function(){return this.domEvent.shiftKey},f.prototype.getAccelKey=function(){return p.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},f}();r.MouseEvent=w}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(n,r,u){var d=n("../lib/dom"),p=n("../lib/event"),w=n("../lib/useragent"),f=200,g=200,s=5;function a(c){var i=c.editor,l=d.createElement("div");l.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",l.textContent=" ";var m=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];m.forEach(function(ne){c[ne]=this[ne]},this),i.on("mousedown",this.onMouseDown.bind(c));var b=i.container,x,M,A,_,k,E,O=0,F,L,H,P,I;this.onDragStart=function(ne){if(this.cancelDrag||!b.draggable){var ae=this;return setTimeout(function(){ae.startSelect(),ae.captureMouse(ne)},0),ne.preventDefault()}k=i.getSelectionRange();var ce=ne.dataTransfer;ce.effectAllowed=i.getReadOnly()?"copy":"copyMove",i.container.appendChild(l),ce.setDragImage&&ce.setDragImage(l,0,0),setTimeout(function(){i.container.removeChild(l)}),ce.clearData(),ce.setData("Text",i.session.getTextRange()),L=!0,this.setState("drag")},this.onDragEnd=function(ne){if(b.draggable=!1,L=!1,this.setState(null),!i.getReadOnly()){var ae=ne.dataTransfer.dropEffect;!F&&ae=="move"&&i.session.remove(i.getSelectionRange()),i.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(ne){if(!(i.getReadOnly()||!te(ne.dataTransfer)))return M=ne.clientX,A=ne.clientY,x||j(),O++,ne.dataTransfer.dropEffect=F=he(ne),p.preventDefault(ne)},this.onDragOver=function(ne){if(!(i.getReadOnly()||!te(ne.dataTransfer)))return M=ne.clientX,A=ne.clientY,x||(j(),O++),K!==null&&(K=null),ne.dataTransfer.dropEffect=F=he(ne),p.preventDefault(ne)},this.onDragLeave=function(ne){if(O--,O<=0&&x)return U(),F=null,p.preventDefault(ne)},this.onDrop=function(ne){if(E){var ae=ne.dataTransfer;if(L)switch(F){case"move":k.contains(E.row,E.column)?k={start:E,end:E}:k=i.moveText(k,E);break;case"copy":k=i.moveText(k,E,!0);break}else{var ce=ae.getData("Text");k={start:E,end:i.session.insert(E,ce)},i.focus(),F=null}return U(),p.preventDefault(ne)}},p.addListener(b,"dragstart",this.onDragStart.bind(c),i),p.addListener(b,"dragend",this.onDragEnd.bind(c),i),p.addListener(b,"dragenter",this.onDragEnter.bind(c),i),p.addListener(b,"dragover",this.onDragOver.bind(c),i),p.addListener(b,"dragleave",this.onDragLeave.bind(c),i),p.addListener(b,"drop",this.onDrop.bind(c),i);function T(ne,ae){var ce=Date.now(),ue=!ae||ne.row!=ae.row,ve=!ae||ne.column!=ae.column;if(!P||ue||ve)i.moveCursorToPosition(ne),P=ce,I={x:M,y:A};else{var Ce=h(I.x,I.y,M,A);Ce>s?P=null:ce-P>=g&&(i.renderer.scrollCursorIntoView(),P=null)}}function C(ne,ae){var ce=Date.now(),ue=i.renderer.layerConfig.lineHeight,ve=i.renderer.layerConfig.characterWidth,Ce=i.renderer.scroller.getBoundingClientRect(),Ee={x:{left:M-Ce.left,right:Ce.right-M},y:{top:A-Ce.top,bottom:Ce.bottom-A}},Le=Math.min(Ee.x.left,Ee.x.right),Xe=Math.min(Ee.y.top,Ee.y.bottom),Ge={row:ne.row,column:ne.column};Le/ve<=2&&(Ge.column+=Ee.x.left<Ee.x.right?-3:2),Xe/ue<=1&&(Ge.row+=Ee.y.top<Ee.y.bottom?-1:1);var ft=ne.row!=Ge.row,it=ne.column!=Ge.column,gt=!ae||ne.row!=ae.row;ft||it&&!gt?H?ce-H>=f&&i.renderer.scrollCursorIntoView(Ge):H=ce:H=null}function N(){var ne=E;E=i.renderer.screenToTextCoordinates(M,A),T(E,ne),C(E,ne)}function j(){k=i.selection.toOrientedRange(),x=i.session.addMarker(k,"ace_selection",i.getSelectionStyle()),i.clearSelection(),i.isFocused()&&i.renderer.$cursorLayer.setBlinking(!1),clearInterval(_),N(),_=setInterval(N,20),O=0,p.addListener(document,"mousemove",Z)}function U(){clearInterval(_),i.session.removeMarker(x),x=null,i.selection.fromOrientedRange(k),i.isFocused()&&!L&&i.$resetCursorStyle(),k=null,E=null,O=0,H=null,P=null,p.removeListener(document,"mousemove",Z)}var K=null;function Z(){K==null&&(K=setTimeout(function(){K!=null&&x&&U()},20))}function te(ne){var ae=ne.types;return!ae||Array.prototype.some.call(ae,function(ce){return ce=="text/plain"||ce=="Text"})}function he(ne){var ae=["copy","copymove","all","uninitialized"],ce=["move","copymove","linkmove","all","uninitialized"],ue=w.isMac?ne.altKey:ne.ctrlKey,ve="uninitialized";try{ve=ne.dataTransfer.effectAllowed.toLowerCase()}catch{}var Ce="none";return ue&&ae.indexOf(ve)>=0?Ce="copy":ce.indexOf(ve)>=0?Ce="move":ae.indexOf(ve)>=0&&(Ce="copy"),Ce}}(function(){this.dragWait=function(){var c=Date.now()-this.mousedownEvent.time;c>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var c=this.editor.container;c.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(c){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var c=this.editor,i=c.container;i.draggable=!0,c.renderer.$cursorLayer.setBlinking(!1),c.setStyle("ace_dragging");var l=w.isWin?"default":"move";c.renderer.setCursorStyle(l),this.setState("dragReady")},this.onMouseDrag=function(c){var i=this.editor.container;if(w.isIE&&this.state=="dragReady"){var l=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);l>3&&i.dragDrop()}if(this.state==="dragWait"){var l=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);l>0&&(i.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(c){if(this.$dragEnabled){this.mousedownEvent=c;var i=this.editor,l=c.inSelection(),m=c.getButton(),b=c.domEvent.detail||1;if(b===1&&m===0&&l){if(c.editor.inMultiSelectMode&&(c.getAccelKey()||c.getShiftKey()))return;this.mousedownEvent.time=Date.now();var x=c.domEvent.target||c.domEvent.srcElement;if("unselectable"in x&&(x.unselectable="on"),i.getDragDelay()){if(w.isWebKit){this.cancelDrag=!0;var M=i.container;M.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(c,this.onMouseDrag.bind(this)),c.defaultPrevented=!0}}}}).call(a.prototype);function h(c,i,l,m){return Math.sqrt(Math.pow(l-c,2)+Math.pow(m-i,2))}r.DragdropHandler=a}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(n,r,u){var d=n("./mouse_event").MouseEvent,p=n("../lib/event"),w=n("../lib/dom");r.addTouchListeners=function(f,g){var s="scroll",a,h,c,i,l,m,b=0,x,M=0,A=0,_=0,k,E;function O(){var T=window.navigator&&window.navigator.clipboard,C=!1,N=function(){var K=g.getCopyText(),Z=g.session.getUndoManager().hasUndo();E.replaceChild(w.buildDom(C?["span",!K&&j("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],K&&j("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],K&&j("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],T&&j("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],Z&&j("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],j("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],j("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),E.firstChild)},j=function(K){return g.commands.canExecute(K,g)},U=function(K){var Z=K.target.getAttribute("action");if(Z=="more"||!C)return C=!C,N();Z=="paste"?T.readText().then(function(te){g.execCommand(Z,te)}):Z&&((Z=="cut"||Z=="copy")&&(T?T.writeText(g.getCopyText()):document.execCommand("copy")),g.execCommand(Z)),E.firstChild.style.display="none",C=!1,Z!="openCommandPalette"&&g.focus()};E=w.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(K){s="menu",K.stopPropagation(),K.preventDefault(),g.textInput.focus()},ontouchend:function(K){K.stopPropagation(),K.preventDefault(),U(K)},onclick:U},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],g.container)}function F(){if(!g.getOption("enableMobileMenu")){E&&L();return}E||O();var T=g.selection.cursor,C=g.renderer.textToScreenCoordinates(T.row,T.column),N=g.renderer.textToScreenCoordinates(0,0).pageX,j=g.renderer.scrollLeft,U=g.container.getBoundingClientRect();E.style.top=C.pageY-U.top-3+"px",C.pageX-U.left<U.width-70?(E.style.left="",E.style.right="10px"):(E.style.right="",E.style.left=N+j-U.left+"px"),E.style.display="",E.firstChild.style.display="none",g.on("input",L)}function L(T){E&&(E.style.display="none"),g.off("input",L)}function H(){l=null,clearTimeout(l);var T=g.selection.getRange(),C=T.contains(x.row,x.column);(T.isEmpty()||!C)&&(g.selection.moveToPosition(x),g.selection.selectWord()),s="wait",F()}function P(){l=null,clearTimeout(l),g.selection.moveToPosition(x);var T=M>=2?g.selection.getLineRange(x.row):g.session.getBracketRange(x);T&&!T.isEmpty()?g.selection.setRange(T):g.selection.selectWord(),s="wait"}p.addListener(f,"contextmenu",function(T){if(k){var C=g.textInput.getElement();C.focus()}},g),p.addListener(f,"touchstart",function(T){var C=T.touches;if(l||C.length>1){clearTimeout(l),l=null,c=-1,s="zoom";return}k=g.$mouseHandler.isMousePressed=!0;var N=g.renderer.layerConfig.lineHeight,j=g.renderer.layerConfig.lineHeight,U=T.timeStamp;i=U;var K=C[0],Z=K.clientX,te=K.clientY;Math.abs(a-Z)+Math.abs(h-te)>N&&(c=-1),a=T.clientX=Z,h=T.clientY=te,A=_=0;var he=new d(T,g);if(x=he.getDocumentPosition(),U-c<500&&C.length==1&&!b)M++,T.preventDefault(),T.button=0,P();else{M=0;var ne=g.selection.cursor,ae=g.selection.isEmpty()?ne:g.selection.anchor,ce=g.renderer.$cursorLayer.getPixelPosition(ne,!0),ue=g.renderer.$cursorLayer.getPixelPosition(ae,!0),ve=g.renderer.scroller.getBoundingClientRect(),Ce=g.renderer.layerConfig.offset,Ee=g.renderer.scrollLeft,Le=function(ft,it){return ft=ft/j,it=it/N-.75,ft*ft+it*it};if(T.clientX<ve.left){s="zoom";return}var Xe=Le(T.clientX-ve.left-ce.left+Ee,T.clientY-ve.top-ce.top+Ce),Ge=Le(T.clientX-ve.left-ue.left+Ee,T.clientY-ve.top-ue.top+Ce);Xe<3.5&&Ge<3.5&&(s=Xe>Ge?"cursor":"anchor"),Ge<3.5?s="anchor":Xe<3.5?s="cursor":s="scroll",l=setTimeout(H,450)}c=U},g),p.addListener(f,"touchend",function(T){k=g.$mouseHandler.isMousePressed=!1,m&&clearInterval(m),s=="zoom"?(s="",b=0):l?(g.selection.moveToPosition(x),b=0,F()):s=="scroll"?(I(),L()):F(),clearTimeout(l),l=null},g),p.addListener(f,"touchmove",function(T){l&&(clearTimeout(l),l=null);var C=T.touches;if(!(C.length>1||s=="zoom")){var N=C[0],j=a-N.clientX,U=h-N.clientY;if(s=="wait")if(j*j+U*U>4)s="cursor";else return T.preventDefault();a=N.clientX,h=N.clientY,T.clientX=N.clientX,T.clientY=N.clientY;var K=T.timeStamp,Z=K-i;if(i=K,s=="scroll"){var te=new d(T,g);te.speed=1,te.wheelX=j,te.wheelY=U,10*Math.abs(j)<Math.abs(U)&&(j=0),10*Math.abs(U)<Math.abs(j)&&(U=0),Z!=0&&(A=j/Z,_=U/Z),g._emit("mousewheel",te),te.propagationStopped||(A=_=0)}else{var he=new d(T,g),ne=he.getDocumentPosition();s=="cursor"?g.selection.moveCursorToPosition(ne):s=="anchor"&&g.selection.setSelectionAnchor(ne.row,ne.column),g.renderer.scrollCursorIntoView(ne),T.preventDefault()}}},g);function I(){b+=60,m=setInterval(function(){b--<=0&&(clearInterval(m),m=null),Math.abs(A)<.01&&(A=0),Math.abs(_)<.01&&(_=0),b<20&&(A=.9*A),b<20&&(_=.9*_);var T=g.session.getScrollTop();g.renderer.scrollBy(10*A,10*_),T==g.session.getScrollTop()&&(b=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(n,r,u){var d=n("../lib/event"),p=n("../lib/useragent"),w=n("./default_handlers").DefaultHandlers,f=n("./default_gutter_handler").GutterHandler,g=n("./mouse_event").MouseEvent,s=n("./dragdrop_handler").DragdropHandler,a=n("./touch_handler").addTouchListeners,h=n("../config"),c=function(){function i(l){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var m=this;this.editor=l,new w(this),new f(this),new s(this);var b=function(A){var _=!document.hasFocus||!document.hasFocus()||!l.isFocused()&&document.activeElement==(l.textInput&&l.textInput.getElement());_&&window.focus(),l.focus(),setTimeout(function(){l.isFocused()||l.focus()})},x=l.renderer.getMouseEventTarget();d.addListener(x,"click",this.onMouseEvent.bind(this,"click"),l),d.addListener(x,"mousemove",this.onMouseMove.bind(this,"mousemove"),l),d.addMultiMouseDownListener([x,l.renderer.scrollBarV&&l.renderer.scrollBarV.inner,l.renderer.scrollBarH&&l.renderer.scrollBarH.inner,l.textInput&&l.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",l),d.addMouseWheelListener(l.container,this.onMouseWheel.bind(this,"mousewheel"),l),a(l.container,l);var M=l.renderer.$gutter;d.addListener(M,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),l),d.addListener(M,"click",this.onMouseEvent.bind(this,"gutterclick"),l),d.addListener(M,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),l),d.addListener(M,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),l),d.addListener(x,"mousedown",b,l),d.addListener(M,"mousedown",b,l),p.isIE&&l.renderer.scrollBarV&&(d.addListener(l.renderer.scrollBarV.element,"mousedown",b,l),d.addListener(l.renderer.scrollBarH.element,"mousedown",b,l)),l.on("mousemove",function(A){if(!(m.state||m.$dragDelay||!m.$dragEnabled)){var _=l.renderer.screenToTextCoordinates(A.x,A.y),k=l.session.selection.getRange(),E=l.renderer;!k.isEmpty()&&k.insideStart(_.row,_.column)?E.setCursorStyle("default"):E.setCursorStyle("")}},l)}return i.prototype.onMouseEvent=function(l,m){this.editor.session&&this.editor._emit(l,new g(m,this.editor))},i.prototype.onMouseMove=function(l,m){var b=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!b||!b.length||this.editor._emit(l,new g(m,this.editor))},i.prototype.onMouseWheel=function(l,m){var b=new g(m,this.editor);b.speed=this.$scrollSpeed*2,b.wheelX=m.wheelX,b.wheelY=m.wheelY,this.editor._emit(l,b)},i.prototype.setState=function(l){this.state=l},i.prototype.captureMouse=function(l,m){this.x=l.x,this.y=l.y,this.isMousePressed=!0;var b=this.editor,x=this.editor.renderer;x.$isMousePressed=!0;var M=this,A=function(F){if(F){if(p.isWebKit&&!F.which&&M.releaseMouse)return M.releaseMouse();M.x=F.clientX,M.y=F.clientY,m&&m(F),M.mouseEvent=new g(F,M.editor),M.$mouseMoved=!0}},_=function(F){b.off("beforeEndOperation",E),clearInterval(O),b.session&&k(),M[M.state+"End"]&&M[M.state+"End"](F),M.state="",M.isMousePressed=x.$isMousePressed=!1,x.$keepTextAreaAtCursor&&x.$moveTextAreaToCursor(),M.$onCaptureMouseMove=M.releaseMouse=null,F&&M.onMouseEvent("mouseup",F),b.endOperation()},k=function(){M[M.state]&&M[M.state](),M.$mouseMoved=!1};if(p.isOldIE&&l.domEvent.type=="dblclick")return setTimeout(function(){_(l)});var E=function(F){M.releaseMouse&&b.curOp.command.name&&b.curOp.selectionChanged&&(M[M.state+"End"]&&M[M.state+"End"](),M.state="",M.releaseMouse())};b.on("beforeEndOperation",E),b.startOperation({command:{name:"mouse"}}),M.$onCaptureMouseMove=A,M.releaseMouse=d.capture(this.editor.container,A,_);var O=setInterval(k,20)},i.prototype.cancelContextMenu=function(){var l=(function(m){m&&m.domEvent&&m.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",l),m&&m.domEvent&&d.stopEvent(m.domEvent))}).bind(this);setTimeout(l,10),this.editor.on("nativecontextmenu",l)},i.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},i}();c.prototype.releaseMouse=null,h.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:p.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),r.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(n,r,u){var d=n("../lib/dom"),p=function(){function w(f){f.on("click",function(g){var s=g.getDocumentPosition(),a=f.session,h=a.getFoldAt(s.row,s.column,1);h&&(g.getAccelKey()?a.removeFold(h):a.expandFold(h),g.stop());var c=g.domEvent&&g.domEvent.target;c&&d.hasCssClass(c,"ace_inline_button")&&d.hasCssClass(c,"ace_toggle_wrap")&&(a.setOption("wrap",!a.getUseWrapMode()),f.renderer.scrollCursorIntoView())}),f.on("gutterclick",function(g){var s=f.renderer.$gutterLayer.getRegion(g);if(s=="foldWidgets"){var a=g.getDocumentPosition().row,h=f.session;h.foldWidgets&&h.foldWidgets[a]&&f.session.onFoldWidgetClick(a,g),f.isFocused()||f.focus(),g.stop()}}),f.on("gutterdblclick",function(g){var s=f.renderer.$gutterLayer.getRegion(g);if(s=="foldWidgets"){var a=g.getDocumentPosition().row,h=f.session,c=h.getParentFoldRangeData(a,!0),i=c.range||c.firstRange;if(i){a=i.start.row;var l=h.getFoldAt(a,h.getLine(a).length,1);l?h.removeFold(l):(h.addFold("...",i),f.renderer.scrollCursorIntoView({row:i.start.row,column:0}))}g.stop()}})}return w}();r.FoldHandler=p}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(n,r,u){var d=n("../lib/keys"),p=n("../lib/event"),w=function(){function f(g){this.$editor=g,this.$data={editor:g},this.$handlers=[],this.setDefaultHandler(g.commands)}return f.prototype.setDefaultHandler=function(g){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=g,this.addKeyboardHandler(g,0)},f.prototype.setKeyboardHandler=function(g){var s=this.$handlers;if(s[s.length-1]!=g){for(;s[s.length-1]&&s[s.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(s[s.length-1]);this.addKeyboardHandler(g,1)}},f.prototype.addKeyboardHandler=function(g,s){if(g){typeof g=="function"&&!g.handleKeyboard&&(g.handleKeyboard=g);var a=this.$handlers.indexOf(g);a!=-1&&this.$handlers.splice(a,1),s==null?this.$handlers.push(g):this.$handlers.splice(s,0,g),a==-1&&g.attach&&g.attach(this.$editor)}},f.prototype.removeKeyboardHandler=function(g){var s=this.$handlers.indexOf(g);return s==-1?!1:(this.$handlers.splice(s,1),g.detach&&g.detach(this.$editor),!0)},f.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},f.prototype.getStatusText=function(){var g=this.$data,s=g.editor;return this.$handlers.map(function(a){return a.getStatusText&&a.getStatusText(s,g)||""}).filter(Boolean).join(" ")},f.prototype.$callKeyboardHandlers=function(g,s,a,h){for(var c,i=!1,l=this.$editor.commands,m=this.$handlers.length;m--&&(c=this.$handlers[m].handleKeyboard(this.$data,g,s,a,h),!(!(!c||!c.command)&&(c.command=="null"?i=!0:i=l.exec(c.command,this.$editor,c.args,h),i&&h&&g!=-1&&c.passEvent!=!0&&c.command.passEvent!=!0&&p.stopEvent(h),i))););return!i&&g==-1&&(c={command:"insertstring"},i=l.exec("insertstring",this.$editor,s)),i&&this.$editor._signal&&this.$editor._signal("keyboardActivity",c),i},f.prototype.onCommandKey=function(g,s,a){var h=d.keyCodeToString(a);return this.$callKeyboardHandlers(s,h,a,g)},f.prototype.onTextInput=function(g){return this.$callKeyboardHandlers(-1,g)},f}();r.KeyBinding=w}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(n,r,u){var d=0,p=0,w=!1,f=!1,g=!1,s=[[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]],a=[[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]],h=0,c=1,i=0,l=1,m=2,b=3,x=4,M=5,A=6,_=7,k=8,E=9,O=10,F=11,L=12,H=13,P=14,I=15,T=16,C=17,N=18,j=[N,N,N,N,N,N,N,N,N,A,M,A,k,M,N,N,N,N,N,N,N,N,N,N,N,N,N,N,M,M,M,A,k,x,x,F,F,F,x,x,x,x,x,O,E,O,E,E,m,m,m,m,m,m,m,m,m,m,E,x,x,x,x,x,x,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,x,x,x,x,x,x,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,x,x,x,x,N,N,N,N,N,N,M,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,E,x,F,F,F,F,x,x,x,x,i,x,x,N,x,x,F,F,m,m,x,i,x,x,x,m,i,x,x,x,x,x],U=[k,k,k,k,k,k,k,k,k,k,k,N,N,N,i,l,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k,M,H,P,I,T,C,E,F,F,F,F,F,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,E,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k];function K(ne,ae,ce,ue){var ve=d?a:s,Ce=null,Ee=null,Le=null,Xe=0,Ge=null,ft=null,it=-1,gt=null,sn=null,vn=[];if(!ue)for(gt=0,ue=[];gt<ce;gt++)ue[gt]=he(ne[gt]);for(p=d,w=!1,f=!1,g=!1,sn=0;sn<ce;sn++){if(Ce=Xe,vn[sn]=Ee=te(ne,ue,vn,sn),Xe=ve[Ce][Ee],Ge=Xe&240,Xe&=15,ae[sn]=Le=ve[Xe][5],Ge>0)if(Ge==16){for(gt=it;gt<sn;gt++)ae[gt]=1;it=-1}else it=-1;if(ft=ve[Xe][6],ft)it==-1&&(it=sn);else if(it>-1){for(gt=it;gt<sn;gt++)ae[gt]=Le;it=-1}ue[sn]==M&&(ae[sn]=0),p|=Le}if(g){for(gt=0;gt<ce;gt++)if(ue[gt]==A){ae[gt]=d;for(var Jt=gt-1;Jt>=0&&ue[Jt]==k;Jt--)ae[Jt]=d}}}function Z(ne,ae,ce){if(!(p<ne)){if(ne==1&&d==c&&!f){ce.reverse();return}for(var ue=ce.length,ve=0,Ce,Ee,Le,Xe;ve<ue;){if(ae[ve]>=ne){for(Ce=ve+1;Ce<ue&&ae[Ce]>=ne;)Ce++;for(Ee=ve,Le=Ce-1;Ee<Le;Ee++,Le--)Xe=ce[Ee],ce[Ee]=ce[Le],ce[Le]=Xe;ve=Ce}ve++}}}function te(ne,ae,ce,ue){var ve=ae[ue],Ce,Ee,Le,Xe;switch(ve){case i:case l:w=!1;case x:case b:return ve;case m:return w?b:m;case _:return w=!0,l;case k:return x;case E:return ue<1||ue+1>=ae.length||(Ce=ce[ue-1])!=m&&Ce!=b||(Ee=ae[ue+1])!=m&&Ee!=b?x:(w&&(Ee=b),Ee==Ce?Ee:x);case O:return Ce=ue>0?ce[ue-1]:M,Ce==m&&ue+1<ae.length&&ae[ue+1]==m?m:x;case F:if(ue>0&&ce[ue-1]==m)return m;if(w)return x;for(Xe=ue+1,Le=ae.length;Xe<Le&&ae[Xe]==F;)Xe++;return Xe<Le&&ae[Xe]==m?m:x;case L:for(Le=ae.length,Xe=ue+1;Xe<Le&&ae[Xe]==L;)Xe++;if(Xe<Le){var Ge=ne[ue],ft=Ge>=1425&&Ge<=2303||Ge==64286;if(Ce=ae[Xe],ft&&(Ce==l||Ce==_))return l}return ue<1||(Ce=ae[ue-1])==M?x:ce[ue-1];case M:return w=!1,f=!0,d;case A:return g=!0,x;case H:case P:case T:case C:case I:w=!1;case N:return x}}function he(ne){var ae=ne.charCodeAt(0),ce=ae>>8;return ce==0?ae>191?i:j[ae]:ce==5?/[\u0591-\u05f4]/.test(ne)?l:i:ce==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(ne)?L:/[\u0660-\u0669\u066b-\u066c]/.test(ne)?b:ae==1642?F:/[\u06f0-\u06f9]/.test(ne)?m:_:ce==32&&ae<=8287?U[ae&255]:ce==254&&ae>=65136?_:x}r.L=i,r.R=l,r.EN=m,r.ON_R=3,r.AN=4,r.R_H=5,r.B=6,r.RLE=7,r.DOT="·",r.doBidiReorder=function(ne,ae,ce){if(ne.length<2)return{};var ue=ne.split(""),ve=new Array(ue.length),Ce=new Array(ue.length),Ee=[];d=ce?c:h,K(ue,Ee,ue.length,ae);for(var Le=0;Le<ve.length;ve[Le]=Le,Le++);Z(2,Ee,ve),Z(1,Ee,ve);for(var Le=0;Le<ve.length-1;Le++)ae[Le]===b?Ee[Le]=r.AN:Ee[Le]===l&&(ae[Le]>_&&ae[Le]<H||ae[Le]===x||ae[Le]===N)?Ee[Le]=r.ON_R:Le>0&&ue[Le-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(ue[Le])&&(Ee[Le-1]=Ee[Le]=r.R_H,Le++);ue[ue.length-1]===r.DOT&&(Ee[ue.length-1]=r.B),ue[0]==="‫"&&(Ee[0]=r.RLE);for(var Le=0;Le<ve.length;Le++)Ce[Le]=Ee[ve[Le]];return{logicalFromVisual:ve,bidiLevels:Ce}},r.hasBidiCharacters=function(ne,ae){for(var ce=!1,ue=0;ue<ne.length;ue++)ae[ue]=he(ne.charAt(ue)),!ce&&(ae[ue]==l||ae[ue]==_||ae[ue]==b)&&(ce=!0);return ce},r.getVisualFromLogicalIdx=function(ne,ae){for(var ce=0;ce<ae.logicalFromVisual.length;ce++)if(ae.logicalFromVisual[ce]==ne)return ce;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(n,r,u){var d=n("./lib/bidiutil"),p=n("./lib/lang"),w=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,f=function(){function g(s){this.session=s,this.bidiMap={},this.currentRow=null,this.bidiUtil=d,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=w.test(s.getValue())}return g.prototype.isBidiRow=function(s,a,h){return this.seenBidi?(s!==this.currentRow&&(this.currentRow=s,this.updateRowLine(a,h),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},g.prototype.onChange=function(s){this.seenBidi?this.currentRow=null:s.action=="insert"&&w.test(s.lines.join(`
185
+ `))&&(this.seenBidi=!0,this.currentRow=null)},g.prototype.getDocumentRow=function(){var s=0,a=this.session.$screenRowCache;if(a.length){var h=this.session.$getRowCacheIndex(a,this.currentRow);h>=0&&(s=this.session.$docRowCache[h])}return s},g.prototype.getSplitIndex=function(){var s=0,a=this.session.$screenRowCache;if(a.length)for(var h,c=this.session.$getRowCacheIndex(a,this.currentRow);this.currentRow-s>0&&(h=this.session.$getRowCacheIndex(a,this.currentRow-s-1),h===c);)c=h,s++;else s=this.currentRow;return s},g.prototype.updateRowLine=function(s,a){s===void 0&&(s=this.getDocumentRow());var h=s===this.session.getLength()-1,c=h?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(s),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var i=this.session.$wrapData[s];i&&(a===void 0&&(a=this.getSplitIndex()),a>0&&i.length?(this.wrapIndent=i.indent,this.wrapOffset=this.wrapIndent*this.charWidths[d.L],this.line=a<i.length?this.line.substring(i[a-1],i[a]):this.line.substring(i[i.length-1])):this.line=this.line.substring(0,i[a]),a==i.length&&(this.line+=this.showInvisibles?c:d.DOT))}else this.line+=this.showInvisibles?c:d.DOT;var l=this.session,m=0,b;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(x,M){return x===" "||l.isFullWidth(x.charCodeAt(0))?(b=x===" "?l.getScreenTabSize(M+m):2,m+=b-1,p.stringRepeat(d.DOT,b)):x}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==d.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},g.prototype.updateBidiMap=function(){var s=[];d.hasBidiCharacters(this.line,s)||this.isRtlDir?this.bidiMap=d.doBidiReorder(this.line,s,this.isRtlDir):this.bidiMap={}},g.prototype.markAsDirty=function(){this.currentRow=null},g.prototype.updateCharacterWidths=function(s){if(this.characterWidth!==s.$characterSize.width){this.fontMetrics=s;var a=this.characterWidth=s.$characterSize.width,h=s.$measureCharWidth("ה");this.charWidths[d.L]=this.charWidths[d.EN]=this.charWidths[d.ON_R]=a,this.charWidths[d.R]=this.charWidths[d.AN]=h,this.charWidths[d.R_H]=h*.45,this.charWidths[d.B]=this.charWidths[d.RLE]=0,this.currentRow=null}},g.prototype.setShowInvisibles=function(s){this.showInvisibles=s,this.currentRow=null},g.prototype.setEolChar=function(s){this.EOL=s},g.prototype.setContentWidth=function(s){this.contentWidth=s},g.prototype.isRtlLine=function(s){return this.$isRtl?!0:s!=null?this.session.getLine(s).charAt(0)==this.RLE:this.isRtlDir},g.prototype.setRtlDirection=function(s,a){for(var h=s.getCursorPosition(),c=s.selection.getSelectionAnchor().row;c<=h.row;c++)!a&&s.session.getLine(c).charAt(0)===s.session.$bidiHandler.RLE?s.session.doc.removeInLine(c,0,1):a&&s.session.getLine(c).charAt(0)!==s.session.$bidiHandler.RLE&&s.session.doc.insert({column:0,row:c},s.session.$bidiHandler.RLE)},g.prototype.getPosLeft=function(s){s-=this.wrapIndent;var a=this.line.charAt(0)===this.RLE?1:0,h=s>a?this.session.getOverwrite()?s:s-1:a,c=d.getVisualFromLogicalIdx(h,this.bidiMap),i=this.bidiMap.bidiLevels,l=0;!this.session.getOverwrite()&&s<=a&&i[c]%2!==0&&c++;for(var m=0;m<c;m++)l+=this.charWidths[i[m]];return!this.session.getOverwrite()&&s>a&&i[c]%2===0&&(l+=this.charWidths[i[c]]),this.wrapIndent&&(l+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(l+=this.rtlLineOffset),l},g.prototype.getSelections=function(s,a){var h=this.bidiMap,c=h.bidiLevels,i,l=[],m=0,b=Math.min(s,a)-this.wrapIndent,x=Math.max(s,a)-this.wrapIndent,M=!1,A=!1,_=0;this.wrapIndent&&(m+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var k,E=0;E<c.length;E++)k=h.logicalFromVisual[E],i=c[E],M=k>=b&&k<x,M&&!A?_=m:!M&&A&&l.push({left:_,width:m-_}),m+=this.charWidths[i],A=M;if(M&&E===c.length&&l.push({left:_,width:m-_}),this.isRtlDir)for(var O=0;O<l.length;O++)l[O].left+=this.rtlLineOffset;return l},g.prototype.offsetToCol=function(h){this.isRtlDir&&(h-=this.rtlLineOffset);var a=0,h=Math.max(h,0),c=0,i=0,l=this.bidiMap.bidiLevels,m=this.charWidths[l[i]];for(this.wrapIndent&&(h-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);h>c+m/2;){if(c+=m,i===l.length-1){m=0;break}m=this.charWidths[l[++i]]}return i>0&&l[i-1]%2!==0&&l[i]%2===0?(h<c&&i--,a=this.bidiMap.logicalFromVisual[i]):i>0&&l[i-1]%2===0&&l[i]%2!==0?a=1+(h>c?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===l.length-1&&m===0&&l[i-1]%2===0||!this.isRtlDir&&i===0&&l[i]%2!==0?a=1+this.bidiMap.logicalFromVisual[i]:(i>0&&l[i-1]%2!==0&&m!==0&&i--,a=this.bidiMap.logicalFromVisual[i]),a===0&&this.isRtlDir&&a++,a+this.wrapIndent},g}();r.BidiHandler=f}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(n,r,u){var d=n("./lib/oop"),p=n("./lib/lang"),w=n("./lib/event_emitter").EventEmitter,f=n("./range").Range,g=function(){function s(a){this.session=a,this.doc=a.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var h=this;this.cursor.on("change",function(c){h.$cursorChanged=!0,h.$silent||h._emit("changeCursor"),!h.$isEmpty&&!h.$silent&&h._emit("changeSelection"),!h.$keepDesiredColumnOnChange&&c.old.column!=c.value.column&&(h.$desiredColumn=null)}),this.anchor.on("change",function(){h.$anchorChanged=!0,!h.$isEmpty&&!h.$silent&&h._emit("changeSelection")})}return s.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},s.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},s.prototype.getCursor=function(){return this.lead.getPosition()},s.prototype.setAnchor=function(a,h){this.$isEmpty=!1,this.anchor.setPosition(a,h)},s.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},s.prototype.getSelectionLead=function(){return this.lead.getPosition()},s.prototype.isBackwards=function(){var a=this.anchor,h=this.lead;return a.row>h.row||a.row==h.row&&a.column>h.column},s.prototype.getRange=function(){var a=this.anchor,h=this.lead;return this.$isEmpty?f.fromPoints(h,h):this.isBackwards()?f.fromPoints(h,a):f.fromPoints(a,h)},s.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},s.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},s.prototype.setRange=function(a,h){var c=h?a.end:a.start,i=h?a.start:a.end;this.$setSelection(c.row,c.column,i.row,i.column)},s.prototype.$setSelection=function(a,h,c,i){if(!this.$silent){var l=this.$isEmpty,m=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(a,h),this.cursor.setPosition(c,i),this.$isEmpty=!f.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||l!=this.$isEmpty||m)&&this._emit("changeSelection")}},s.prototype.$moveSelection=function(a){var h=this.lead;this.$isEmpty&&this.setSelectionAnchor(h.row,h.column),a.call(this)},s.prototype.selectTo=function(a,h){this.$moveSelection(function(){this.moveCursorTo(a,h)})},s.prototype.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},s.prototype.moveTo=function(a,h){this.clearSelection(),this.moveCursorTo(a,h)},s.prototype.moveToPosition=function(a){this.clearSelection(),this.moveCursorToPosition(a)},s.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},s.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},s.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},s.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},s.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},s.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},s.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},s.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},s.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},s.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},s.prototype.getWordRange=function(a,h){if(typeof h>"u"){var c=a||this.lead;a=c.row,h=c.column}return this.session.getWordRange(a,h)},s.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},s.prototype.selectAWord=function(){var a=this.getCursor(),h=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(h)},s.prototype.getLineRange=function(a,h){var c=typeof a=="number"?a:this.lead.row,i,l=this.session.getFoldLine(c);return l?(c=l.start.row,i=l.end.row):i=c,h===!0?new f(c,0,i,this.session.getLine(i).length):new f(c,0,i+1,0)},s.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},s.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},s.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},s.prototype.wouldMoveIntoSoftTab=function(a,h,c){var i=a.column,l=a.column+h;return c<0&&(i=a.column-h,l=a.column),this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(i,l).split(" ").length-1==h},s.prototype.moveCursorLeft=function(){var a=this.lead.getPosition(),h;if(h=this.session.getFoldAt(a.row,a.column,-1))this.moveCursorTo(h.start.row,h.start.column);else if(a.column===0)a.row>0&&this.moveCursorTo(a.row-1,this.doc.getLine(a.row-1).length);else{var c=this.session.getTabSize();this.wouldMoveIntoSoftTab(a,c,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},s.prototype.moveCursorRight=function(){var a=this.lead.getPosition(),h;if(h=this.session.getFoldAt(a.row,a.column,1))this.moveCursorTo(h.end.row,h.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 c=this.session.getTabSize(),a=this.lead;this.wouldMoveIntoSoftTab(a,c,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,c):this.moveCursorBy(0,1)}},s.prototype.moveCursorLineStart=function(){var a=this.lead.row,h=this.lead.column,c=this.session.documentToScreenRow(a,h),i=this.session.screenToDocumentPosition(c,0),l=this.session.getDisplayLine(a,null,i.row,i.column),m=l.match(/^\s*/);m[0].length!=h&&!this.session.$useEmacsStyleLineStart&&(i.column+=m[0].length),this.moveCursorToPosition(i)},s.prototype.moveCursorLineEnd=function(){var a=this.lead,h=this.session.getDocumentLastRowColumnPosition(a.row,a.column);if(this.lead.column==h.column){var c=this.session.getLine(h.row);if(h.column==c.length){var i=c.search(/\s+$/);i>0&&(h.column=i)}}this.moveCursorTo(h.row,h.column)},s.prototype.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,h=this.doc.getLine(a).length;this.moveCursorTo(a,h)},s.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},s.prototype.moveCursorLongWordRight=function(){var a=this.lead.row,h=this.lead.column,c=this.doc.getLine(a),i=c.substring(h);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var l=this.session.getFoldAt(a,h,1);if(l){this.moveCursorTo(l.end.row,l.end.column);return}if(this.session.nonTokenRe.exec(i)&&(h+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=c.substring(h)),h>=c.length){this.moveCursorTo(a,c.length),this.moveCursorRight(),a<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(i)&&(h+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(a,h)},s.prototype.moveCursorLongWordLeft=function(){var a=this.lead.row,h=this.lead.column,c;if(c=this.session.getFoldAt(a,h,-1)){this.moveCursorTo(c.start.row,c.start.column);return}var i=this.session.getFoldStringAt(a,h,-1);i==null&&(i=this.doc.getLine(a).substring(0,h));var l=p.stringReverse(i);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(l)&&(h-=this.session.nonTokenRe.lastIndex,l=l.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),h<=0){this.moveCursorTo(a,0),this.moveCursorLeft(),a>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(l)&&(h-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(a,h)},s.prototype.$shortWordEndIndex=function(a){var h=0,c,i=/\s/,l=this.session.tokenRe;if(l.lastIndex=0,this.session.tokenRe.exec(a))h=this.session.tokenRe.lastIndex;else{for(;(c=a[h])&&i.test(c);)h++;if(h<1){for(l.lastIndex=0;(c=a[h])&&!l.test(c);)if(l.lastIndex=0,h++,i.test(c))if(h>2){h--;break}else{for(;(c=a[h])&&i.test(c);)h++;if(h>2)break}}}return l.lastIndex=0,h},s.prototype.moveCursorShortWordRight=function(){var a=this.lead.row,h=this.lead.column,c=this.doc.getLine(a),i=c.substring(h),l=this.session.getFoldAt(a,h,1);if(l)return this.moveCursorTo(l.end.row,l.end.column);if(h==c.length){var m=this.doc.getLength();do a++,i=this.doc.getLine(a);while(a<m&&/^\s*$/.test(i));/^\s+/.test(i)||(i=""),h=0}var b=this.$shortWordEndIndex(i);this.moveCursorTo(a,h+b)},s.prototype.moveCursorShortWordLeft=function(){var a=this.lead.row,h=this.lead.column,c;if(c=this.session.getFoldAt(a,h,-1))return this.moveCursorTo(c.start.row,c.start.column);var i=this.session.getLine(a).substring(0,h);if(h===0){do a--,i=this.doc.getLine(a);while(a>0&&/^\s*$/.test(i));h=i.length,/\s+$/.test(i)||(i="")}var l=p.stringReverse(i),m=this.$shortWordEndIndex(l);return this.moveCursorTo(a,h-m)},s.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},s.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},s.prototype.moveCursorBy=function(a,h){var c=this.session.documentToScreenPosition(this.lead.row,this.lead.column),i;if(h===0&&(a!==0&&(this.session.$bidiHandler.isBidiRow(c.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(c.column),c.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=c.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?c.column=this.$desiredColumn:this.$desiredColumn=c.column),a!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var l=this.session.lineWidgets[this.lead.row];a<0?a-=l.rowsAbove||0:a>0&&(a+=l.rowCount-(l.rowsAbove||0))}var m=this.session.screenToDocumentPosition(c.row+a,c.column,i);a!==0&&h===0&&m.row===this.lead.row&&(m.column,this.lead.column),this.moveCursorTo(m.row,m.column+h,h===0)},s.prototype.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},s.prototype.moveCursorTo=function(a,h,c){var i=this.session.getFoldAt(a,h,1);i&&(a=i.start.row,h=i.start.column),this.$keepDesiredColumnOnChange=!0;var l=this.session.getLine(a);/[\uDC00-\uDFFF]/.test(l.charAt(h))&&l.charAt(h-1)&&(this.lead.row==a&&this.lead.column==h+1?h=h-1:h=h+1),this.lead.setPosition(a,h),this.$keepDesiredColumnOnChange=!1,c||(this.$desiredColumn=null)},s.prototype.moveCursorToScreen=function(a,h,c){var i=this.session.screenToDocumentPosition(a,h);this.moveCursorTo(i.row,i.column,c)},s.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},s.prototype.fromOrientedRange=function(a){this.setSelectionRange(a,a.cursor==a.start),this.$desiredColumn=a.desiredColumn||this.$desiredColumn},s.prototype.toOrientedRange=function(a){var h=this.getRange();return a?(a.start.column=h.start.column,a.start.row=h.start.row,a.end.column=h.end.column,a.end.row=h.end.row):a=h,a.cursor=this.isBackwards()?a.start:a.end,a.desiredColumn=this.$desiredColumn,a},s.prototype.getRangeOfMovements=function(a){var h=this.getCursor();try{a(this);var c=this.getCursor();return f.fromPoints(h,c)}catch{return f.fromPoints(h,h)}finally{this.moveCursorToPosition(h)}},s.prototype.toJSON=function(){if(this.rangeCount)var a=this.ranges.map(function(h){var c=h.clone();return c.isBackwards=h.cursor==h.start,c});else{var a=this.getRange();a.isBackwards=this.isBackwards()}return a},s.prototype.fromJSON=function(a){if(a.start==null)if(this.rangeList&&a.length>1){this.toSingleRange(a[0]);for(var h=a.length;h--;){var c=f.fromPoints(a[h].start,a[h].end);a[h].isBackwards&&(c.cursor=c.start),this.addRange(c,!0)}return}else a=a[0];this.rangeList&&this.toSingleRange(a),this.setSelectionRange(a,a.isBackwards)},s.prototype.isEqual=function(a){if((a.length||this.rangeCount)&&a.length!=this.rangeCount)return!1;if(!a.length||!this.ranges)return this.getRange().isEqual(a);for(var h=this.ranges.length;h--;)if(!this.ranges[h].isEqual(a[h]))return!1;return!0},s}();g.prototype.setSelectionAnchor=g.prototype.setAnchor,g.prototype.getSelectionAnchor=g.prototype.getAnchor,g.prototype.setSelectionRange=g.prototype.setRange,d.implement(g.prototype,w),r.Selection=g}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(n,r,u){var d=n("./lib/report_error").reportError,p=2e3,w=function(){function f(g){this.splitRegex,this.states=g,this.regExps={},this.matchMappings={};for(var s in this.states){for(var a=this.states[s],h=[],c=0,i=this.matchMappings[s]={defaultToken:"text"},l="g",m=[],b=0;b<a.length;b++){var x=a[b];if(x.defaultToken&&(i.defaultToken=x.defaultToken),x.caseInsensitive&&l.indexOf("i")===-1&&(l+="i"),x.unicode&&l.indexOf("u")===-1&&(l+="u"),x.regex!=null){x.regex instanceof RegExp&&(x.regex=x.regex.toString().slice(1,-1));var M=x.regex,A=new RegExp("(?:("+M+")|(.))").exec("a").length-2;Array.isArray(x.token)?x.token.length==1||A==1?x.token=x.token[0]:A-1!=x.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:x,groupCount:A-1}),x.token=x.token[0]):(x.tokenArray=x.token,x.token=null,x.onMatch=this.$arrayTokens):typeof x.token=="function"&&!x.onMatch&&(A>1?x.onMatch=this.$applyToken:x.onMatch=x.token),A>1&&(/\\\d/.test(x.regex)?M=x.regex.replace(/\\([0-9]+)/g,function(_,k){return"\\"+(parseInt(k,10)+c+1)}):(A=1,M=this.removeCapturingGroups(x.regex)),!x.splitRegex&&typeof x.token!="string"&&m.push(x)),i[c]=b,c+=A,h.push(M),x.onMatch||(x.onMatch=null)}}h.length||(i[0]=0,h.push("$")),m.forEach(function(_){_.splitRegex=this.createSplitterRegexp(_.regex,l)},this),this.regExps[s]=new RegExp("("+h.join(")|(")+")|($)",l)}}return f.prototype.$setMaxTokenCount=function(g){p=g|0},f.prototype.$applyToken=function(g){var s=this.splitRegex.exec(g).slice(1),a=this.token.apply(this,s);if(typeof a=="string")return[{type:a,value:g}];for(var h=[],c=0,i=a.length;c<i;c++)s[c]&&(h[h.length]={type:a[c],value:s[c]});return h},f.prototype.$arrayTokens=function(g){if(!g)return[];var s=this.splitRegex.exec(g);if(!s)return"text";for(var a=[],h=this.tokenArray,c=0,i=h.length;c<i;c++)s[c+1]&&(a[a.length]={type:h[c],value:s[c+1]});return a},f.prototype.removeCapturingGroups=function(g){var s=g.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(a,h){return h?"(?:":a});return s},f.prototype.createSplitterRegexp=function(g,s){if(g.indexOf("(?=")!=-1){var a=0,h=!1,c={};g.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(i,l,m,b,x,M){return h?h=x!="]":x?h=!0:b?(a==c.stack&&(c.end=M+1,c.stack=-1),a--):m&&(a++,m.length!=1&&(c.stack=a,c.start=M)),i}),c.end!=null&&/^\)*$/.test(g.substr(c.end))&&(g=g.substring(0,c.start)+g.substr(c.end))}return g.charAt(0)!="^"&&(g="^"+g),g.charAt(g.length-1)!="$"&&(g+="$"),new RegExp(g,(s||"").replace("g",""))},f.prototype.getLineTokens=function(g,s){if(s&&typeof s!="string"){var a=s.slice(0);s=a[0],s==="#tmp"&&(a.shift(),s=a.shift())}else var a=[];var h=s||"start",c=this.states[h];c||(h="start",c=this.states[h]);var i=this.matchMappings[h],l=this.regExps[h];l.lastIndex=0;for(var m,b=[],x=0,M=0,A={type:null,value:""};m=l.exec(g);){var _=i.defaultToken,k=null,E=m[0],O=l.lastIndex;if(O-E.length>x){var F=g.substring(x,O-E.length);A.type==_?A.value+=F:(A.type&&b.push(A),A={type:_,value:F})}for(var L=0;L<m.length-2;L++)if(m[L+1]!==void 0){k=c[i[L]],k.onMatch?_=k.onMatch(E,h,a,g):_=k.token,k.next&&(typeof k.next=="string"?h=k.next:h=k.next(h,a),c=this.states[h],c||(this.reportError("state doesn't exist",h),h="start",c=this.states[h]),i=this.matchMappings[h],x=O,l=this.regExps[h],l.lastIndex=O),k.consumeLineEnd&&(x=O);break}if(E){if(typeof _=="string")(!k||k.merge!==!1)&&A.type===_?A.value+=E:(A.type&&b.push(A),A={type:_,value:E});else if(_){A.type&&b.push(A),A={type:null,value:""};for(var L=0;L<_.length;L++)b.push(_[L])}}if(x==g.length)break;if(x=O,M++>p){for(M>2*g.length&&this.reportError("infinite loop with in ace tokenizer",{startState:s,line:g});x<g.length;)A.type&&b.push(A),A={value:g.substring(x,x+=500),type:"overflow"};h="start",a=[];break}}return A.type&&b.push(A),a.length>1&&a[0]!==h&&a.unshift("#tmp",h),{tokens:b,state:a.length?a:h}},f}();w.prototype.reportError=d,r.Tokenizer=w}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(n,r,u){var d=n("../lib/deep_copy").deepCopy,p;p=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(g,s){if(!s){for(var a in g)this.$rules[a]=g[a];return}for(var a in g){for(var h=g[a],c=0;c<h.length;c++){var i=h[c];(i.next||i.onMatch)&&(typeof i.next=="string"&&i.next.indexOf(s)!==0&&(i.next=s+i.next),i.nextState&&i.nextState.indexOf(s)!==0&&(i.nextState=s+i.nextState))}this.$rules[s+a]=h}},this.getRules=function(){return this.$rules},this.embedRules=function(g,s,a,h,c){var i=typeof g=="function"?new g().getRules():g;if(h)for(var l=0;l<h.length;l++)h[l]=s+h[l];else{h=[];for(var m in i)h.push(s+m)}if(this.addRules(i,s),a)for(var b=Array.prototype[c?"push":"unshift"],l=0;l<h.length;l++)b.apply(this.$rules[h[l]],d(a));this.$embeds||(this.$embeds=[]),this.$embeds.push(s)},this.getEmbeds=function(){return this.$embeds};var w=function(g,s){return(g!="start"||s.length)&&s.unshift(this.nextState,g),this.nextState},f=function(g,s){return s.shift(),s.shift()||"start"};this.normalizeRules=function(){var g=0,s=this.$rules;function a(h){var c=s[h];c.processed=!0;for(var i=0;i<c.length;i++){var l=c[i],m=null;Array.isArray(l)&&(m=l,l={}),!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var b=l.next||l.push;if(b&&Array.isArray(b)){var x=l.stateName;x||(x=l.token,typeof x!="string"&&(x=x[0]||""),s[x]&&(x+=g++)),s[x]=b,l.next=x,a(x)}else b=="pop"&&(l.next=f);if(l.push&&(l.nextState=l.next||l.push,l.next=w,delete l.push),l.rules)for(var M in l.rules)s[M]?s[M].push&&s[M].push.apply(s[M],l.rules[M]):s[M]=l.rules[M];var A=typeof l=="string"?l:l.include;if(A&&(A==="$self"&&(A="start"),Array.isArray(A)?m=A.map(function(k){return s[k]}):m=s[A]),m){var _=[i,1].concat(m);l.noEscape&&(_=_.filter(function(k){return!k.next})),c.splice.apply(c,_),i--}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}}Object.keys(s).forEach(a,this)},this.createKeywordMapper=function(g,s,a,h){var c=Object.create(null);return this.$keywordList=[],Object.keys(g).forEach(function(i){for(var l=g[i],m=l.split(h||"|"),b=m.length;b--;){var x=m[b];this.$keywordList.push(x),a&&(x=x.toLowerCase()),c[x]=i}},this),g=null,a?function(i){return c[i.toLowerCase()]||s}:function(i){return c[i]||s}},this.getKeywords=function(){return this.$keywords}}).call(p.prototype),r.TextHighlightRules=p}),ace.define("ace/mode/behaviour",["require","exports","module"],function(n,r,u){var d;d=function(){this.$behaviours={}},(function(){this.add=function(p,w,f){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[p]:this.$behaviours[p]={}}this.$behaviours[p][w]=f},this.addBehaviours=function(p){for(var w in p)for(var f in p[w])this.add(w,f,p[w][f])},this.remove=function(p){this.$behaviours&&this.$behaviours[p]&&delete this.$behaviours[p]},this.inherit=function(p,w){if(typeof p=="function")var f=new p().getBehaviours(w);else var f=p.getBehaviours(w);this.addBehaviours(f)},this.getBehaviours=function(p){if(p){for(var w={},f=0;f<p.length;f++)this.$behaviours[p[f]]&&(w[p[f]]=this.$behaviours[p[f]]);return w}else return this.$behaviours}}).call(d.prototype),r.Behaviour=d}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(n,r,u){var d=n("./range").Range,p=function(){function w(f,g,s){this.$session=f,this.$row=g,this.$rowTokens=f.getTokens(g);var a=f.getTokenAt(g,s);this.$tokenIndex=a?a.index:-1}return w.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]},w.prototype.stepForward=function(){this.$tokenIndex+=1;for(var f;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,f||(f=this.$session.getLength()),this.$row>=f)return this.$row=f-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},w.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},w.prototype.getCurrentTokenRow=function(){return this.$row},w.prototype.getCurrentTokenColumn=function(){var f=this.$rowTokens,g=this.$tokenIndex,s=f[g].start;if(s!==void 0)return s;for(s=0;g>0;)g-=1,s+=f[g].value.length;return s},w.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},w.prototype.getCurrentTokenRange=function(){var f=this.$rowTokens[this.$tokenIndex],g=this.getCurrentTokenColumn();return new d(this.$row,g,this.$row,g+f.value.length)},w}();r.TokenIterator=p}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(n,r,u){var d=n("../../lib/oop"),p=n("../behaviour").Behaviour,w=n("../../token_iterator").TokenIterator,f=n("../../lib/lang"),g=["text","paren.rparen","rparen","paren","punctuation.operator"],s=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],a,h={},c={'"':'"',"'":"'"},i=function(b){var x=-1;if(b.multiSelect&&(x=b.selection.index,h.rangeCount!=b.multiSelect.rangeCount&&(h={rangeCount:b.multiSelect.rangeCount})),h[x])return a=h[x];a=h[x]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},l=function(b,x,M,A){var _=b.end.row-b.start.row;return{text:M+x+A,selection:[0,b.start.column+1,_,b.end.column+(_?0:1)]}},m;m=function(b){b=b||{},this.add("braces","insertion",function(x,M,A,_,k){var E=A.getCursorPosition(),O=_.doc.getLine(E.row);if(k=="{"){i(A);var F=A.getSelectionRange(),L=_.doc.getTextRange(F),H=_.getTokenAt(E.row,E.column);if(L!==""&&L!=="{"&&A.getWrapBehavioursEnabled())return l(F,L,"{","}");if(H&&/(?:string)\.quasi|\.xml/.test(H.type)){var P=[/tag\-(?:open|name)/,/attribute\-name/];return P.some(function(K){return K.test(H.type)})||/(string)\.quasi/.test(H.type)&&H.value[E.column-H.start-1]!=="$"?void 0:(m.recordAutoInsert(A,_,"}"),{text:"{}",selection:[1,1]})}else if(m.isSaneInsertion(A,_))return/[\]\}\)]/.test(O[E.column])||A.inMultiSelectMode||b.braces?(m.recordAutoInsert(A,_,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(A,_,"{"),{text:"{",selection:[1,1]})}else if(k=="}"){i(A);var I=O.substring(E.column,E.column+1);if(I=="}"){var T=_.$findOpeningBracket("}",{column:E.column+1,row:E.row});if(T!==null&&m.isAutoInsertedClosing(E,O,k))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(k==`
186
+ `||k==`\r
187
+ `){i(A);var C="";m.isMaybeInsertedClosing(E,O)&&(C=f.stringRepeat("}",a.maybeInsertedBrackets),m.clearMaybeInsertedClosing());var I=O.substring(E.column,E.column+1);if(I==="}"){var N=_.findMatchingBracket({row:E.row,column:E.column+1},"}");if(!N)return null;var j=this.$getIndent(_.getLine(N.row))}else if(C)var j=this.$getIndent(O);else{m.clearMaybeInsertedClosing();return}var U=j+_.getTabString();return{text:`
188
+ `+U+`
189
+ `+j+C,selection:[1,U.length,1,U.length]}}else m.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(x,M,A,_,k){var E=_.doc.getTextRange(k);if(!k.isMultiLine()&&E=="{"){i(A);var O=_.doc.getLine(k.start.row),F=O.substring(k.end.column,k.end.column+1);if(F=="}")return k.end.column++,k;a.maybeInsertedBrackets--}}),this.add("parens","insertion",function(x,M,A,_,k){if(k=="("){i(A);var E=A.getSelectionRange(),O=_.doc.getTextRange(E);if(O!==""&&A.getWrapBehavioursEnabled())return l(E,O,"(",")");if(m.isSaneInsertion(A,_))return m.recordAutoInsert(A,_,")"),{text:"()",selection:[1,1]}}else if(k==")"){i(A);var F=A.getCursorPosition(),L=_.doc.getLine(F.row),H=L.substring(F.column,F.column+1);if(H==")"){var P=_.$findOpeningBracket(")",{column:F.column+1,row:F.row});if(P!==null&&m.isAutoInsertedClosing(F,L,k))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(x,M,A,_,k){var E=_.doc.getTextRange(k);if(!k.isMultiLine()&&E=="("){i(A);var O=_.doc.getLine(k.start.row),F=O.substring(k.start.column+1,k.start.column+2);if(F==")")return k.end.column++,k}}),this.add("brackets","insertion",function(x,M,A,_,k){if(k=="["){i(A);var E=A.getSelectionRange(),O=_.doc.getTextRange(E);if(O!==""&&A.getWrapBehavioursEnabled())return l(E,O,"[","]");if(m.isSaneInsertion(A,_))return m.recordAutoInsert(A,_,"]"),{text:"[]",selection:[1,1]}}else if(k=="]"){i(A);var F=A.getCursorPosition(),L=_.doc.getLine(F.row),H=L.substring(F.column,F.column+1);if(H=="]"){var P=_.$findOpeningBracket("]",{column:F.column+1,row:F.row});if(P!==null&&m.isAutoInsertedClosing(F,L,k))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(x,M,A,_,k){var E=_.doc.getTextRange(k);if(!k.isMultiLine()&&E=="["){i(A);var O=_.doc.getLine(k.start.row),F=O.substring(k.start.column+1,k.start.column+2);if(F=="]")return k.end.column++,k}}),this.add("string_dquotes","insertion",function(x,M,A,_,k){var E=_.$mode.$quotes||c;if(k.length==1&&E[k]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(k)!=-1)return;i(A);var O=k,F=A.getSelectionRange(),L=_.doc.getTextRange(F);if(L!==""&&(L.length!=1||!E[L])&&A.getWrapBehavioursEnabled())return l(F,L,O,O);if(!L){var H=A.getCursorPosition(),P=_.doc.getLine(H.row),I=P.substring(H.column-1,H.column),T=P.substring(H.column,H.column+1),C=_.getTokenAt(H.row,H.column),N=_.getTokenAt(H.row,H.column+1);if(I=="\\"&&C&&/escape/.test(C.type))return null;var j=C&&/string|escape/.test(C.type),U=!N||/string|escape/.test(N.type),K;if(T==O)K=j!==U,K&&/string\.end/.test(N.type)&&(K=!1);else{if(j&&!U||j&&U)return null;var Z=_.$mode.tokenRe;Z.lastIndex=0;var te=Z.test(I);Z.lastIndex=0;var he=Z.test(T),ne=_.$mode.$pairQuotesAfter,ae=ne&&ne[O]&&ne[O].test(I);if(!ae&&te||he||T&&!/[\s;,.})\]\\]/.test(T))return null;var ce=P[H.column-2];if(I==O&&(ce==O||Z.test(ce)))return null;K=!0}return{text:K?O+O:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(x,M,A,_,k){var E=_.$mode.$quotes||c,O=_.doc.getTextRange(k);if(!k.isMultiLine()&&E.hasOwnProperty(O)){i(A);var F=_.doc.getLine(k.start.row),L=F.substring(k.start.column+1,k.start.column+2);if(L==O)return k.end.column++,k}}),b.closeDocComment!==!1&&this.add("doc comment end","insertion",function(x,M,A,_,k){if(x==="doc-start"&&(k===`
190
+ `||k===`\r
191
+ `)&&A.selection.isEmpty()){var E=A.getCursorPosition();if(E.column===0)return;for(var O=_.doc.getLine(E.row),F=_.doc.getLine(E.row+1),L=_.getTokens(E.row),H=0,P=0;P<L.length;P++){H+=L[P].value.length;var I=L[P];if(H>=E.column){if(H===E.column){if(!/\.doc/.test(I.type))return;if(/\*\//.test(I.value)){var T=L[P+1];if(!T||!/\.doc/.test(T.type))return}}var C=E.column-(H-I.value.length),N=I.value.indexOf("*/"),j=I.value.indexOf("/**",N>-1?N+2:0);if(j!==-1&&C>j&&C<j+3||N!==-1&&j!==-1&&C>=N&&C<=j||!/\.doc/.test(I.type))return;break}}var U=this.$getIndent(O);if(/\s*\*/.test(F))return/^\s*\*/.test(O)?{text:k+U+"* ",selection:[1,2+U.length,1,2+U.length]}:{text:k+U+" * ",selection:[1,3+U.length,1,3+U.length]};if(/\/\*\*/.test(O.substring(0,E.column)))return{text:k+U+" * "+k+" "+U+"*/",selection:[1,4+U.length,1,4+U.length]}}})},m.isSaneInsertion=function(b,x){var M=b.getCursorPosition(),A=new w(x,M.row,M.column);if(!this.$matchTokenType(A.getCurrentToken()||"text",g)){if(/[)}\]]/.test(b.session.getLine(M.row)[M.column]))return!0;var _=new w(x,M.row,M.column+1);if(!this.$matchTokenType(_.getCurrentToken()||"text",g))return!1}return A.stepForward(),A.getCurrentTokenRow()!==M.row||this.$matchTokenType(A.getCurrentToken()||"text",s)},m.$matchTokenType=function(b,x){return x.indexOf(b.type||b)>-1},m.recordAutoInsert=function(b,x,M){var A=b.getCursorPosition(),_=x.doc.getLine(A.row);this.isAutoInsertedClosing(A,_,a.autoInsertedLineEnd[0])||(a.autoInsertedBrackets=0),a.autoInsertedRow=A.row,a.autoInsertedLineEnd=M+_.substr(A.column),a.autoInsertedBrackets++},m.recordMaybeInsert=function(b,x,M){var A=b.getCursorPosition(),_=x.doc.getLine(A.row);this.isMaybeInsertedClosing(A,_)||(a.maybeInsertedBrackets=0),a.maybeInsertedRow=A.row,a.maybeInsertedLineStart=_.substr(0,A.column)+M,a.maybeInsertedLineEnd=_.substr(A.column),a.maybeInsertedBrackets++},m.isAutoInsertedClosing=function(b,x,M){return a.autoInsertedBrackets>0&&b.row===a.autoInsertedRow&&M===a.autoInsertedLineEnd[0]&&x.substr(b.column)===a.autoInsertedLineEnd},m.isMaybeInsertedClosing=function(b,x){return a.maybeInsertedBrackets>0&&b.row===a.maybeInsertedRow&&x.substr(b.column)===a.maybeInsertedLineEnd&&x.substr(0,b.column)==a.maybeInsertedLineStart},m.popAutoInsertedClosing=function(){a.autoInsertedLineEnd=a.autoInsertedLineEnd.substr(1),a.autoInsertedBrackets--},m.clearMaybeInsertedClosing=function(){a&&(a.maybeInsertedBrackets=0,a.maybeInsertedRow=-1)},d.inherits(m,p),r.CstyleBehaviour=m}),ace.define("ace/unicode",["require","exports","module"],function(n,r,u){for(var d=[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],p=0,w=[],f=0;f<d.length;f+=2)w.push(p+=d[f]),d[f+1]&&w.push(45,p+=d[f+1]);r.wordChars=String.fromCharCode.apply(null,w)}),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(n,r,u){var d=n("../config"),p=n("../tokenizer").Tokenizer,w=n("./text_highlight_rules").TextHighlightRules,f=n("./behaviour/cstyle").CstyleBehaviour,g=n("../unicode"),s=n("../lib/lang"),a=n("../token_iterator").TokenIterator,h=n("../range").Range,c;c=function(){this.HighlightRules=w},(function(){this.$defaultBehaviour=new f,this.tokenRe=new RegExp("^["+g.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+g.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new p(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(i,l,m,b){var x=l.doc,M=!0,A=!0,_=1/0,k=l.getTabSize(),E=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var O=this.lineCommentStart.map(s.escapeRegExp).join("|"),F=this.lineCommentStart[0];else var O=s.escapeRegExp(this.lineCommentStart),F=this.lineCommentStart;O=new RegExp("^(\\s*)(?:"+O+") ?"),E=l.getUseSoftTabs();var L=function(K,Z){var te=K.match(O);if(te){var he=te[1].length,ne=te[0].length;!T(K,he,ne)&&te[0][ne-1]==" "&&ne--,x.removeInLine(Z,he,ne)}},H=F+" ",P=function(K,Z){(!M||/\S/.test(K))&&(T(K,_,_)?x.insertInLine({row:Z,column:_},H):x.insertInLine({row:Z,column:_},F))},I=function(K,Z){return O.test(K)},T=function(K,Z,te){for(var he=0;Z--&&K.charAt(Z)==" ";)he++;if(he%k!=0)return!1;for(var he=0;K.charAt(te++)==" ";)he++;return k>2?he%k!=k-1:he%k==0}}else{if(!this.blockComment)return!1;var F=this.blockComment.start,C=this.blockComment.end,O=new RegExp("^(\\s*)(?:"+s.escapeRegExp(F)+")"),N=new RegExp("(?:"+s.escapeRegExp(C)+")\\s*$"),P=function(ae,ce){I(ae,ce)||(!M||/\S/.test(ae))&&(x.insertInLine({row:ce,column:ae.length},C),x.insertInLine({row:ce,column:_},F))},L=function(ae,ce){var ue;(ue=ae.match(N))&&x.removeInLine(ce,ae.length-ue[0].length,ae.length),(ue=ae.match(O))&&x.removeInLine(ce,ue[1].length,ue[0].length)},I=function(ae,ce){if(O.test(ae))return!0;for(var ue=l.getTokens(ce),ve=0;ve<ue.length;ve++)if(ue[ve].type==="comment")return!0}}function j(K){for(var Z=m;Z<=b;Z++)K(x.getLine(Z),Z)}var U=1/0;j(function(K,Z){var te=K.search(/\S/);te!==-1?(te<_&&(_=te),A&&!I(K,Z)&&(A=!1)):U>K.length&&(U=K.length)}),_==1/0&&(_=U,M=!1,A=!1),E&&_%k!=0&&(_=Math.floor(_/k)*k),j(A?L:P)},this.toggleBlockComment=function(i,l,m,b){var x=this.blockComment;if(x){!x.start&&x[0]&&(x=x[0]);var M=new a(l,b.row,b.column),A=M.getCurrentToken();l.selection;var _=l.selection.toOrientedRange(),k,E;if(A&&/comment/.test(A.type)){for(var O,F;A&&/comment/.test(A.type);){var L=A.value.indexOf(x.start);if(L!=-1){var H=M.getCurrentTokenRow(),P=M.getCurrentTokenColumn()+L;O=new h(H,P,H,P+x.start.length);break}A=M.stepBackward()}for(var M=new a(l,b.row,b.column),A=M.getCurrentToken();A&&/comment/.test(A.type);){var L=A.value.indexOf(x.end);if(L!=-1){var H=M.getCurrentTokenRow(),P=M.getCurrentTokenColumn()+L;F=new h(H,P,H,P+x.end.length);break}A=M.stepForward()}F&&l.remove(F),O&&(l.remove(O),k=O.start.row,E=-x.start.length)}else E=x.start.length,k=m.start.row,l.insert(m.end,x.end),l.insert(m.start,x.start);_.start.row==k&&(_.start.column+=E),_.end.row==k&&(_.end.column+=E),l.selection.fromOrientedRange(_)}},this.getNextLineIndent=function(i,l,m){return this.$getIndent(l)},this.checkOutdent=function(i,l,m){return!1},this.autoOutdent=function(i,l,m){},this.$getIndent=function(i){return i.match(/^\s*/)[0]},this.createWorker=function(i){return null},this.createModeDelegates=function(i){this.$embeds=[],this.$modes={};for(var l in i)if(i[l]){var m=i[l],b=m.prototype.$id,x=d.$modes[b];x||(d.$modes[b]=x=new m),d.$modes[l]||(d.$modes[l]=x),this.$embeds.push(l),this.$modes[l]=x}for(var M=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],A=function(E){(function(O){var F=M[E],L=O[F];O[M[E]]=function(){return this.$delegator(F,arguments,L)}})(_)},_=this,l=0;l<M.length;l++)A(l)},this.$delegator=function(i,l,m){var b=l[0]||"start";if(typeof b!="string"){if(Array.isArray(b[2])){var x=b[2][b[2].length-1],M=this.$modes[x];if(M)return M[i].apply(M,[b[1]].concat([].slice.call(l,1)))}b=b[0]||"start"}for(var A=0;A<this.$embeds.length;A++)if(this.$modes[this.$embeds[A]]){var _=b.split(this.$embeds[A]);if(!_[0]&&_[1]){l[0]=_[1];var M=this.$modes[this.$embeds[A]];return M[i].apply(M,l)}}var k=m.apply(this,l);return m?k:void 0},this.transformAction=function(i,l,m,b,x){if(this.$behaviour){var M=this.$behaviour.getBehaviours();for(var A in M)if(M[A][l]){var _=M[A][l].apply(this,arguments);if(_)return _}}},this.getKeywords=function(i){if(!this.completionKeywords){var l=this.$tokenizer.rules,m=[];for(var b in l)for(var x=l[b],M=0,A=x.length;M<A;M++)if(typeof x[M].token=="string")/keyword|support|storage/.test(x[M].token)&&m.push(x[M].regex);else if(typeof x[M].token=="object"){for(var _=0,k=x[M].token.length;_<k;_++)if(/keyword|support|storage/.test(x[M].token[_])){var b=x[M].regex.match(/\(.+?\)/g)[_];m.push(b.substr(1,b.length-2))}}this.completionKeywords=m}return i?m.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(i,l,m,b){var x=this.$keywordList||this.$createKeywordList();return x.map(function(M){return{name:M,value:M,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),r.Mode=c}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(n,r,u){var d=n("./lib/dom"),p=function(){function w(f){this.session=f,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 w.prototype.getRowLength=function(f){var g;return this.lineWidgets?g=this.lineWidgets[f]&&this.lineWidgets[f].rowCount||0:g=0,!this.$useWrapMode||!this.$wrapData[f]?1+g:this.$wrapData[f].length+1+g},w.prototype.$getWidgetScreenLength=function(){var f=0;return this.lineWidgets.forEach(function(g){g&&g.rowCount&&!g.hidden&&(f+=g.rowCount)}),f},w.prototype.$onChangeEditor=function(f){this.attach(f.editor)},w.prototype.attach=function(f){f&&f.widgetManager&&f.widgetManager!=this&&f.widgetManager.detach(),this.editor!=f&&(this.detach(),this.editor=f,f&&(f.widgetManager=this,f.renderer.on("beforeRender",this.measureWidgets),f.renderer.on("afterRender",this.renderWidgets)))},w.prototype.detach=function(f){var g=this.editor;if(g){this.editor=null,g.widgetManager=null,g.renderer.off("beforeRender",this.measureWidgets),g.renderer.off("afterRender",this.renderWidgets);var s=this.session.lineWidgets;s&&s.forEach(function(a){a&&a.el&&a.el.parentNode&&(a._inDocument=!1,a.el.parentNode.removeChild(a.el))})}},w.prototype.updateOnFold=function(f,g){var s=g.lineWidgets;if(!(!s||!f.action)){for(var a=f.data,h=a.start.row,c=a.end.row,i=f.action=="add",l=h+1;l<c;l++)s[l]&&(s[l].hidden=i);s[c]&&(i?s[h]?s[c].hidden=i:s[h]=s[c]:(s[h]==s[c]&&(s[h]=void 0),s[c].hidden=i))}},w.prototype.updateOnChange=function(f){var g=this.session.lineWidgets;if(g){var s=f.start.row,a=f.end.row-s;if(a!==0)if(f.action=="remove"){var h=g.splice(s+1,a);!g[s]&&h[h.length-1]&&(g[s]=h.pop()),h.forEach(function(i){i&&this.removeLineWidget(i)},this),this.$updateRows()}else{var c=new Array(a);g[s]&&g[s].column!=null&&f.start.column>g[s].column&&s++,c.unshift(s,0),g.splice.apply(g,c),this.$updateRows()}}},w.prototype.$updateRows=function(){var f=this.session.lineWidgets;if(f){var g=!0;f.forEach(function(s,a){if(s)for(g=!1,s.row=a;s.$oldWidget;)s.$oldWidget.row=a,s=s.$oldWidget}),g&&(this.session.lineWidgets=null)}},w.prototype.$registerLineWidget=function(f){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var g=this.session.lineWidgets[f.row];return g&&(f.$oldWidget=g,g.el&&g.el.parentNode&&(g.el.parentNode.removeChild(g.el),g._inDocument=!1)),this.session.lineWidgets[f.row]=f,f},w.prototype.addLineWidget=function(f){if(this.$registerLineWidget(f),f.session=this.session,!this.editor)return f;var g=this.editor.renderer;f.html&&!f.el&&(f.el=d.createElement("div"),f.el.innerHTML=f.html),f.text&&!f.el&&(f.el=d.createElement("div"),f.el.textContent=f.text),f.el&&(d.addCssClass(f.el,"ace_lineWidgetContainer"),f.className&&d.addCssClass(f.el,f.className),f.el.style.position="absolute",f.el.style.zIndex="5",g.container.appendChild(f.el),f._inDocument=!0,f.coverGutter||(f.el.style.zIndex="3"),f.pixelHeight==null&&(f.pixelHeight=f.el.offsetHeight)),f.rowCount==null&&(f.rowCount=f.pixelHeight/g.layerConfig.lineHeight);var s=this.session.getFoldAt(f.row,0);if(f.$fold=s,s){var a=this.session.lineWidgets;f.row==s.end.row&&!a[s.start.row]?a[s.start.row]=f:f.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:f.row}}}),this.$updateRows(),this.renderWidgets(null,g),this.onWidgetChanged(f),f},w.prototype.removeLineWidget=function(f){if(f._inDocument=!1,f.session=null,f.el&&f.el.parentNode&&f.el.parentNode.removeChild(f.el),f.editor&&f.editor.destroy)try{f.editor.destroy()}catch{}if(this.session.lineWidgets){var g=this.session.lineWidgets[f.row];if(g==f)this.session.lineWidgets[f.row]=f.$oldWidget,f.$oldWidget&&this.onWidgetChanged(f.$oldWidget);else for(;g;){if(g.$oldWidget==f){g.$oldWidget=f.$oldWidget;break}g=g.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:f.row}}}),this.$updateRows()},w.prototype.getWidgetsAtRow=function(f){for(var g=this.session.lineWidgets,s=g&&g[f],a=[];s;)a.push(s),s=s.$oldWidget;return a},w.prototype.onWidgetChanged=function(f){this.session._changedWidgets.push(f),this.editor&&this.editor.renderer.updateFull()},w.prototype.measureWidgets=function(f,g){var s=this.session._changedWidgets,a=g.layerConfig;if(!(!s||!s.length)){for(var h=1/0,c=0;c<s.length;c++){var i=s[c];if(!(!i||!i.el)&&i.session==this.session){if(!i._inDocument){if(this.session.lineWidgets[i.row]!=i)continue;i._inDocument=!0,g.container.appendChild(i.el)}i.h=i.el.offsetHeight,i.fixedWidth||(i.w=i.el.offsetWidth,i.screenWidth=Math.ceil(i.w/a.characterWidth));var l=i.h/a.lineHeight;i.coverLine&&(l-=this.session.getRowLineCount(i.row),l<0&&(l=0)),i.rowCount!=l&&(i.rowCount=l,i.row<h&&(h=i.row))}}h!=1/0&&(this.session._emit("changeFold",{data:{start:{row:h}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},w.prototype.renderWidgets=function(f,g){var s=g.layerConfig,a=this.session.lineWidgets;if(a){for(var h=Math.min(this.firstRow,s.firstRow),c=Math.max(this.lastRow,s.lastRow,a.length);h>0&&!a[h];)h--;this.firstRow=s.firstRow,this.lastRow=s.lastRow,g.$cursorLayer.config=s;for(var i=h;i<=c;i++){var l=a[i];if(!(!l||!l.el)){if(l.hidden){l.el.style.top=-100-(l.pixelHeight||0)+"px";continue}l._inDocument||(l._inDocument=!0,g.container.appendChild(l.el));var m=g.$cursorLayer.getPixelPosition({row:i,column:0},!0).top;l.coverLine||(m+=s.lineHeight*this.session.getRowLineCount(l.row)),l.el.style.top=m-s.offset+"px";var b=l.coverGutter?0:g.gutterWidth;l.fixedWidth||(b-=g.scrollLeft),l.el.style.left=b+"px",l.fullWidth&&l.screenWidth&&(l.el.style.minWidth=s.width+2*s.padding+"px"),l.fixedWidth?l.el.style.right=g.scrollBar.getWidth()+"px":l.el.style.right=""}}}},w}();r.LineWidgets=p}),ace.define("ace/apply_delta",["require","exports","module"],function(n,r,u){r.applyDelta=function(d,p,w){var f=p.start.row,g=p.start.column,s=d[f]||"";switch(p.action){case"insert":var a=p.lines;if(a.length===1)d[f]=s.substring(0,g)+p.lines[0]+s.substring(g);else{var h=[f,1].concat(p.lines);d.splice.apply(d,h),d[f]=s.substring(0,g)+d[f],d[f+p.lines.length-1]+=s.substring(g)}break;case"remove":var c=p.end.column,i=p.end.row;f===i?d[f]=s.substring(0,g)+s.substring(c):d.splice(f,i-f+1,s.substring(0,g)+d[i].substring(c));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(n,r,u){var d=n("./lib/oop"),p=n("./lib/event_emitter").EventEmitter,w=function(){function s(a,h,c){this.$onChange=this.onChange.bind(this),this.attach(a),typeof h!="number"?this.setPosition(h.row,h.column):this.setPosition(h,c)}return s.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},s.prototype.getDocument=function(){return this.document},s.prototype.onChange=function(a){if(!(a.start.row==a.end.row&&a.start.row!=this.row)&&!(a.start.row>this.row)){var h=g(a,{row:this.row,column:this.column},this.$insertRight);this.setPosition(h.row,h.column,!0)}},s.prototype.setPosition=function(a,h,c){var i;if(c?i={row:a,column:h}:i=this.$clipPositionToDocument(a,h),!(this.row==i.row&&this.column==i.column)){var l={row:this.row,column:this.column};this.row=i.row,this.column=i.column,this._signal("change",{old:l,value:i})}},s.prototype.detach=function(){this.document.off("change",this.$onChange)},s.prototype.attach=function(a){this.document=a||this.document,this.document.on("change",this.$onChange)},s.prototype.$clipPositionToDocument=function(a,h){var c={};return a>=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,h))),h<0&&(c.column=0),c},s}();w.prototype.$insertRight=!1,d.implement(w.prototype,p);function f(s,a,h){var c=h?s.column<=a.column:s.column<a.column;return s.row<a.row||s.row==a.row&&c}function g(s,a,h){var c=s.action=="insert",i=(c?1:-1)*(s.end.row-s.start.row),l=(c?1:-1)*(s.end.column-s.start.column),m=s.start,b=c?m:s.end;return f(a,m,h)?{row:a.row,column:a.column}:f(b,a,!h)?{row:a.row+i,column:a.column+(a.row==b.row?l:0)}:{row:m.row,column:m.column}}r.Anchor=w}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(n,r,u){var d=n("./lib/oop"),p=n("./apply_delta").applyDelta,w=n("./lib/event_emitter").EventEmitter,f=n("./range").Range,g=n("./anchor").Anchor,s=function(){function a(h){this.$lines=[""],h.length===0?this.$lines=[""]:Array.isArray(h)?this.insertMergedLines({row:0,column:0},h):this.insert({row:0,column:0},h)}return a.prototype.setValue=function(h){var c=this.getLength()-1;this.remove(new f(0,0,c,this.getLine(c).length)),this.insert({row:0,column:0},h||"")},a.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},a.prototype.createAnchor=function(h,c){return new g(this,h,c)},a.prototype.$detectNewLine=function(h){var c=h.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=c?c[1]:`
192
+ `,this._signal("changeNewLineMode")},a.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
193
+ `;case"unix":return`
194
+ `;default:return this.$autoNewLine||`
195
+ `}},a.prototype.setNewLineMode=function(h){this.$newLineMode!==h&&(this.$newLineMode=h,this._signal("changeNewLineMode"))},a.prototype.getNewLineMode=function(){return this.$newLineMode},a.prototype.isNewLine=function(h){return h==`\r
196
+ `||h=="\r"||h==`
197
+ `},a.prototype.getLine=function(h){return this.$lines[h]||""},a.prototype.getLines=function(h,c){return this.$lines.slice(h,c+1)},a.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},a.prototype.getLength=function(){return this.$lines.length},a.prototype.getTextRange=function(h){return this.getLinesForRange(h).join(this.getNewLineCharacter())},a.prototype.getLinesForRange=function(h){var c;if(h.start.row===h.end.row)c=[this.getLine(h.start.row).substring(h.start.column,h.end.column)];else{c=this.getLines(h.start.row,h.end.row),c[0]=(c[0]||"").substring(h.start.column);var i=c.length-1;h.end.row-h.start.row==i&&(c[i]=c[i].substring(0,h.end.column))}return c},a.prototype.insertLines=function(h,c){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(h,c)},a.prototype.removeLines=function(h,c){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(h,c)},a.prototype.insertNewLine=function(h){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(h,["",""])},a.prototype.insert=function(h,c){return this.getLength()<=1&&this.$detectNewLine(c),this.insertMergedLines(h,this.$split(c))},a.prototype.insertInLine=function(h,c){var i=this.clippedPos(h.row,h.column),l=this.pos(h.row,h.column+c.length);return this.applyDelta({start:i,end:l,action:"insert",lines:[c]},!0),this.clonePos(l)},a.prototype.clippedPos=function(h,c){var i=this.getLength();h===void 0?h=i:h<0?h=0:h>=i&&(h=i-1,c=void 0);var l=this.getLine(h);return c==null&&(c=l.length),c=Math.min(Math.max(c,0),l.length),{row:h,column:c}},a.prototype.clonePos=function(h){return{row:h.row,column:h.column}},a.prototype.pos=function(h,c){return{row:h,column:c}},a.prototype.$clipPosition=function(h){var c=this.getLength();return h.row>=c?(h.row=Math.max(0,c-1),h.column=this.getLine(c-1).length):(h.row=Math.max(0,h.row),h.column=Math.min(Math.max(h.column,0),this.getLine(h.row).length)),h},a.prototype.insertFullLines=function(h,c){h=Math.min(Math.max(h,0),this.getLength());var i=0;h<this.getLength()?(c=c.concat([""]),i=0):(c=[""].concat(c),h--,i=this.$lines[h].length),this.insertMergedLines({row:h,column:i},c)},a.prototype.insertMergedLines=function(h,c){var i=this.clippedPos(h.row,h.column),l={row:i.row+c.length-1,column:(c.length==1?i.column:0)+c[c.length-1].length};return this.applyDelta({start:i,end:l,action:"insert",lines:c}),this.clonePos(l)},a.prototype.remove=function(h){var c=this.clippedPos(h.start.row,h.start.column),i=this.clippedPos(h.end.row,h.end.column);return this.applyDelta({start:c,end:i,action:"remove",lines:this.getLinesForRange({start:c,end:i})}),this.clonePos(c)},a.prototype.removeInLine=function(h,c,i){var l=this.clippedPos(h,c),m=this.clippedPos(h,i);return this.applyDelta({start:l,end:m,action:"remove",lines:this.getLinesForRange({start:l,end:m})},!0),this.clonePos(l)},a.prototype.removeFullLines=function(h,c){h=Math.min(Math.max(0,h),this.getLength()-1),c=Math.min(Math.max(0,c),this.getLength()-1);var i=c==this.getLength()-1&&h>0,l=c<this.getLength()-1,m=i?h-1:h,b=i?this.getLine(m).length:0,x=l?c+1:c,M=l?0:this.getLine(x).length,A=new f(m,b,x,M),_=this.$lines.slice(h,c+1);return this.applyDelta({start:A.start,end:A.end,action:"remove",lines:this.getLinesForRange(A)}),_},a.prototype.removeNewLine=function(h){h<this.getLength()-1&&h>=0&&this.applyDelta({start:this.pos(h,this.getLine(h).length),end:this.pos(h+1,0),action:"remove",lines:["",""]})},a.prototype.replace=function(h,c){if(h instanceof f||(h=f.fromPoints(h.start,h.end)),c.length===0&&h.isEmpty())return h.start;if(c==this.getTextRange(h))return h.end;this.remove(h);var i;return c?i=this.insert(h.start,c):i=h.start,i},a.prototype.applyDeltas=function(h){for(var c=0;c<h.length;c++)this.applyDelta(h[c])},a.prototype.revertDeltas=function(h){for(var c=h.length-1;c>=0;c--)this.revertDelta(h[c])},a.prototype.applyDelta=function(h,c){var i=h.action=="insert";(i?h.lines.length<=1&&!h.lines[0]:!f.comparePoints(h.start,h.end))||(i&&h.lines.length>2e4?this.$splitAndapplyLargeDelta(h,2e4):(p(this.$lines,h,c),this._signal("change",h)))},a.prototype.$safeApplyDelta=function(h){var c=this.$lines.length;(h.action=="remove"&&h.start.row<c&&h.end.row<c||h.action=="insert"&&h.start.row<=c)&&this.applyDelta(h)},a.prototype.$splitAndapplyLargeDelta=function(h,c){for(var i=h.lines,l=i.length-c+1,m=h.start.row,b=h.start.column,x=0,M=0;x<l;x=M){M+=c-1;var A=i.slice(x,M);A.push(""),this.applyDelta({start:this.pos(m+x,b),end:this.pos(m+M,b=0),action:h.action,lines:A},!0)}h.lines=i.slice(x),h.start.row=m+x,h.start.column=b,this.applyDelta(h,!0)},a.prototype.revertDelta=function(h){this.$safeApplyDelta({start:this.clonePos(h.start),end:this.clonePos(h.end),action:h.action=="insert"?"remove":"insert",lines:h.lines.slice()})},a.prototype.indexToPosition=function(h,c){for(var i=this.$lines||this.getAllLines(),l=this.getNewLineCharacter().length,m=c||0,b=i.length;m<b;m++)if(h-=i[m].length+l,h<0)return{row:m,column:h+i[m].length+l};return{row:b-1,column:h+i[b-1].length+l}},a.prototype.positionToIndex=function(h,c){for(var i=this.$lines||this.getAllLines(),l=this.getNewLineCharacter().length,m=0,b=Math.min(h.row,i.length),x=c||0;x<b;++x)m+=i[x].length+l;return m+h.column},a.prototype.$split=function(h){return h.split(/\r\n|\r|\n/)},a}();s.prototype.$autoNewLine="",s.prototype.$newLineMode="auto",d.implement(s.prototype,w),r.Document=s}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(n,r,u){var d=n("./lib/oop"),p=n("./lib/event_emitter").EventEmitter,w=function(){function f(g,s){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=g;var a=this;this.$worker=function(){if(a.running){for(var h=new Date,c=a.currentLine,i=-1,l=a.doc,m=c;a.lines[c];)c++;var b=l.getLength(),x=0;for(a.running=!1;c<b;){a.$tokenizeRow(c),i=c;do c++;while(a.lines[c]);if(x++,x%5===0&&new Date-h>20){a.running=setTimeout(a.$worker,20);break}}a.currentLine=c,i==-1&&(i=c),m<=i&&a.fireUpdateEvent(m,i)}}}return f.prototype.setTokenizer=function(g){this.tokenizer=g,this.lines=[],this.states=[],this.start(0)},f.prototype.setDocument=function(g){this.doc=g,this.lines=[],this.states=[],this.stop()},f.prototype.fireUpdateEvent=function(g,s){var a={first:g,last:s};this._signal("update",{data:a})},f.prototype.start=function(g){this.currentLine=Math.min(g||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)},f.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},f.prototype.$updateOnChange=function(g){var s=g.start.row,a=g.end.row-s;if(a===0)this.lines[s]=null;else if(g.action=="remove")this.lines.splice(s,a+1,null),this.states.splice(s,a+1,null);else{var h=Array(a+1);h.unshift(s,1),this.lines.splice.apply(this.lines,h),this.states.splice.apply(this.states,h)}this.currentLine=Math.min(s,this.currentLine,this.doc.getLength()),this.stop()},f.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},f.prototype.getTokens=function(g){return this.lines[g]||this.$tokenizeRow(g)},f.prototype.getState=function(g){return this.currentLine==g&&this.$tokenizeRow(g),this.states[g]||"start"},f.prototype.$tokenizeRow=function(g){var s=this.doc.getLine(g),a=this.states[g-1],h=this.tokenizer.getLineTokens(s,a,g);return this.states[g]+""!=h.state+""?(this.states[g]=h.state,this.lines[g+1]=null,this.currentLine>g+1&&(this.currentLine=g+1)):this.currentLine==g&&(this.currentLine=g+1),this.lines[g]=h.tokens},f.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},f}();d.implement(w.prototype,p),r.BackgroundTokenizer=w}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(n,r,u){var d=n("./lib/lang"),p=n("./range").Range,w=function(){function f(g,s,a){a===void 0&&(a="text"),this.setRegexp(g),this.clazz=s,this.type=a,this.docLen=0}return f.prototype.setRegexp=function(g){this.regExp+""!=g+""&&(this.regExp=g,this.cache=[])},f.prototype.update=function(g,s,a,h){if(this.regExp){for(var c=h.firstRow,i=h.lastRow,l={},m=a.$editor.$search,b=m.$isMultilineSearch(a.$editor.getLastSearchOptions()),x=c;x<=i;x++){var M=this.cache[x];if(M==null||a.getValue().length!=this.docLen){if(b){M=[];var A=m.$multiLineForward(a,this.regExp,x,i);if(A){var _=A.endRow<=i?A.endRow-1:i;_>x&&(x=_),M.push(new p(A.startRow,A.startCol,A.endRow,A.endCol))}M.length>this.MAX_RANGES&&(M=M.slice(0,this.MAX_RANGES))}else M=d.getMatchOffsets(a.getLine(x),this.regExp),M.length>this.MAX_RANGES&&(M=M.slice(0,this.MAX_RANGES)),M=M.map(function(F){return new p(x,F.offset,x,F.offset+F.length)});this.cache[x]=M.length?M:""}if(M.length!==0)for(var k=M.length;k--;){var E=M[k].toScreenRange(a),O=E.toString();l[O]||(l[O]=!0,s.drawSingleLineMarker(g,E,this.clazz,h))}}this.docLen=a.getValue().length}},f}();w.prototype.MAX_RANGES=500,r.SearchHighlight=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(n,r,u){var d=function(){function _(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return _.prototype.addSession=function(k){this.$session=k},_.prototype.add=function(k,E,O){if(!this.$fromUndo&&k!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),E===!1||!this.lastDeltas){this.lastDeltas=[];var F=this.$undoStack.length;F>this.$undoDepth-1&&this.$undoStack.splice(0,F-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),k.id=this.$rev=++this.$maxRev}(k.action=="remove"||k.action=="insert")&&(this.$lastDelta=k),this.lastDeltas.push(k)}},_.prototype.addSelection=function(k,E){this.selections.push({value:k,rev:E||this.$rev})},_.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},_.prototype.markIgnored=function(k,E){E==null&&(E=this.$rev+1);for(var O=this.$undoStack,F=O.length;F--;){var L=O[F][0];if(L.id<=k)break;L.id<E&&(L.ignore=!0)}this.lastDeltas=null},_.prototype.getSelection=function(k,E){for(var O=this.selections,F=O.length;F--;){var L=O[F];if(L.rev<k)return E&&(L=O[F+1]),L}},_.prototype.getRevision=function(){return this.$rev},_.prototype.getDeltas=function(k,E){E==null&&(E=this.$rev+1);for(var O=this.$undoStack,F=null,L=0,H=O.length;H--;){var P=O[H][0];if(P.id<E&&!F&&(F=H+1),P.id<=k){L=H+1;break}}return O.slice(L,F)},_.prototype.getChangedRanges=function(k,E){E==null&&(E=this.$rev+1)},_.prototype.getChangedLines=function(k,E){E==null&&(E=this.$rev+1)},_.prototype.undo=function(k,E){this.lastDeltas=null;var O=this.$undoStack;if(p(O,O.length)){k||(k=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var F=O.pop(),L=null;return F&&(L=k.undoChanges(F,E),this.$redoStack.push(F),this.$syncRev()),this.$fromUndo=!1,L}},_.prototype.redo=function(k,E){if(this.lastDeltas=null,k||(k=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var O=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);A(this.$redoStack,O),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(H){H[0].id=++this.$maxRev},this)}var F=this.$redoStack.pop(),L=null;return F&&(L=k.redoChanges(F,E),this.$undoStack.push(F),this.$syncRev()),this.$fromUndo=!1,L},_.prototype.$syncRev=function(){var k=this.$undoStack,E=k[k.length-1],O=E&&E[0].id||0;this.$redoStackBaseRev=O,this.$rev=O},_.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(k){k==null&&(k=this.$rev),this.mark=k},_.prototype.isAtBookmark=function(){return this.$rev===this.mark},_.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},_.prototype.fromJSON=function(k){this.reset(),this.$undoStack=k.$undoStack,this.$redoStack=k.$redoStack},_.prototype.$prettyPrint=function(k){return k?a(k):a(this.$undoStack)+`
198
+ ---
199
+ `+a(this.$redoStack)},_}();d.prototype.hasUndo=d.prototype.canUndo,d.prototype.hasRedo=d.prototype.canRedo,d.prototype.isClean=d.prototype.isAtBookmark,d.prototype.markClean=d.prototype.bookmark;function p(_,k){for(var E=k;E--;){var O=_[E];if(O&&!O[0].ignore){for(;E<k-1;){var F=i(_[E],_[E+1]);_[E]=F[0],_[E+1]=F[1],E++}return!0}}}var w=n("./range").Range,f=w.comparePoints;w.comparePoints;function g(_){return{row:_.row,column:_.column}}function s(_){return{start:g(_.start),end:g(_.end),action:_.action,lines:_.lines.slice()}}function a(_){if(_=_||this,Array.isArray(_))return _.map(a).join(`
200
+ `);var k="";return _.action?(k=_.action=="insert"?"+":"-",k+="["+_.lines+"]"):_.value&&(Array.isArray(_.value)?k=_.value.map(h).join(`
201
+ `):k=h(_.value)),_.start&&(k+=h(_)),(_.id||_.rev)&&(k+=" ("+(_.id||_.rev)+")"),k}function h(_){return _.start.row+":"+_.start.column+"=>"+_.end.row+":"+_.end.column}function c(_,k){var E=_.action=="insert",O=k.action=="insert";if(E&&O)if(f(k.start,_.end)>=0)m(k,_,-1);else if(f(k.start,_.start)<=0)m(_,k,1);else return null;else if(E&&!O)if(f(k.start,_.end)>=0)m(k,_,-1);else if(f(k.end,_.start)<=0)m(_,k,-1);else return null;else if(!E&&O)if(f(k.start,_.start)>=0)m(k,_,1);else if(f(k.start,_.start)<=0)m(_,k,1);else return null;else if(!E&&!O)if(f(k.start,_.start)>=0)m(k,_,1);else if(f(k.end,_.start)<=0)m(_,k,-1);else return null;return[k,_]}function i(_,k){for(var E=_.length;E--;)for(var O=0;O<k.length;O++)if(!c(_[E],k[O])){for(;E<_.length;){for(;O--;)c(k[O],_[E]);O=k.length,E++}return[_,k]}return _.selectionBefore=k.selectionBefore=_.selectionAfter=k.selectionAfter=null,[k,_]}function l(_,k){var E=_.action=="insert",O=k.action=="insert";if(E&&O)f(_.start,k.start)<0?m(k,_,1):m(_,k,1);else if(E&&!O)f(_.start,k.end)>=0?m(_,k,-1):(f(_.start,k.start)<=0||m(_,w.fromPoints(k.start,_.start),-1),m(k,_,1));else if(!E&&O)f(k.start,_.end)>=0?m(k,_,-1):(f(k.start,_.start)<=0||m(k,w.fromPoints(_.start,k.start),-1),m(_,k,1));else if(!E&&!O)if(f(k.start,_.end)>=0)m(k,_,-1);else if(f(k.end,_.start)<=0)m(_,k,-1);else{var F,L;return f(_.start,k.start)<0&&(F=_,_=x(_,k.start)),f(_.end,k.end)>0&&(L=x(_,k.end)),b(k.end,_.start,_.end,-1),L&&!F&&(_.lines=L.lines,_.start=L.start,_.end=L.end,L=_),[k,F,L].filter(Boolean)}return[k,_]}function m(_,k,E){b(_.start,k.start,k.end,E),b(_.end,k.start,k.end,E)}function b(_,k,E,O){_.row==(O==1?k:E).row&&(_.column+=O*(E.column-k.column)),_.row+=O*(E.row-k.row)}function x(_,k){var E=_.lines,O=_.end;_.end=g(k);var F=_.end.row-_.start.row,L=E.splice(F,E.length),H=F?k.column:k.column-_.start.column;E.push(L[0].substring(0,H)),L[0]=L[0].substr(H);var P={start:g(k),end:O,lines:L,action:_.action};return P}function M(_,k){k=s(k);for(var E=_.length;E--;){for(var O=_[E],F=0;F<O.length;F++){var L=O[F],H=l(L,k);k=H[0],H.length!=2&&(H[2]?(O.splice(F+1,1,H[1],H[2]),F++):H[1]||(O.splice(F,1),F--))}O.length||_.splice(E,1)}return _}function A(_,k){for(var E=0;E<k.length;E++)for(var O=k[E],F=0;F<O.length;F++)M(_,O[F])}r.UndoManager=d}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(n,r,u){var d=n("../range").Range,p=function(){function w(f,g){this.foldData=f,Array.isArray(g)?this.folds=g:g=this.folds=[g];var s=g[g.length-1];this.range=new d(g[0].start.row,g[0].start.column,s.end.row,s.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}return w.prototype.shiftRow=function(f){this.start.row+=f,this.end.row+=f,this.folds.forEach(function(g){g.start.row+=f,g.end.row+=f})},w.prototype.addFold=function(f){if(f.sameRow){if(f.start.row<this.startRow||f.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(f),this.folds.sort(function(g,s){return-g.range.compareEnd(s.start.row,s.start.column)}),this.range.compareEnd(f.start.row,f.start.column)>0?(this.end.row=f.end.row,this.end.column=f.end.column):this.range.compareStart(f.end.row,f.end.column)<0&&(this.start.row=f.start.row,this.start.column=f.start.column)}else if(f.start.row==this.end.row)this.folds.push(f),this.end.row=f.end.row,this.end.column=f.end.column;else if(f.end.row==this.start.row)this.folds.unshift(f),this.start.row=f.start.row,this.start.column=f.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");f.foldLine=this},w.prototype.containsRow=function(f){return f>=this.start.row&&f<=this.end.row},w.prototype.walk=function(f,g,s){var a=0,h=this.folds,c,i,l,m=!0;g==null&&(g=this.end.row,s=this.end.column);for(var b=0;b<h.length;b++){if(c=h[b],i=c.range.compareStart(g,s),i==-1){f(null,g,s,a,m);return}if(l=f(null,c.start.row,c.start.column,a,m),l=!l&&f(c.placeholder,c.start.row,c.start.column,a),l||i===0)return;m=!c.sameRow,a=c.end.column}f(null,g,s,a,m)},w.prototype.getNextFoldTo=function(f,g){for(var s,a,h=0;h<this.folds.length;h++){if(s=this.folds[h],a=s.range.compareEnd(f,g),a==-1)return{fold:s,kind:"after"};if(a===0)return{fold:s,kind:"inside"}}return null},w.prototype.addRemoveChars=function(f,g,s){var a=this.getNextFoldTo(f,g),h,c;if(a){if(h=a.fold,a.kind=="inside"&&h.start.column!=g&&h.start.row!=f)window.console&&window.console.log(f,g,h);else if(h.start.row==f){c=this.folds;var i=c.indexOf(h);for(i===0&&(this.start.column+=s),i;i<c.length;i++){if(h=c[i],h.start.column+=s,!h.sameRow)return;h.end.column+=s}this.end.column+=s}}},w.prototype.split=function(f,g){var s=this.getNextFoldTo(f,g);if(!s||s.kind=="inside")return null;var a=s.fold,h=this.folds,c=this.foldData,i=h.indexOf(a),l=h[i-1];this.end.row=l.end.row,this.end.column=l.end.column,h=h.splice(i,h.length-i);var m=new w(c,h);return c.splice(c.indexOf(this)+1,0,m),m},w.prototype.merge=function(f){for(var g=f.folds,s=0;s<g.length;s++)this.addFold(g[s]);var a=this.foldData;a.splice(a.indexOf(f),1)},w.prototype.toString=function(){var f=[this.range.toString()+": ["];return this.folds.forEach(function(g){f.push(" "+g.toString())}),f.push("]"),f.join(`
202
+ `)},w.prototype.idxToPosition=function(f){for(var g=0,s=0;s<this.folds.length;s++){var a=this.folds[s];if(f-=a.start.column-g,f<0)return{row:a.start.row,column:a.start.column+f};if(f-=a.placeholder.length,f<0)return a.start;g=a.end.column}return{row:this.end.row,column:this.end.column+f}},w}();r.FoldLine=p}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(n,r,u){var d=n("./range").Range,p=d.comparePoints,w=function(){function f(){this.ranges=[],this.$bias=1}return f.prototype.pointIndex=function(g,s,a){for(var h=this.ranges,c=a||0;c<h.length;c++){var i=h[c],l=p(g,i.end);if(!(l>0)){var m=p(g,i.start);return l===0?s&&m!==0?-c-2:c:m>0||m===0&&!s?c:-c-1}}return-c-1},f.prototype.add=function(g){var s=!g.isEmpty(),a=this.pointIndex(g.start,s);a<0&&(a=-a-1);var h=this.pointIndex(g.end,s,a);return h<0?h=-h-1:h++,this.ranges.splice(a,h-a,g)},f.prototype.addList=function(g){for(var s=[],a=g.length;a--;)s.push.apply(s,this.add(g[a]));return s},f.prototype.substractPoint=function(g){var s=this.pointIndex(g);if(s>=0)return this.ranges.splice(s,1)},f.prototype.merge=function(){var g=[],s=this.ranges;s=s.sort(function(l,m){return p(l.start,m.start)});for(var a=s[0],h,c=1;c<s.length;c++){h=a,a=s[c];var i=p(h.end,a.start);i<0||i==0&&!h.isEmpty()&&!a.isEmpty()||(p(h.end,a.end)<0&&(h.end.row=a.end.row,h.end.column=a.end.column),s.splice(c,1),g.push(a),a=h,c--)}return this.ranges=s,g},f.prototype.contains=function(g,s){return this.pointIndex({row:g,column:s})>=0},f.prototype.containsPoint=function(g){return this.pointIndex(g)>=0},f.prototype.rangeAtPoint=function(g){var s=this.pointIndex(g);if(s>=0)return this.ranges[s]},f.prototype.clipRows=function(g,s){var a=this.ranges;if(a[0].start.row>s||a[a.length-1].start.row<g)return[];var h=this.pointIndex({row:g,column:0});h<0&&(h=-h-1);var c=this.pointIndex({row:s,column:0},h);c<0&&(c=-c-1);for(var i=[],l=h;l<c;l++)i.push(a[l]);return i},f.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},f.prototype.attach=function(g){this.session&&this.detach(),this.session=g,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},f.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},f.prototype.$onChange=function(g){for(var s=g.start,a=g.end,h=s.row,c=a.row,i=this.ranges,l=0,m=i.length;l<m;l++){var b=i[l];if(b.end.row>=h)break}if(g.action=="insert")for(var x=c-h,M=-s.column+a.column;l<m;l++){var b=i[l];if(b.start.row>h)break;if(b.start.row==h&&b.start.column>=s.column&&(b.start.column==s.column&&this.$bias<=0||(b.start.column+=M,b.start.row+=x)),b.end.row==h&&b.end.column>=s.column){if(b.end.column==s.column&&this.$bias<0)continue;b.end.column==s.column&&M>0&&l<m-1&&b.end.column>b.start.column&&b.end.column==i[l+1].start.column&&(b.end.column-=M),b.end.column+=M,b.end.row+=x}}else for(var x=h-c,M=s.column-a.column;l<m;l++){var b=i[l];if(b.start.row>c)break;b.end.row<c&&(h<b.end.row||h==b.end.row&&s.column<b.end.column)?(b.end.row=h,b.end.column=s.column):b.end.row==c?b.end.column<=a.column?(x||b.end.column>s.column)&&(b.end.column=s.column,b.end.row=s.row):(b.end.column+=M,b.end.row+=x):b.end.row>c&&(b.end.row+=x),b.start.row<c&&(h<b.start.row||h==b.start.row&&s.column<b.start.column)?(b.start.row=h,b.start.column=s.column):b.start.row==c?b.start.column<=a.column?(x||b.start.column>s.column)&&(b.start.column=s.column,b.start.row=s.row):(b.start.column+=M,b.start.row+=x):b.start.row>c&&(b.start.row+=x)}if(x!=0&&l<m)for(;l<m;l++){var b=i[l];b.start.row+=x,b.end.row+=x}},f}();w.prototype.comparePoints=p,r.RangeList=w}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(n,r,u){var d=this&&this.__extends||function(){var h=function(c,i){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,m){l.__proto__=m}||function(l,m){for(var b in m)Object.prototype.hasOwnProperty.call(m,b)&&(l[b]=m[b])},h(c,i)};return function(c,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");h(c,i);function l(){this.constructor=c}c.prototype=i===null?Object.create(i):(l.prototype=i.prototype,new l)}}(),p=n("../range_list").RangeList,w=function(h){d(c,h);function c(i,l){var m=h.call(this)||this;return m.foldLine=null,m.placeholder=l,m.range=i,m.start=i.start,m.end=i.end,m.sameRow=i.start.row==i.end.row,m.subFolds=m.ranges=[],m}return c.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},c.prototype.setFoldLine=function(i){this.foldLine=i,this.subFolds.forEach(function(l){l.setFoldLine(i)})},c.prototype.clone=function(){var i=this.range.clone(),l=new c(i,this.placeholder);return this.subFolds.forEach(function(m){l.subFolds.push(m.clone())}),l.collapseChildren=this.collapseChildren,l},c.prototype.addSubFold=function(i){if(!this.range.isEqual(i)){g(i,this.start);for(var l=i.start.row,m=i.start.column,b=0,x=-1;b<this.subFolds.length&&(x=this.subFolds[b].range.compare(l,m),x==1);b++);var M=this.subFolds[b],A=0;if(x==0){if(M.range.containsRange(i))return M.addSubFold(i);A=1}for(var l=i.range.end.row,m=i.range.end.column,_=b,x=-1;_<this.subFolds.length&&(x=this.subFolds[_].range.compare(l,m),x==1);_++);x==0&&_++;for(var k=this.subFolds.splice(b,_-b,i),E=x==0?k.length-1:k.length,O=A;O<E;O++)i.addSubFold(k[O]);return i.setFoldLine(this.foldLine),i}},c.prototype.restoreRange=function(i){return a(i,this.start)},c}(p);function f(h,c){h.row-=c.row,h.row==0&&(h.column-=c.column)}function g(h,c){f(h.start,c),f(h.end,c)}function s(h,c){h.row==0&&(h.column+=c.column),h.row+=c.row}function a(h,c){s(h.start,c),s(h.end,c)}r.Fold=w}),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(n,r,u){var d=n("../range").Range,p=n("./fold_line").FoldLine,w=n("./fold").Fold,f=n("../token_iterator").TokenIterator,g=n("../mouse/mouse_event").MouseEvent;function s(){this.getFoldAt=function(a,h,c){var i=this.getFoldLine(a);if(!i)return null;for(var l=i.folds,m=0;m<l.length;m++){var b=l[m].range;if(b.contains(a,h)){if(c==1&&b.isEnd(a,h)&&!b.isEmpty()||c==-1&&b.isStart(a,h)&&!b.isEmpty())continue;return l[m]}}},this.getFoldsInRange=function(a){var h=a.start,c=a.end,i=this.$foldData,l=[];h.column+=1,c.column-=1;for(var m=0;m<i.length;m++){var b=i[m].range.compareRange(a);if(b!=2){if(b==-2)break;for(var x=i[m].folds,M=0;M<x.length;M++){var A=x[M];if(b=A.range.compareRange(a),b==-2)break;if(b!=2){if(b==42)break;l.push(A)}}}}return h.column-=1,c.column+=1,l},this.getFoldsInRangeList=function(a){if(Array.isArray(a)){var h=[];a.forEach(function(i){h=h.concat(this.getFoldsInRange(i))},this)}else var h=this.getFoldsInRange(a);return h},this.getAllFolds=function(){for(var a=[],h=this.$foldData,c=0;c<h.length;c++)for(var i=0;i<h[c].folds.length;i++)a.push(h[c].folds[i]);return a},this.getFoldStringAt=function(a,h,c,i){if(i=i||this.getFoldLine(a),!i)return null;for(var l={end:{column:0}},m,b,x=0;x<i.folds.length;x++){b=i.folds[x];var M=b.range.compareEnd(a,h);if(M==-1){m=this.getLine(b.start.row).substring(l.end.column,b.start.column);break}else if(M===0)return null;l=b}return m||(m=this.getLine(b.start.row).substring(l.end.column)),c==-1?m.substring(0,h-l.end.column):c==1?m.substring(h-l.end.column):m},this.getFoldLine=function(a,h){var c=this.$foldData,i=0;for(h&&(i=c.indexOf(h)),i==-1&&(i=0),i;i<c.length;i++){var l=c[i];if(l.start.row<=a&&l.end.row>=a)return l;if(l.end.row>a)return null}return null},this.getNextFoldLine=function(a,h){var c=this.$foldData,i=0;for(h&&(i=c.indexOf(h)),i==-1&&(i=0),i;i<c.length;i++){var l=c[i];if(l.end.row>=a)return l}return null},this.getFoldedRowCount=function(a,h){for(var c=this.$foldData,i=h-a+1,l=0;l<c.length;l++){var m=c[l],b=m.end.row,x=m.start.row;if(b>=h){x<h&&(x>=a?i-=h-x:i=0);break}else b>=a&&(x>=a?i-=b-x:i-=b-a+1)}return i},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(h,c){return h.start.row-c.start.row}),a},this.addFold=function(a,h){var c=this.$foldData,i=!1,l;a instanceof w?l=a:(l=new w(h,a),l.collapseChildren=h.collapseChildren),this.$clipRangeToDocument(l.range);var m=l.start.row,b=l.start.column,x=l.end.row,M=l.end.column,A=this.getFoldAt(m,b,1),_=this.getFoldAt(x,M,-1);if(A&&_==A)return A.addSubFold(l);A&&!A.range.isStart(m,b)&&this.removeFold(A),_&&!_.range.isEnd(x,M)&&this.removeFold(_);var k=this.getFoldsInRange(l.range);k.length>0&&(this.removeFolds(k),l.collapseChildren||k.forEach(function(L){l.addSubFold(L)}));for(var E=0;E<c.length;E++){var O=c[E];if(x==O.start.row){O.addFold(l),i=!0;break}else if(m==O.end.row){if(O.addFold(l),i=!0,!l.sameRow){var F=c[E+1];if(F&&F.start.row==x){O.merge(F);break}}break}else if(x<=O.start.row)break}return i||(O=this.$addFoldLine(new p(this.$foldData,l))),this.$useWrapMode?this.$updateWrapData(O.start.row,O.start.row):this.$updateRowLengthCache(O.start.row,O.start.row),this.$modified=!0,this._signal("changeFold",{data:l,action:"add"}),l},this.addFolds=function(a){a.forEach(function(h){this.addFold(h)},this)},this.removeFold=function(a){var h=a.foldLine,c=h.start.row,i=h.end.row,l=this.$foldData,m=h.folds;if(m.length==1)l.splice(l.indexOf(h),1);else if(h.range.isEnd(a.end.row,a.end.column))m.pop(),h.end.row=m[m.length-1].end.row,h.end.column=m[m.length-1].end.column;else if(h.range.isStart(a.start.row,a.start.column))m.shift(),h.start.row=m[0].start.row,h.start.column=m[0].start.column;else if(a.sameRow)m.splice(m.indexOf(a),1);else{var b=h.split(a.start.row,a.start.column);m=b.folds,m.shift(),b.start.row=m[0].start.row,b.start.column=m[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(c,i):this.$updateRowLengthCache(c,i)),this.$modified=!0,this._signal("changeFold",{data:a,action:"remove"})},this.removeFolds=function(a){for(var h=[],c=0;c<a.length;c++)h.push(a[c]);h.forEach(function(i){this.removeFold(i)},this),this.$modified=!0},this.expandFold=function(a){this.removeFold(a),a.subFolds.forEach(function(h){a.restoreRange(h),this.addFold(h)},this),a.collapseChildren>0&&this.foldAll(a.start.row+1,a.end.row,a.collapseChildren-1),a.subFolds=[]},this.expandFolds=function(a){a.forEach(function(h){this.expandFold(h)},this)},this.unfold=function(a,h){var c,i;if(a==null)c=new d(0,0,this.getLength(),0),h==null&&(h=!0);else if(typeof a=="number")c=new d(a,0,a,this.getLine(a).length);else if("row"in a)c=d.fromPoints(a,a);else{if(Array.isArray(a))return i=[],a.forEach(function(m){i=i.concat(this.unfold(m))},this),i;c=a}i=this.getFoldsInRangeList(c);for(var l=i;i.length==1&&d.comparePoints(i[0].start,c.start)<0&&d.comparePoints(i[0].end,c.end)>0;)this.expandFolds(i),i=this.getFoldsInRangeList(c);if(h!=!1?this.removeFolds(i):this.expandFolds(i),l.length)return l},this.isRowFolded=function(a,h){return!!this.getFoldLine(a,h)},this.getRowFoldEnd=function(a,h){var c=this.getFoldLine(a,h);return c?c.end.row:a},this.getRowFoldStart=function(a,h){var c=this.getFoldLine(a,h);return c?c.start.row:a},this.getFoldDisplayLine=function(a,h,c,i,l){i==null&&(i=a.start.row),l==null&&(l=0),h==null&&(h=a.end.row),c==null&&(c=this.getLine(h).length);var m=this.doc,b="";return a.walk(function(x,M,A,_){if(!(M<i)){if(M==i){if(A<l)return;_=Math.max(l,_)}x!=null?b+=x:b+=m.getLine(M).substring(_,A)}},h,c),b},this.getDisplayLine=function(a,h,c,i){var l=this.getFoldLine(a);if(l)return this.getFoldDisplayLine(l,a,h,c,i);var m;return m=this.doc.getLine(a),m.substring(i||0,h||m.length)},this.$cloneFoldData=function(){var a=[];return a=this.$foldData.map(function(h){var c=h.folds.map(function(i){return i.clone()});return new p(a,c)}),a},this.toggleFold=function(a){var h=this.selection,c=h.getRange(),i,l;if(c.isEmpty()){var m=c.start;if(i=this.getFoldAt(m.row,m.column),i){this.expandFold(i);return}else(l=this.findMatchingBracket(m))?c.comparePoint(l)==1?c.end=l:(c.start=l,c.start.column++,c.end.column--):(l=this.findMatchingBracket({row:m.row,column:m.column+1}))?(c.comparePoint(l)==1?c.end=l:c.start=l,c.start.column++):c=this.getCommentFoldRange(m.row,m.column)||c}else{var b=this.getFoldsInRange(c);if(a&&b.length){this.expandFolds(b);return}else b.length==1&&(i=b[0])}if(i||(i=this.getFoldAt(c.start.row,c.start.column)),i&&i.range.toString()==c.toString()){this.expandFold(i);return}var x="...";if(!c.isMultiLine()){if(x=this.getTextRange(c),x.length<4)return;x=x.trim().substring(0,2)+".."}this.addFold(x,c)},this.getCommentFoldRange=function(a,h,c){var i=new f(this,a,h),l=i.getCurrentToken(),m=l&&l.type;if(l&&/^comment|string/.test(m)){m=m.match(/comment|string/)[0],m=="comment"&&(m+="|doc-start|\\.doc");var b=new RegExp(m),x=new d;if(c!=1){do l=i.stepBackward();while(l&&b.test(l.type));l=i.stepForward()}x.start.row=i.getCurrentTokenRow(),x.start.column=i.getCurrentTokenColumn()+l.value.length,i=new f(this,a,h);var M=this.getState(i.$row);if(c!=-1){var A=-1;do if(l=i.stepForward(),A==-1){var _=this.getState(i.$row);M.toString()!==_.toString()&&(A=i.$row)}else if(i.$row>A)break;while(l&&b.test(l.type));l=i.stepBackward()}else l=i.getCurrentToken();return x.end.row=i.getCurrentTokenRow(),x.end.column=i.getCurrentTokenColumn(),x}},this.foldAll=function(a,h,c,i){c==null&&(c=1e5);var l=this.foldWidgets;if(l){h=h||this.getLength(),a=a||0;for(var m=a;m<h;m++)if(l[m]==null&&(l[m]=this.getFoldWidget(m)),l[m]=="start"&&!(i&&!i(m))){var b=this.getFoldWidgetRange(m);b&&b.isMultiLine()&&b.end.row<=h&&b.start.row>=a&&(m=b.end.row,b.collapseChildren=c,this.addFold("...",b))}}},this.foldToLevel=function(a){for(this.foldAll();a-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var a=this;this.foldAll(null,null,null,function(h){for(var c=a.getTokens(h),i=0;i<c.length;i++){var l=c[i];if(!(l.type=="text"&&/^\s+$/.test(l.value)))return!!/comment/.test(l.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(a){if(!this.$foldStyles[a])throw new Error("invalid fold style: "+a+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=a){this.$foldStyle=a,a=="manual"&&this.unfold();var h=this.$foldMode;this.$setFolding(null),this.$setFolding(h)}},this.$setFolding=function(a){if(this.$foldMode!=a){if(this.$foldMode=a,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!a||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,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(a,h){var c=this.foldWidgets;if(!c||h&&c[a])return{};for(var i=a-1,l;i>=0;){var m=c[i];if(m==null&&(m=c[i]=this.getFoldWidget(i)),m=="start"){var b=this.getFoldWidgetRange(i);if(l||(l=b),b&&b.end.row>=a)break}i--}return{range:i!==-1&&b,firstRange:l}},this.onFoldWidgetClick=function(a,h){h instanceof g&&(h=h.domEvent);var c={children:h.shiftKey,all:h.ctrlKey||h.metaKey,siblings:h.altKey},i=this.$toggleFoldWidget(a,c);if(!i){var l=h.target||h.srcElement;l&&/ace_fold-widget/.test(l.className)&&(l.className+=" ace_invalid")}},this.$toggleFoldWidget=function(a,h){if(this.getFoldWidget){var c=this.getFoldWidget(a),i=this.getLine(a),l=c==="end"?-1:1,m=this.getFoldAt(a,l===-1?0:i.length,l);if(m)return h.children||h.all?this.removeFold(m):this.expandFold(m),m;var b=this.getFoldWidgetRange(a,!0);if(b&&!b.isMultiLine()&&(m=this.getFoldAt(b.start.row,b.start.column,1),m&&b.isEqual(m.range)))return this.removeFold(m),m;if(h.siblings){var x=this.getParentFoldRangeData(a);if(x.range)var M=x.range.start.row+1,A=x.range.end.row;this.foldAll(M,A,h.all?1e4:0)}else h.children?(A=b?b.end.row:this.getLength(),this.foldAll(a+1,A,h.all?1e4:0)):b&&(h.all&&(b.collapseChildren=1e4),this.addFold("...",b));return b}},this.toggleFoldWidget=function(a){var h=this.selection.getCursor().row;h=this.getRowFoldStart(h);var c=this.$toggleFoldWidget(h,{});if(!c){var i=this.getParentFoldRangeData(h,!0);if(c=i.range||i.firstRange,c){h=c.start.row;var l=this.getFoldAt(h,this.getLine(h).length,1);l?this.removeFold(l):this.addFold("...",c)}}},this.updateFoldWidgets=function(a){var h=a.start.row,c=a.end.row-h;if(c===0)this.foldWidgets[h]=null;else if(a.action=="remove")this.foldWidgets.splice(h,c+1,null);else{var i=Array(c+1);i.unshift(h,1),this.foldWidgets.splice.apply(this.foldWidgets,i)}},this.tokenizerUpdateFoldWidgets=function(a){var h=a.data;h.first!=h.last&&this.foldWidgets.length>h.first&&this.foldWidgets.splice(h.first,this.foldWidgets.length)}}r.Folding=s}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(n,r,u){var d=n("../token_iterator").TokenIterator,p=n("../range").Range;function w(){this.findMatchingBracket=function(f,g){if(f.column==0)return null;var s=g||this.getLine(f.row).charAt(f.column-1);if(s=="")return null;var a=s.match(/([\(\[\{])|([\)\]\}])/);return a?a[1]?this.$findClosingBracket(a[1],f):this.$findOpeningBracket(a[2],f):null},this.getBracketRange=function(f){var g=this.getLine(f.row),s=!0,a,h=g.charAt(f.column-1),c=h&&h.match(/([\(\[\{])|([\)\]\}])/);if(c||(h=g.charAt(f.column),f={row:f.row,column:f.column+1},c=h&&h.match(/([\(\[\{])|([\)\]\}])/),s=!1),!c)return null;if(c[1]){var i=this.$findClosingBracket(c[1],f);if(!i)return null;a=p.fromPoints(f,i),s||(a.end.column++,a.start.column--),a.cursor=a.end}else{var i=this.$findOpeningBracket(c[2],f);if(!i)return null;a=p.fromPoints(i,f),s||(a.start.column++,a.end.column--),a.cursor=a.start}return a},this.getMatchingBracketRanges=function(f,g){var s=this.getLine(f.row),a=/([\(\[\{])|([\)\]\}])/,h=!g&&s.charAt(f.column-1),c=h&&h.match(a);if(c||(h=(g===void 0||g)&&s.charAt(f.column),f={row:f.row,column:f.column+1},c=h&&h.match(a)),!c)return null;var i=new p(f.row,f.column-1,f.row,f.column),l=c[1]?this.$findClosingBracket(c[1],f):this.$findOpeningBracket(c[2],f);if(!l)return[i];var m=new p(l.row,l.column,l.row,l.column+1);return[i,m]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(f,g,s){var a=this.$brackets[f],h=1,c=new d(this,g.row,g.column),i=c.getCurrentToken();if(i||(i=c.stepForward()),!!i){s||(s=new RegExp("(\\.?"+i.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var l=g.column-c.getCurrentTokenColumn()-2,m=i.value;;){for(;l>=0;){var b=m.charAt(l);if(b==a){if(h-=1,h==0)return{row:c.getCurrentTokenRow(),column:l+c.getCurrentTokenColumn()}}else b==f&&(h+=1);l-=1}do i=c.stepBackward();while(i&&!s.test(i.type));if(i==null)break;m=i.value,l=m.length-1}return null}},this.$findClosingBracket=function(f,g,s){var a=this.$brackets[f],h=1,c=new d(this,g.row,g.column),i=c.getCurrentToken();if(i||(i=c.stepForward()),!!i){s||(s=new RegExp("(\\.?"+i.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var l=g.column-c.getCurrentTokenColumn();;){for(var m=i.value,b=m.length;l<b;){var x=m.charAt(l);if(x==a){if(h-=1,h==0)return{row:c.getCurrentTokenRow(),column:l+c.getCurrentTokenColumn()}}else x==f&&(h+=1);l+=1}do i=c.stepForward();while(i&&!s.test(i.type));if(i==null)break;l=0}return null}},this.getMatchingTags=function(f){var g=new d(this,f.row,f.column),s=this.$findTagName(g);if(s){var a=g.stepBackward();return a.value==="<"?this.$findClosingTag(g,s):this.$findOpeningTag(g,s)}},this.$findTagName=function(f){var g=f.getCurrentToken(),s=!1,a=!1;if(g&&g.type.indexOf("tag-name")===-1)do a?g=f.stepBackward():g=f.stepForward(),g&&(g.value==="/>"?a=!0:g.type.indexOf("tag-name")!==-1&&(s=!0));while(g&&!s);return g},this.$findClosingTag=function(f,g){var s,a=g.value,h=g.value,c=0,i=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);g=f.stepForward();var l=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+g.value.length),m=!1;do{if(s=g,s.type.indexOf("tag-close")!==-1&&!m){var b=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);m=!0}if(g=f.stepForward(),g){if(g.value===">"&&!m){var b=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);m=!0}if(g.type.indexOf("tag-name")!==-1){if(a=g.value,h===a){if(s.value==="<")c++;else if(s.value==="</"&&(c--,c<0)){f.stepBackward();var x=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+2);g=f.stepForward();var M=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=f.stepForward()),g&&g.value===">")var A=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);else return}}}else if(h===a&&g.value==="/>"&&(c--,c<0))var x=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+2),M=x,A=M,b=new p(l.end.row,l.end.column,l.end.row,l.end.column+1)}}while(g&&c>=0);if(i&&b&&x&&A&&l&&M)return{openTag:new p(i.start.row,i.start.column,b.end.row,b.end.column),closeTag:new p(x.start.row,x.start.column,A.end.row,A.end.column),openTagName:l,closeTagName:M}},this.$findOpeningTag=function(f,g){var s=f.getCurrentToken(),a=g.value,h=0,c=f.getCurrentTokenRow(),i=f.getCurrentTokenColumn(),l=i+2,m=new p(c,i,c,l);f.stepForward();var b=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=f.stepForward()),!(!g||g.value!==">")){var x=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);f.stepBackward(),f.stepBackward();do if(g=s,c=f.getCurrentTokenRow(),i=f.getCurrentTokenColumn(),l=i+g.value.length,s=f.stepBackward(),g){if(g.type.indexOf("tag-name")!==-1){if(a===g.value)if(s.value==="<"){if(h++,h>0){var M=new p(c,i,c,l),A=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1);do g=f.stepForward();while(g&&g.value!==">");var _=new p(f.getCurrentTokenRow(),f.getCurrentTokenColumn(),f.getCurrentTokenRow(),f.getCurrentTokenColumn()+1)}}else s.value==="</"&&h--}else if(g.value==="/>"){for(var k=0,E=s;E;){if(E.type.indexOf("tag-name")!==-1&&E.value===a){h--;break}else if(E.value==="<")break;E=f.stepBackward(),k++}for(var O=0;O<k;O++)f.stepForward()}}while(s&&h<=0);if(A&&_&&m&&x&&M&&b)return{openTag:new p(A.start.row,A.start.column,_.end.row,_.end.column),closeTag:new p(m.start.row,m.start.column,x.end.row,x.end.column),openTagName:M,closeTagName:b}}}}r.BracketMatch=w}),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(n,r,u){var d=n("./lib/oop"),p=n("./lib/lang"),w=n("./bidihandler").BidiHandler,f=n("./config"),g=n("./lib/event_emitter").EventEmitter,s=n("./selection").Selection,a=n("./mode/text").Mode,h=n("./range").Range,c=n("./line_widgets").LineWidgets,i=n("./document").Document,l=n("./background_tokenizer").BackgroundTokenizer,m=n("./search_highlight").SearchHighlight,b=n("./undomanager").UndoManager,x=function(){function P(I,T){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"+ ++P.$uid,this.$foldData.toString=function(){return this.join(`
203
+ `)},this.bgTokenizer=new l(new a().getTokenizer(),this);var C=this;this.bgTokenizer.on("update",function(N){C._signal("tokenizerUpdate",N)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof I!="object"||!I.getLine)&&(I=new i(I)),this.setDocument(I),this.selection=new s(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new w(this),f.resetOptions(this),this.setMode(T),f._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return P.prototype.$initOperationListeners=function(){var I=this;this.curOp=null,this.on("change",function(){I.curOp||(I.startOperation(),I.curOp.selectionBefore=I.$lastSel),I.curOp.docChanged=!0},!0),this.on("changeSelection",function(){I.curOp||(I.startOperation(),I.curOp.selectionBefore=I.$lastSel),I.curOp.selectionChanged=!0},!0),this.$operationResetTimer=p.delayedCall(this.endOperation.bind(this,!0))},P.prototype.startOperation=function(I){if(this.curOp){if(!I||this.curOp.command)return;this.prevOp=this.curOp}I||(I={}),this.$operationResetTimer.schedule(),this.curOp={command:I.command||{},args:I.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",I)},P.prototype.endOperation=function(I){if(this.curOp){if(I&&I.returnValue===!1){this.curOp=null,this._signal("endOperation",I);return}if(I==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var T=this.selection.toJSON();this.curOp.selectionAfter=T,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(T),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",I)}},P.prototype.setDocument=function(I){this.doc&&this.doc.off("change",this.$onChange),this.doc=I,I.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},P.prototype.getDocument=function(){return this.doc},Object.defineProperty(P.prototype,"widgetManager",{get:function(){var I=new c(this);return this.widgetManager=I,this.$editor&&I.attach(this.$editor),I},set:function(I){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:I})},enumerable:!1,configurable:!0}),P.prototype.$resetRowCache=function(I){if(!I){this.$docRowCache=[],this.$screenRowCache=[];return}var T=this.$docRowCache.length,C=this.$getRowCacheIndex(this.$docRowCache,I)+1;T>C&&(this.$docRowCache.splice(C,T),this.$screenRowCache.splice(C,T))},P.prototype.$getRowCacheIndex=function(I,T){for(var C=0,N=I.length-1;C<=N;){var j=C+N>>1,U=I[j];if(T>U)C=j+1;else if(T<U)N=j-1;else return j}return C-1},P.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},P.prototype.onChangeFold=function(I){var T=I.data;this.$resetRowCache(T.start.row)},P.prototype.onChange=function(I){this.$modified=!0,this.$bidiHandler.onChange(I),this.$resetRowCache(I.start.row);var T=this.$updateInternalDataOnChange(I);!this.$fromUndo&&this.$undoManager&&(T&&T.length&&(this.$undoManager.add({action:"removeFolds",folds:T},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(I,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(I),this._signal("change",I)},P.prototype.onSelectionChange=function(){this._signal("changeSelection")},P.prototype.setValue=function(I){this.doc.setValue(I),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},P.fromJSON=function(I){typeof I=="string"&&(I=JSON.parse(I));var T=new b;T.$undoStack=I.history.undo,T.$redoStack=I.history.redo,T.mark=I.history.mark,T.$rev=I.history.rev;var C=new P(I.value);return I.folds.forEach(function(N){C.addFold("...",h.fromPoints(N.start,N.end))}),C.setAnnotations(I.annotations),C.setBreakpoints(I.breakpoints),C.setMode(I.mode),C.setScrollLeft(I.scrollLeft),C.setScrollTop(I.scrollTop),C.setUndoManager(T),C.selection.fromJSON(I.selection),C},P.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(I){return I.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},P.prototype.toString=function(){return this.doc.getValue()},P.prototype.getSelection=function(){return this.selection},P.prototype.getState=function(I){return this.bgTokenizer.getState(I)},P.prototype.getTokens=function(I){return this.bgTokenizer.getTokens(I)},P.prototype.getTokenAt=function(I,T){var C=this.bgTokenizer.getTokens(I),N,j=0;if(T==null){var U=C.length-1;j=this.getLine(I).length}else for(var U=0;U<C.length&&(j+=C[U].value.length,!(j>=T));U++);return N=C[U],N?(N.index=U,N.start=j-N.value.length,N):null},P.prototype.setUndoManager=function(I){if(this.$undoManager=I,this.$informUndoManager&&this.$informUndoManager.cancel(),I){var T=this;I.addSession(this),this.$syncInformUndoManager=function(){T.$informUndoManager.cancel(),T.mergeUndoDeltas=!1},this.$informUndoManager=p.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},P.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},P.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},P.prototype.getTabString=function(){return this.getUseSoftTabs()?p.stringRepeat(" ",this.getTabSize()):" "},P.prototype.setUseSoftTabs=function(I){this.setOption("useSoftTabs",I)},P.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},P.prototype.setTabSize=function(I){this.setOption("tabSize",I)},P.prototype.getTabSize=function(){return this.$tabSize},P.prototype.isTabStop=function(I){return this.$useSoftTabs&&I.column%this.$tabSize===0},P.prototype.setNavigateWithinSoftTabs=function(I){this.setOption("navigateWithinSoftTabs",I)},P.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},P.prototype.setOverwrite=function(I){this.setOption("overwrite",I)},P.prototype.getOverwrite=function(){return this.$overwrite},P.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},P.prototype.addGutterDecoration=function(I,T){this.$decorations[I]||(this.$decorations[I]=""),this.$decorations[I]+=" "+T,this._signal("changeBreakpoint",{})},P.prototype.removeGutterDecoration=function(I,T){this.$decorations[I]=(this.$decorations[I]||"").replace(" "+T,""),this._signal("changeBreakpoint",{})},P.prototype.getBreakpoints=function(){return this.$breakpoints},P.prototype.setBreakpoints=function(I){this.$breakpoints=[];for(var T=0;T<I.length;T++)this.$breakpoints[I[T]]="ace_breakpoint";this._signal("changeBreakpoint",{})},P.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},P.prototype.setBreakpoint=function(I,T){T===void 0&&(T="ace_breakpoint"),T?this.$breakpoints[I]=T:delete this.$breakpoints[I],this._signal("changeBreakpoint",{})},P.prototype.clearBreakpoint=function(I){delete this.$breakpoints[I],this._signal("changeBreakpoint",{})},P.prototype.addMarker=function(I,T,C,N){var j=this.$markerId++,U={range:I,type:C||"line",renderer:typeof C=="function"?C:null,clazz:T,inFront:!!N,id:j};return N?(this.$frontMarkers[j]=U,this._signal("changeFrontMarker")):(this.$backMarkers[j]=U,this._signal("changeBackMarker")),j},P.prototype.addDynamicMarker=function(I,T){if(I.update){var C=this.$markerId++;return I.id=C,I.inFront=!!T,T?(this.$frontMarkers[C]=I,this._signal("changeFrontMarker")):(this.$backMarkers[C]=I,this._signal("changeBackMarker")),I}},P.prototype.removeMarker=function(I){var T=this.$frontMarkers[I]||this.$backMarkers[I];if(T){var C=T.inFront?this.$frontMarkers:this.$backMarkers;delete C[I],this._signal(T.inFront?"changeFrontMarker":"changeBackMarker")}},P.prototype.getMarkers=function(I){return I?this.$frontMarkers:this.$backMarkers},P.prototype.highlight=function(I){if(!this.$searchHighlight){var T=new m(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(T)}this.$searchHighlight.setRegexp(I)},P.prototype.highlightLines=function(I,T,C,N){typeof T!="number"&&(C=T,T=I),C||(C="ace_step");var j=new h(I,0,T,1/0);return j.id=this.addMarker(j,C,"fullLine",N),j},P.prototype.setAnnotations=function(I){this.$annotations=I,this._signal("changeAnnotation",{})},P.prototype.getAnnotations=function(){return this.$annotations||[]},P.prototype.clearAnnotations=function(){this.setAnnotations([])},P.prototype.$detectNewLine=function(I){var T=I.match(/^.*?(\r?\n)/m);T?this.$autoNewLine=T[1]:this.$autoNewLine=`
204
+ `},P.prototype.getWordRange=function(I,T){var C=this.getLine(I),N=!1;if(T>0&&(N=!!C.charAt(T-1).match(this.tokenRe)),N||(N=!!C.charAt(T).match(this.tokenRe)),N)var j=this.tokenRe;else if(/^\s+$/.test(C.slice(T-1,T+1)))var j=/\s/;else var j=this.nonTokenRe;var U=T;if(U>0){do U--;while(U>=0&&C.charAt(U).match(j));U++}for(var K=T;K<C.length&&C.charAt(K).match(j);)K++;return new h(I,U,I,K)},P.prototype.getAWordRange=function(I,T){for(var C=this.getWordRange(I,T),N=this.getLine(C.end.row);N.charAt(C.end.column).match(/[ \t]/);)C.end.column+=1;return C},P.prototype.setNewLineMode=function(I){this.doc.setNewLineMode(I)},P.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},P.prototype.setUseWorker=function(I){this.setOption("useWorker",I)},P.prototype.getUseWorker=function(){return this.$useWorker},P.prototype.onReloadTokenizer=function(I){var T=I.data;this.bgTokenizer.start(T.first),this._signal("tokenizerUpdate",I)},P.prototype.setMode=function(I,T){if(I&&typeof I=="object"){if(I.getTokenizer)return this.$onChangeMode(I);var C=I,N=C.path}else N=I||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new a),this.$modes[N]&&!C){this.$onChangeMode(this.$modes[N]),T&&T();return}this.$modeId=N,f.loadModule(["mode",N],(function(j){if(!this.destroyed){if(this.$modeId!==N)return T&&T();this.$modes[N]&&!C?this.$onChangeMode(this.$modes[N]):j&&j.Mode&&(j=new j.Mode(C),C||(this.$modes[N]=j,j.$id=N),this.$onChangeMode(j)),T&&T()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},P.prototype.$onChangeMode=function(I,T){if(T||(this.$modeId=I.$id),this.$mode!==I){var C=this.$mode;this.$mode=I,this.$stopWorker(),this.$useWorker&&this.$startWorker();var N=I.getTokenizer();if(N.on!==void 0){var j=this.onReloadTokenizer.bind(this);N.on("update",j)}this.bgTokenizer.setTokenizer(N),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=I.tokenRe,this.nonTokenRe=I.nonTokenRe,T||(I.attachToSession&&I.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(I.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:C,mode:I}))}},P.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},P.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(I){f.warn("Could not load worker",I),this.$worker=null}},P.prototype.getMode=function(){return this.$mode},P.prototype.setScrollTop=function(I){this.$scrollTop===I||isNaN(I)||(this.$scrollTop=I,this._signal("changeScrollTop",I))},P.prototype.getScrollTop=function(){return this.$scrollTop},P.prototype.setScrollLeft=function(I){this.$scrollLeft===I||isNaN(I)||(this.$scrollLeft=I,this._signal("changeScrollLeft",I))},P.prototype.getScrollLeft=function(){return this.$scrollLeft},P.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},P.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var I=0;return this.lineWidgets.forEach(function(T){T&&T.screenWidth>I&&(I=T.screenWidth)}),this.lineWidgetWidth=I},P.prototype.$computeWidth=function(I){if(this.$modified||I){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var T=this.doc.getAllLines(),C=this.$rowLengthCache,N=0,j=0,U=this.$foldData[j],K=U?U.start.row:1/0,Z=T.length,te=0;te<Z;te++){if(te>K){if(te=U.end.row+1,te>=Z)break;U=this.$foldData[j++],K=U?U.start.row:1/0}C[te]==null&&(C[te]=this.$getStringScreenWidth(T[te])[0]),C[te]>N&&(N=C[te])}this.screenWidth=N}},P.prototype.getLine=function(I){return this.doc.getLine(I)},P.prototype.getLines=function(I,T){return this.doc.getLines(I,T)},P.prototype.getLength=function(){return this.doc.getLength()},P.prototype.getTextRange=function(I){return this.doc.getTextRange(I||this.selection.getRange())},P.prototype.insert=function(I,T){return this.doc.insert(I,T)},P.prototype.remove=function(I){return this.doc.remove(I)},P.prototype.removeFullLines=function(I,T){return this.doc.removeFullLines(I,T)},P.prototype.undoChanges=function(I,T){if(I.length){this.$fromUndo=!0;for(var C=I.length-1;C!=-1;C--){var N=I[C];N.action=="insert"||N.action=="remove"?this.doc.revertDelta(N):N.folds&&this.addFolds(N.folds)}!T&&this.$undoSelect&&(I.selectionBefore?this.selection.fromJSON(I.selectionBefore):this.selection.setRange(this.$getUndoSelection(I,!0))),this.$fromUndo=!1}},P.prototype.redoChanges=function(I,T){if(I.length){this.$fromUndo=!0;for(var C=0;C<I.length;C++){var N=I[C];(N.action=="insert"||N.action=="remove")&&this.doc.$safeApplyDelta(N)}!T&&this.$undoSelect&&(I.selectionAfter?this.selection.fromJSON(I.selectionAfter):this.selection.setRange(this.$getUndoSelection(I,!1))),this.$fromUndo=!1}},P.prototype.setUndoSelect=function(I){this.$undoSelect=I},P.prototype.$getUndoSelection=function(I,T){function C(Z){return T?Z.action!=="insert":Z.action==="insert"}for(var N,j,U=0;U<I.length;U++){var K=I[U];if(K.start){if(!N){C(K)?N=h.fromPoints(K.start,K.end):N=h.fromPoints(K.start,K.start);continue}C(K)?(j=K.start,N.compare(j.row,j.column)==-1&&N.setStart(j),j=K.end,N.compare(j.row,j.column)==1&&N.setEnd(j)):(j=K.start,N.compare(j.row,j.column)==-1&&(N=h.fromPoints(K.start,K.start)))}}return N},P.prototype.replace=function(I,T){return this.doc.replace(I,T)},P.prototype.moveText=function(I,T,C){var N=this.getTextRange(I),j=this.getFoldsInRange(I),U=h.fromPoints(T,T);if(!C){this.remove(I);var K=I.start.row-I.end.row,Z=K?-I.end.column:I.start.column-I.end.column;Z&&(U.start.row==I.end.row&&U.start.column>I.end.column&&(U.start.column+=Z),U.end.row==I.end.row&&U.end.column>I.end.column&&(U.end.column+=Z)),K&&U.start.row>=I.end.row&&(U.start.row+=K,U.end.row+=K)}if(U.end=this.insert(U.start,N),j.length){var te=I.start,he=U.start,K=he.row-te.row,Z=he.column-te.column;this.addFolds(j.map(function(ce){return ce=ce.clone(),ce.start.row==te.row&&(ce.start.column+=Z),ce.end.row==te.row&&(ce.end.column+=Z),ce.start.row+=K,ce.end.row+=K,ce}))}return U},P.prototype.indentRows=function(I,T,C){C=C.replace(/\t/g,this.getTabString());for(var N=I;N<=T;N++)this.doc.insertInLine({row:N,column:0},C)},P.prototype.outdentRows=function(I){for(var T=I.collapseRows(),C=new h(0,0,0,0),N=this.getTabSize(),j=T.start.row;j<=T.end.row;++j){var U=this.getLine(j);C.start.row=j,C.end.row=j;for(var K=0;K<N&&U.charAt(K)==" ";++K);K<N&&U.charAt(K)==" "?(C.start.column=K,C.end.column=K+1):(C.start.column=0,C.end.column=K),this.remove(C)}},P.prototype.$moveLines=function(I,T,C){if(I=this.getRowFoldStart(I),T=this.getRowFoldEnd(T),C<0){var N=this.getRowFoldStart(I+C);if(N<0)return 0;var j=N-I}else if(C>0){var N=this.getRowFoldEnd(T+C);if(N>this.doc.getLength()-1)return 0;var j=N-T}else{I=this.$clipRowToDocument(I),T=this.$clipRowToDocument(T);var j=T-I+1}var U=new h(I,0,T,Number.MAX_VALUE),K=this.getFoldsInRange(U).map(function(te){return te=te.clone(),te.start.row+=j,te.end.row+=j,te}),Z=C==0?this.doc.getLines(I,T):this.doc.removeFullLines(I,T);return this.doc.insertFullLines(I+j,Z),K.length&&this.addFolds(K),j},P.prototype.moveLinesUp=function(I,T){return this.$moveLines(I,T,-1)},P.prototype.moveLinesDown=function(I,T){return this.$moveLines(I,T,1)},P.prototype.duplicateLines=function(I,T){return this.$moveLines(I,T,0)},P.prototype.$clipRowToDocument=function(I){return Math.max(0,Math.min(I,this.doc.getLength()-1))},P.prototype.$clipColumnToRow=function(I,T){return T<0?0:Math.min(this.doc.getLine(I).length,T)},P.prototype.$clipPositionToDocument=function(I,T){if(T=Math.max(0,T),I<0)I=0,T=0;else{var C=this.doc.getLength();I>=C?(I=C-1,T=this.doc.getLine(C-1).length):T=Math.min(this.doc.getLine(I).length,T)}return{row:I,column:T}},P.prototype.$clipRangeToDocument=function(I){I.start.row<0?(I.start.row=0,I.start.column=0):I.start.column=this.$clipColumnToRow(I.start.row,I.start.column);var T=this.doc.getLength()-1;return I.end.row>T?(I.end.row=T,I.end.column=this.doc.getLine(T).length):I.end.column=this.$clipColumnToRow(I.end.row,I.end.column),I},P.prototype.setUseWrapMode=function(I){if(I!=this.$useWrapMode){if(this.$useWrapMode=I,this.$modified=!0,this.$resetRowCache(0),I){var T=this.getLength();this.$wrapData=Array(T),this.$updateWrapData(0,T-1)}this._signal("changeWrapMode")}},P.prototype.getUseWrapMode=function(){return this.$useWrapMode},P.prototype.setWrapLimitRange=function(I,T){(this.$wrapLimitRange.min!==I||this.$wrapLimitRange.max!==T)&&(this.$wrapLimitRange={min:I,max:T},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},P.prototype.adjustWrapLimit=function(I,T){var C=this.$wrapLimitRange;C.max<0&&(C={min:T,max:T});var N=this.$constrainWrapLimit(I,C.min,C.max);return N!=this.$wrapLimit&&N>1?(this.$wrapLimit=N,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},P.prototype.$constrainWrapLimit=function(I,T,C){return T&&(I=Math.max(T,I)),C&&(I=Math.min(C,I)),I},P.prototype.getWrapLimit=function(){return this.$wrapLimit},P.prototype.setWrapLimit=function(I){this.setWrapLimitRange(I,I)},P.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},P.prototype.$updateInternalDataOnChange=function(I){var T=this.$useWrapMode,C=I.action,N=I.start,j=I.end,U=N.row,K=j.row,Z=K-U,te=null;if(this.$updating=!0,Z!=0)if(C==="remove"){this[T?"$wrapData":"$rowLengthCache"].splice(U,Z);var he=this.$foldData;te=this.getFoldsInRange(I),this.removeFolds(te);var ne=this.getFoldLine(j.row),ae=0;if(ne){ne.addRemoveChars(j.row,j.column,N.column-j.column),ne.shiftRow(-Z);var ce=this.getFoldLine(U);ce&&ce!==ne&&(ce.merge(ne),ne=ce),ae=he.indexOf(ne)+1}for(ae;ae<he.length;ae++){var ne=he[ae];ne.start.row>=j.row&&ne.shiftRow(-Z)}K=U}else{var ue=Array(Z);ue.unshift(U,0);var ve=T?this.$wrapData:this.$rowLengthCache;ve.splice.apply(ve,ue);var he=this.$foldData,ne=this.getFoldLine(U),ae=0;if(ne){var Ce=ne.range.compareInside(N.row,N.column);Ce==0?(ne=ne.split(N.row,N.column),ne&&(ne.shiftRow(Z),ne.addRemoveChars(K,0,j.column-N.column))):Ce==-1&&(ne.addRemoveChars(U,0,j.column-N.column),ne.shiftRow(Z)),ae=he.indexOf(ne)+1}for(ae;ae<he.length;ae++){var ne=he[ae];ne.start.row>=U&&ne.shiftRow(Z)}}else{Z=Math.abs(I.start.column-I.end.column),C==="remove"&&(te=this.getFoldsInRange(I),this.removeFolds(te),Z=-Z);var ne=this.getFoldLine(U);ne&&ne.addRemoveChars(U,N.column,Z)}return T&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,T?this.$updateWrapData(U,K):this.$updateRowLengthCache(U,K),te},P.prototype.$updateRowLengthCache=function(I,T){this.$rowLengthCache[I]=null,this.$rowLengthCache[T]=null},P.prototype.$updateWrapData=function(I,T){var C=this.doc.getAllLines(),N=this.getTabSize(),j=this.$wrapData,U=this.$wrapLimit,K,Z,te=I;for(T=Math.min(T,C.length-1);te<=T;)Z=this.getFoldLine(te,Z),Z?(K=[],Z.walk((function(he,ne,ae,ce){var ue;if(he!=null){ue=this.$getDisplayTokens(he,K.length),ue[0]=_;for(var ve=1;ve<ue.length;ve++)ue[ve]=k}else ue=this.$getDisplayTokens(C[ne].substring(ce,ae),K.length);K=K.concat(ue)}).bind(this),Z.end.row,C[Z.end.row].length+1),j[Z.start.row]=this.$computeWrapSplits(K,U,N),te=Z.end.row+1):(K=this.$getDisplayTokens(C[te]),j[te]=this.$computeWrapSplits(K,U,N),te++)},P.prototype.$computeWrapSplits=function(I,T,C){if(I.length==0)return[];var N=[],j=I.length,U=0,K=0,Z=this.$wrapAsCode,te=this.$indentedSoftWrap,he=T<=Math.max(2*C,8)||te===!1?0:Math.floor(T/2);function ne(){var Ce=0;if(he===0)return Ce;if(te)for(var Ee=0;Ee<I.length;Ee++){var Le=I[Ee];if(Le==O)Ce+=1;else if(Le==F)Ce+=C;else{if(Le==L)continue;break}}return Z&&te!==!1&&(Ce+=C),Math.min(Ce,he)}function ae(Ce){for(var Ee=Ce-U,Le=U;Le<Ce;Le++){var Xe=I[Le];(Xe===12||Xe===2)&&(Ee-=1)}N.length||(ce=ne(),N.indent=ce),K+=Ee,N.push(K),U=Ce}for(var ce=0;j-U>T-ce;){var ue=U+T-ce;if(I[ue-1]>=O&&I[ue]>=O){ae(ue);continue}if(I[ue]==_||I[ue]==k){for(ue;ue!=U-1&&I[ue]!=_;ue--);if(ue>U){ae(ue);continue}for(ue=U+T,ue;ue<I.length&&I[ue]==k;ue++);if(ue==I.length)break;ae(ue);continue}for(var ve=Math.max(ue-(T-(T>>2)),U-1);ue>ve&&I[ue]<_;)ue--;if(Z){for(;ue>ve&&I[ue]<_;)ue--;for(;ue>ve&&I[ue]==E;)ue--}else for(;ue>ve&&I[ue]<O;)ue--;if(ue>ve){ae(++ue);continue}ue=U+T,I[ue]==A&&ue--,ae(ue-ce)}return N},P.prototype.$getDisplayTokens=function(I,T){var C=[],N;T=T||0;for(var j=0;j<I.length;j++){var U=I.charCodeAt(j);if(U==9){N=this.getScreenTabSize(C.length+T),C.push(F);for(var K=1;K<N;K++)C.push(L)}else U==32?C.push(O):U>39&&U<48||U>57&&U<64?C.push(E):U>=4352&&H(U)?C.push(M,A):C.push(M)}return C},P.prototype.$getStringScreenWidth=function(I,T,C){if(T==0)return[0,0];T==null&&(T=1/0),C=C||0;var N,j;for(j=0;j<I.length&&(N=I.charCodeAt(j),N==9?C+=this.getScreenTabSize(C):N>=4352&&H(N)?C+=2:C+=1,!(C>T));j++);return[C,j]},P.prototype.getRowLength=function(I){var T=1;return this.lineWidgets&&(T+=this.lineWidgets[I]&&this.lineWidgets[I].rowCount||0),!this.$useWrapMode||!this.$wrapData[I]?T:this.$wrapData[I].length+T},P.prototype.getRowLineCount=function(I){return!this.$useWrapMode||!this.$wrapData[I]?1:this.$wrapData[I].length+1},P.prototype.getRowWrapIndent=function(I){if(this.$useWrapMode){var T=this.screenToDocumentPosition(I,Number.MAX_VALUE),C=this.$wrapData[T.row];return C.length&&C[0]<T.column?C.indent:0}else return 0},P.prototype.getScreenLastRowColumn=function(I){var T=this.screenToDocumentPosition(I,Number.MAX_VALUE);return this.documentToScreenColumn(T.row,T.column)},P.prototype.getDocumentLastRowColumn=function(I,T){var C=this.documentToScreenRow(I,T);return this.getScreenLastRowColumn(C)},P.prototype.getDocumentLastRowColumnPosition=function(I,T){var C=this.documentToScreenRow(I,T);return this.screenToDocumentPosition(C,Number.MAX_VALUE/10)},P.prototype.getRowSplitData=function(I){if(this.$useWrapMode)return this.$wrapData[I]},P.prototype.getScreenTabSize=function(I){return this.$tabSize-(I%this.$tabSize|0)},P.prototype.screenToDocumentRow=function(I,T){return this.screenToDocumentPosition(I,T).row},P.prototype.screenToDocumentColumn=function(I,T){return this.screenToDocumentPosition(I,T).column},P.prototype.screenToDocumentPosition=function(I,T,C){if(I<0)return{row:0,column:0};var N,ae=0,j=0,U,ne=0,K=0,Z=this.$screenRowCache,te=this.$getRowCacheIndex(Z,I),he=Z.length;if(he&&te>=0)var ne=Z[te],ae=this.$docRowCache[te],ce=I>Z[he-1];else var ce=!he;for(var ue=this.getLength()-1,ve=this.getNextFoldLine(ae),Ce=ve?ve.start.row:1/0;ne<=I&&(K=this.getRowLength(ae),!(ne+K>I||ae>=ue));)ne+=K,ae++,ae>Ce&&(ae=ve.end.row+1,ve=this.getNextFoldLine(ae,ve),Ce=ve?ve.start.row:1/0),ce&&(this.$docRowCache.push(ae),this.$screenRowCache.push(ne));if(ve&&ve.start.row<=ae)N=this.getFoldDisplayLine(ve),ae=ve.start.row;else{if(ne+K<=I||ae>ue)return{row:ue,column:this.getLine(ue).length};N=this.getLine(ae),ve=null}var Ee=0,Le=Math.floor(I-ne);if(this.$useWrapMode){var Xe=this.$wrapData[ae];Xe&&(U=Xe[Le],Le>0&&Xe.length&&(Ee=Xe.indent,j=Xe[Le-1]||Xe[Xe.length-1],N=N.substring(j)))}return C!==void 0&&this.$bidiHandler.isBidiRow(ne+Le,ae,Le)&&(T=this.$bidiHandler.offsetToCol(C)),j+=this.$getStringScreenWidth(N,T-Ee)[1],this.$useWrapMode&&j>=U&&(j=U-1),ve?ve.idxToPosition(j):{row:ae,column:j}},P.prototype.documentToScreenPosition=function(I,T){if(typeof T>"u")var C=this.$clipPositionToDocument(I.row,I.column);else C=this.$clipPositionToDocument(I,T);I=C.row,T=C.column;var ne=0,N=null,j=null;j=this.getFoldAt(I,T,1),j&&(I=j.start.row,T=j.start.column);var U,he=0,K=this.$docRowCache,Z=this.$getRowCacheIndex(K,I),te=K.length;if(te&&Z>=0)var he=K[Z],ne=this.$screenRowCache[Z],ae=I>K[te-1];else var ae=!te;for(var ce=this.getNextFoldLine(he),ue=ce?ce.start.row:1/0;he<I;){if(he>=ue){if(U=ce.end.row+1,U>I)break;ce=this.getNextFoldLine(U,ce),ue=ce?ce.start.row:1/0}else U=he+1;ne+=this.getRowLength(he),he=U,ae&&(this.$docRowCache.push(he),this.$screenRowCache.push(ne))}var ve="";ce&&he>=ue?(ve=this.getFoldDisplayLine(ce,I,T),N=ce.start.row):(ve=this.getLine(I).substring(0,T),N=I);var Ce=0;if(this.$useWrapMode){var Ee=this.$wrapData[N];if(Ee){for(var Le=0;ve.length>=Ee[Le];)ne++,Le++;ve=ve.substring(Ee[Le-1]||0,ve.length),Ce=Le>0?Ee.indent:0}}return this.lineWidgets&&this.lineWidgets[he]&&this.lineWidgets[he].rowsAbove&&(ne+=this.lineWidgets[he].rowsAbove),{row:ne,column:Ce+this.$getStringScreenWidth(ve)[0]}},P.prototype.documentToScreenColumn=function(I,T){return this.documentToScreenPosition(I,T).column},P.prototype.documentToScreenRow=function(I,T){return this.documentToScreenPosition(I,T).row},P.prototype.getScreenLength=function(){var I=0,T=null;if(this.$useWrapMode)for(var C=this.$wrapData.length,N=0,j=0,T=this.$foldData[j++],U=T?T.start.row:1/0;N<C;){var K=this.$wrapData[N];I+=K?K.length+1:1,N++,N>U&&(N=T.end.row+1,T=this.$foldData[j++],U=T?T.start.row:1/0)}else{I=this.getLength();for(var Z=this.$foldData,j=0;j<Z.length;j++)T=Z[j],I-=T.end.row-T.start.row}return this.lineWidgets&&(I+=this.$getWidgetScreenLength()),I},P.prototype.$setFontMetrics=function(I){this.$enableVarChar&&(this.$getStringScreenWidth=function(T,C,N){if(C===0)return[0,0];C||(C=1/0),N=N||0;var j,U;for(U=0;U<T.length&&(j=T.charAt(U),j===" "?N+=this.getScreenTabSize(N):N+=I.getCharacterWidth(j),!(N>C));U++);return[N,U]})},P.prototype.getPrecedingCharacter=function(){var I=this.selection.getCursor();if(I.column===0)return I.row===0?"":this.doc.getNewLineCharacter();var T=this.getLine(I.row);return T[I.column-1]},P.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()},P}();x.$uid=0,x.prototype.$modes=f.$modes,x.prototype.getValue=x.prototype.toString,x.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},x.prototype.$overwrite=!1,x.prototype.$mode=null,x.prototype.$modeId=null,x.prototype.$scrollTop=0,x.prototype.$scrollLeft=0,x.prototype.$wrapLimit=80,x.prototype.$useWrapMode=!1,x.prototype.$wrapLimitRange={min:null,max:null},x.prototype.lineWidgets=null,x.prototype.isFullWidth=H,d.implement(x.prototype,g);var M=1,A=2,_=3,k=4,E=9,O=10,F=11,L=12;function H(P){return P<4352?!1:P>=4352&&P<=4447||P>=4515&&P<=4519||P>=4602&&P<=4607||P>=9001&&P<=9002||P>=11904&&P<=11929||P>=11931&&P<=12019||P>=12032&&P<=12245||P>=12272&&P<=12283||P>=12288&&P<=12350||P>=12353&&P<=12438||P>=12441&&P<=12543||P>=12549&&P<=12589||P>=12593&&P<=12686||P>=12688&&P<=12730||P>=12736&&P<=12771||P>=12784&&P<=12830||P>=12832&&P<=12871||P>=12880&&P<=13054||P>=13056&&P<=19903||P>=19968&&P<=42124||P>=42128&&P<=42182||P>=43360&&P<=43388||P>=44032&&P<=55203||P>=55216&&P<=55238||P>=55243&&P<=55291||P>=63744&&P<=64255||P>=65040&&P<=65049||P>=65072&&P<=65106||P>=65108&&P<=65126||P>=65128&&P<=65131||P>=65281&&P<=65376||P>=65504&&P<=65510}n("./edit_session/folding").Folding.call(x.prototype),n("./edit_session/bracket_match").BracketMatch.call(x.prototype),f.defineOptions(x.prototype,"session",{wrap:{set:function(P){if(!P||P=="off"?P=!1:P=="free"?P=!0:P=="printMargin"?P=-1:typeof P=="string"&&(P=parseInt(P,10)||!1),this.$wrap!=P)if(this.$wrap=P,!P)this.setUseWrapMode(!1);else{var I=typeof P=="number"?P:null;this.setWrapLimitRange(I,I),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(P){P=P=="auto"?this.$mode.type!="text":P!="text",P!=this.$wrapAsCode&&(this.$wrapAsCode=P,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(P){this.$useWorker=P,this.$stopWorker(),P&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(P){P=parseInt(P),P>0&&this.$tabSize!==P&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=P,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(P){this.setFoldStyle(P)},handlesSet:!0},overwrite:{set:function(P){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(P){this.doc.setNewLineMode(P)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(P){this.setMode(P)},get:function(){return this.$modeId},handlesSet:!0}}),r.EditSession=x}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(n,r,u){var d=n("./lib/lang"),p=n("./lib/oop"),w=n("./range").Range,f=function(){function h(){this.$options={}}return h.prototype.set=function(c){return p.mixin(this.$options,c),this},h.prototype.getOptions=function(){return d.copyObject(this.$options)},h.prototype.setOptions=function(c){this.$options=c},h.prototype.find=function(c){var i=this.$options,l=this.$matchIterator(c,i);if(!l)return!1;var m=null;return l.forEach(function(b,x,M,A){return m=new w(b,x,M,A),x==A&&i.start&&i.start.start&&i.skipCurrent!=!1&&m.isEqual(i.start)?(m=null,!1):!0}),m},h.prototype.findAll=function(c){var i=this.$options;if(!i.needle)return[];this.$assembleRegExp(i);var l=i.range,m=l?c.getLines(l.start.row,l.end.row):c.doc.getAllLines(),b=[],x=i.re;if(i.$isMultiLine){var M=x.length,A=m.length-M,_;e:for(var k=x.offset||0;k<=A;k++){for(var E=0;E<M;E++)if(m[k+E].search(x[E])==-1)continue e;var O=m[k],F=m[k+M-1],L=O.length-O.match(x[0])[0].length,H=F.match(x[M-1])[0].length;_&&_.end.row===k&&_.end.column>L||(b.push(_=new w(k,L,k+M-1,H)),M>2&&(k=k+M-2))}}else for(var P,I=0;I<m.length;I++)if(this.$isMultilineSearch(i)){var T=m.length-1;if(P=this.$multiLineForward(c,x,I,T),P){var C=P.endRow<=T?P.endRow-1:T;C>I&&(I=C),b.push(new w(P.startRow,P.startCol,P.endRow,P.endCol))}}else{P=d.getMatchOffsets(m[I],x);for(var E=0;E<P.length;E++){var N=P[E];b.push(new w(I,N.offset,I,N.offset+N.length))}}if(l){for(var j=l.start.column,U=l.end.column,I=0,E=b.length-1;I<E&&b[I].start.column<j&&b[I].start.row==0;)I++;for(var K=l.end.row-l.start.row;I<E&&b[E].end.column>U&&b[E].end.row==K;)E--;for(b=b.slice(I,E+1),I=0,E=b.length;I<E;I++)b[I].start.row+=l.start.row,b[I].end.row+=l.start.row}return b},h.prototype.parseReplaceString=function(c){for(var i={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},l="",m=0,b=c.length;m<b;m++){var x=c.charCodeAt(m);if(x===i.Backslash){if(m++,m>=b){l+="\\";break}var M=c.charCodeAt(m);switch(M){case i.Backslash:l+="\\";break;case i.n:l+=`
205
+ `;break;case i.t:l+=" ";break}continue}if(x===i.DollarSign){if(m++,m>=b){l+="$";break}var A=c.charCodeAt(m);if(A===i.DollarSign){l+="$$";continue}if(A===i.Digit0||A===i.Ampersand){l+="$&";continue}if(i.Digit1<=A&&A<=i.Digit9){l+="$"+c[m];continue}}l+=c[m]}return l||c},h.prototype.replace=function(c,i){var l=this.$options,m=this.$assembleRegExp(l);if(l.$isMultiLine)return i;if(m){var b=this.$isMultilineSearch(l);b&&(c=c.replace(/\r\n|\r|\n/g,`
206
+ `));var x=m.exec(c);if(!x||!b&&x[0].length!=c.length)return null;if(i=l.regExp?this.parseReplaceString(i):i.replace(/\$/g,"$$$$"),i=c.replace(m,i),l.preserveCase){i=i.split("");for(var M=Math.min(c.length,c.length);M--;){var A=c[M];A&&A.toLowerCase()!=A?i[M]=i[M].toUpperCase():i[M]=i[M].toLowerCase()}i=i.join("")}return i}},h.prototype.$assembleRegExp=function(c,i){if(c.needle instanceof RegExp)return c.re=c.needle;var l=c.needle;if(!c.needle)return c.re=!1;c.regExp||(l=d.escapeRegExp(l));var m=c.caseSensitive?"gm":"gmi";try{new RegExp(l,"u"),c.$supportsUnicodeFlag=!0,m+="u"}catch{c.$supportsUnicodeFlag=!1}if(c.wholeWord&&(l=g(l,c)),c.$isMultiLine=!i&&/[\n\r]/.test(l),c.$isMultiLine)return c.re=this.$assembleMultilineRegExp(l,m);try{var b=new RegExp(l,m)}catch{b=!1}return c.re=b},h.prototype.$assembleMultilineRegExp=function(c,i){for(var l=c.replace(/\r\n|\r|\n/g,`$
207
+ ^`).split(`
208
+ `),m=[],b=0;b<l.length;b++)try{m.push(new RegExp(l[b],i))}catch{return!1}return m},h.prototype.$isMultilineSearch=function(c){return c.re&&/\\r\\n|\\r|\\n/.test(c.re.source)&&c.regExp&&!c.$isMultiLine},h.prototype.$multiLineForward=function(c,i,l,m){for(var b,x=a(c,l),M=l;M<=m;){for(var A=0;A<x&&!(M>m);A++){var _=c.getLine(M++);b=b==null?_:b+`
209
+ `+_}var k=i.exec(b);if(i.lastIndex=0,k){var E=b.slice(0,k.index).split(`
210
+ `),O=k[0].split(`
211
+ `),F=l+E.length-1,L=E[E.length-1].length,H=F+O.length-1,P=O.length==1?L+O[0].length:O[O.length-1].length;return{startRow:F,startCol:L,endRow:H,endCol:P}}}return null},h.prototype.$multiLineBackward=function(c,i,l,m,b){for(var x,M=a(c,m),A=c.getLine(m).length-l,_=m;_>=b;){for(var k=0;k<M&&_>=b;k++){var E=c.getLine(_--);x=x==null?E:E+`
212
+ `+x}var O=s(x,i,A);if(O){var F=x.slice(0,O.index).split(`
213
+ `),L=O[0].split(`
214
+ `),H=_+F.length,P=F[F.length-1].length,I=H+L.length-1,T=L.length==1?P+L[0].length:L[L.length-1].length;return{startRow:H,startCol:P,endRow:I,endCol:T}}}return null},h.prototype.$matchIterator=function(c,i){var l=this.$assembleRegExp(i);if(!l)return!1;var m=this.$isMultilineSearch(i),b=this.$multiLineForward,x=this.$multiLineBackward,M=i.backwards==!0,A=i.skipCurrent!=!1,_=l.unicode,k=i.range,E=i.start;E||(E=k?k[M?"end":"start"]:c.selection.getRange()),E.start&&(E=E[A!=M?"end":"start"]);var O=k?k.start.row:0,F=k?k.end.row:c.getLength()-1;if(M)var L=function(I){var T=E.row;if(!P(T,E.column,I)){for(T--;T>=O;T--)if(P(T,Number.MAX_VALUE,I))return;if(i.wrap!=!1){for(T=F,O=E.row;T>=O;T--)if(P(T,Number.MAX_VALUE,I))return}}};else var L=function(I){var T=E.row;if(!P(T,E.column,I)){for(T=T+1;T<=F;T++)if(P(T,0,I))return;if(i.wrap!=!1){for(T=O,F=E.row;T<=F;T++)if(P(T,0,I))return}}};if(i.$isMultiLine)var H=l.length,P=function(I,T,C){var N=M?I-H+1:I;if(!(N<0||N+H>c.getLength())){var j=c.getLine(N),U=j.search(l[0]);if(!(!M&&U<T||U===-1)){for(var K=1;K<H;K++)if(j=c.getLine(N+K),j.search(l[K])==-1)return;var Z=j.match(l[H-1])[0].length;if(!(M&&Z>T)&&C(N,U,N+H-1,Z))return!0}}};else if(M)var P=function(I,T,C){if(m){var N=x(c,l,T,I,O);if(!N)return!1;if(C(N.startRow,N.startCol,N.endRow,N.endCol))return!0}else{var j=c.getLine(I),U=[],K,Z=0;for(l.lastIndex=0;K=l.exec(j);){var te=K[0].length;if(Z=K.index,!te){if(Z>=j.length)break;l.lastIndex=Z+=d.skipEmptyMatch(j,Z,_)}if(K.index+te>T)break;U.push(K.index,te)}for(var he=U.length-1;he>=0;he-=2){var ne=U[he-1],te=U[he];if(C(I,ne,I,ne+te))return!0}}};else var P=function(I,T,C){if(l.lastIndex=T,m){var N=b(c,l,I,F);if(N){var j=N.endRow<=F?N.endRow-1:F;j>I&&(I=j)}if(!N)return!1;if(C(N.startRow,N.startCol,N.endRow,N.endCol))return!0}else for(var U=c.getLine(I),K,Z;Z=l.exec(U);){var te=Z[0].length;if(K=Z.index,C(I,K,I,K+te))return!0;if(!te&&(l.lastIndex=K+=d.skipEmptyMatch(U,K,_),K>=U.length))return!1}};return{forEach:L}},h}();function g(h,c){var i=d.supportsLookbehind();function l(M,A){A===void 0&&(A=!0);var _=i&&c.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return _.test(M)||c.regExp?i&&c.$supportsUnicodeFlag?A?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var m=Array.from(h),b=m[0],x=m[m.length-1];return l(b)+h+l(x,!1)}function s(h,c,i){for(var l=null,m=0;m<=h.length;){c.lastIndex=m;var b=c.exec(h);if(!b)break;var x=b.index+b[0].length;if(x>h.length-i)break;(!l||x>l.index+l[0].length)&&(l=b),m=b.index+1}return l}function a(h,c){var i=5e3,l={row:c,column:0},m=h.doc.positionToIndex(l),b=m+i,x=h.doc.indexToPosition(b),M=x.row;return M+1}r.Search=f}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(n,r,u){var d=this&&this.__extends||function(){var h=function(c,i){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,m){l.__proto__=m}||function(l,m){for(var b in m)Object.prototype.hasOwnProperty.call(m,b)&&(l[b]=m[b])},h(c,i)};return function(c,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");h(c,i);function l(){this.constructor=c}c.prototype=i===null?Object.create(i):(l.prototype=i.prototype,new l)}}(),p=n("../lib/keys"),w=n("../lib/useragent"),f=p.KEY_MODS,g=function(){function h(c,i){this.$init(c,i,!1)}return h.prototype.$init=function(c,i,l){this.platform=i||(w.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(c),this.$singleCommand=l},h.prototype.addCommand=function(c){this.commands[c.name]&&this.removeCommand(c),this.commands[c.name]=c,c.bindKey&&this._buildKeyHash(c)},h.prototype.removeCommand=function(c,i){var l=c&&(typeof c=="string"?c:c.name);c=this.commands[l],i||delete this.commands[l];var m=this.commandKeyBinding;for(var b in m){var x=m[b];if(x==c)delete m[b];else if(Array.isArray(x)){var M=x.indexOf(c);M!=-1&&(x.splice(M,1),x.length==1&&(m[b]=x[0]))}}},h.prototype.bindKey=function(c,i,l){if(typeof c=="object"&&c&&(l==null&&(l=c.position),c=c[this.platform]),!!c){if(typeof i=="function")return this.addCommand({exec:i,bindKey:c,name:i.name||c});c.split("|").forEach(function(m){var b="";if(m.indexOf(" ")!=-1){var x=m.split(/\s+/);m=x.pop(),x.forEach(function(_){var k=this.parseKeys(_),E=f[k.hashId]+k.key;b+=(b?" ":"")+E,this._addCommandToBinding(b,"chainKeys")},this),b+=" "}var M=this.parseKeys(m),A=f[M.hashId]+M.key;this._addCommandToBinding(b+A,i,l)},this)}},h.prototype._addCommandToBinding=function(c,i,l){var m=this.commandKeyBinding,b;if(!i)delete m[c];else if(!m[c]||this.$singleCommand)m[c]=i;else{Array.isArray(m[c])?(b=m[c].indexOf(i))!=-1&&m[c].splice(b,1):m[c]=[m[c]],typeof l!="number"&&(l=s(i));var x=m[c];for(b=0;b<x.length;b++){var M=x[b],A=s(M);if(A>l)break}x.splice(b,0,i)}},h.prototype.addCommands=function(c){c&&Object.keys(c).forEach(function(i){var l=c[i];if(l){if(typeof l=="string")return this.bindKey(l,i);typeof l=="function"&&(l={exec:l}),typeof l=="object"&&(l.name||(l.name=i),this.addCommand(l))}},this)},h.prototype.removeCommands=function(c){Object.keys(c).forEach(function(i){this.removeCommand(c[i])},this)},h.prototype.bindKeys=function(c){Object.keys(c).forEach(function(i){this.bindKey(i,c[i])},this)},h.prototype._buildKeyHash=function(c){this.bindKey(c.bindKey,c)},h.prototype.parseKeys=function(c){var i=c.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(A){return A}),l=i.pop(),m=p[l];if(p.FUNCTION_KEYS[m])l=p.FUNCTION_KEYS[m].toLowerCase();else if(i.length){if(i.length==1&&i[0]=="shift")return{key:l.toUpperCase(),hashId:-1}}else return{key:l,hashId:-1};for(var b=0,x=i.length;x--;){var M=p.KEY_MODS[i[x]];if(M==null)return typeof console<"u"&&console.error("invalid modifier "+i[x]+" in "+c),!1;b|=M}return{key:l,hashId:b}},h.prototype.findKeyCommand=function(c,i){var l=f[c]+i;return this.commandKeyBinding[l]},h.prototype.handleKeyboard=function(c,i,l,m){if(!(m<0)){var b=f[i]+l,x=this.commandKeyBinding[b];return c.$keyChain&&(c.$keyChain+=" "+b,x=this.commandKeyBinding[c.$keyChain]||x),x&&(x=="chainKeys"||x[x.length-1]=="chainKeys")?(c.$keyChain=c.$keyChain||b,{command:"null"}):(c.$keyChain&&((!i||i==4)&&l.length==1?c.$keyChain=c.$keyChain.slice(0,-b.length-1):(i==-1||m>0)&&(c.$keyChain="")),{command:x})}},h.prototype.getStatusText=function(c,i){return i.$keyChain||""},h}();function s(h){return typeof h=="object"&&h.bindKey&&h.bindKey.position||(h.isDefault?-100:0)}var a=function(h){d(c,h);function c(i,l){var m=h.call(this,i,l)||this;return m.$singleCommand=!0,m}return c}(g);a.call=function(h,c,i){g.prototype.$init.call(h,c,i,!0)},g.call=function(h,c,i){g.prototype.$init.call(h,c,i,!1)},r.HashHandler=a,r.MultiHashHandler=g}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(n,r,u){var d=this&&this.__extends||function(){var s=function(a,h){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,i){c.__proto__=i}||function(c,i){for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(c[l]=i[l])},s(a,h)};return function(a,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");s(a,h);function c(){this.constructor=a}a.prototype=h===null?Object.create(h):(c.prototype=h.prototype,new c)}}(),p=n("../lib/oop"),w=n("../keyboard/hash_handler").MultiHashHandler,f=n("../lib/event_emitter").EventEmitter,g=function(s){d(a,s);function a(h,c){var i=s.call(this,c,h)||this;return i.byName=i.commands,i.setDefaultHandler("exec",function(l){return l.args?l.command.exec(l.editor,l.args,l.event,!1):l.command.exec(l.editor,{},l.event,!0)}),i}return a.prototype.exec=function(h,c,i){if(Array.isArray(h)){for(var l=h.length;l--;)if(this.exec(h[l],c,i))return!0;return!1}typeof h=="string"&&(h=this.commands[h]);var m={editor:c,command:h,args:i};return this.canExecute(h,c)?(m.returnValue=this._emit("exec",m),this._signal("afterExec",m),m.returnValue!==!1):(this._signal("commandUnavailable",m),!1)},a.prototype.canExecute=function(h,c){return typeof h=="string"&&(h=this.commands[h]),!(!h||c&&c.$readOnly&&!h.readOnly||this.$checkCommandState!=!1&&h.isAvailable&&!h.isAvailable(c))},a.prototype.toggleRecording=function(h){if(!this.$inReplay)return h&&h._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(c){this.macro.push([c.command,c.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},a.prototype.replay=function(h){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(h);try{this.$inReplay=!0,this.macro.forEach(function(c){typeof c=="string"?this.exec(c,h):this.exec(c[0],h,c[1])},this)}finally{this.$inReplay=!1}}},a.prototype.trimMacro=function(h){return h.map(function(c){return typeof c[0]!="string"&&(c[0]=c[0].name),c[1]||(c=c[0]),c})},a}(w);p.implement(g.prototype,f),r.CommandManager=g}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(n,r,u){var d=n("../lib/lang"),p=n("../config"),w=n("../range").Range;function f(s,a){return{win:s,mac:a}}r.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:f("Ctrl-,","Command-,"),exec:function(s){p.loadModule("ace/ext/settings_menu",function(a){a.init(s),s.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:f("Alt-E","F4"),exec:function(s){p.loadModule("ace/ext/error_marker",function(a){a.showErrorMarker(s,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:f("Alt-Shift-E","Shift-F4"),exec:function(s){p.loadModule("ace/ext/error_marker",function(a){a.showErrorMarker(s,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:f("Ctrl-A","Command-A"),exec:function(s){s.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:f(null,"Ctrl-L"),exec:function(s){s.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:f("Ctrl-L","Command-L"),exec:function(s,a){typeof a=="number"&&!isNaN(a)&&s.gotoLine(a),s.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:f("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(s){s.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:f("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(s){s.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:f("F2","F2"),exec:function(s){s.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:f("Alt-F2","Alt-F2"),exec:function(s){s.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:f(null,"Ctrl-Command-Option-0"),exec:function(s){s.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:f(null,"Ctrl-Command-Option-0"),exec:function(s){s.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:f("Alt-0","Command-Option-0"),exec:function(s){s.session.foldAll(),s.session.unfold(s.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:f("Alt-Shift-0","Command-Option-Shift-0"),exec:function(s){s.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:f("Ctrl-K","Command-G"),exec:function(s){s.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:f("Ctrl-Shift-K","Command-Shift-G"),exec:function(s){s.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:f("Alt-K","Ctrl-G"),exec:function(s){s.selection.isEmpty()?s.selection.selectWord():s.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:f("Alt-Shift-K","Ctrl-Shift-G"),exec:function(s){s.selection.isEmpty()?s.selection.selectWord():s.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:f("Ctrl-F","Command-F"),exec:function(s){p.loadModule("ace/ext/searchbox",function(a){a.Search(s)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(s){s.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:f("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(s){s.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:f("Ctrl-Home","Command-Home|Command-Up"),exec:function(s){s.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:f("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(s){s.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:f("Up","Up|Ctrl-P"),exec:function(s,a){s.navigateUp(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:f("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(s){s.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:f("Ctrl-End","Command-End|Command-Down"),exec:function(s){s.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:f("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(s){s.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:f("Down","Down|Ctrl-N"),exec:function(s,a){s.navigateDown(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:f("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(s){s.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:f("Ctrl-Left","Option-Left"),exec:function(s){s.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:f("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(s){s.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:f("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(s){s.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:f("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(s){s.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:f("Left","Left|Ctrl-B"),exec:function(s,a){s.navigateLeft(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:f("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(s){s.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:f("Ctrl-Right","Option-Right"),exec:function(s){s.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:f("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(s){s.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:f("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(s){s.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:f("Shift-Right","Shift-Right"),exec:function(s){s.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:f("Right","Right|Ctrl-F"),exec:function(s,a){s.navigateRight(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(s){s.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:f(null,"Option-PageDown"),exec:function(s){s.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:f("PageDown","PageDown|Ctrl-V"),exec:function(s){s.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(s){s.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:f(null,"Option-PageUp"),exec:function(s){s.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(s){s.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:f("Ctrl-Up",null),exec:function(s){s.renderer.scrollBy(0,-2*s.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:f("Ctrl-Down",null),exec:function(s){s.renderer.scrollBy(0,2*s.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(s){s.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(s){s.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:f("Ctrl-Alt-E","Command-Option-E"),exec:function(s){s.commands.toggleRecording(s)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:f("Ctrl-Shift-E","Command-Shift-E"),exec:function(s){s.commands.replay(s)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:f("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(s){s.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:f("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(s){s.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:f("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(s){s.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:f(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(s){},readOnly:!0},{name:"cut",description:"Cut",exec:function(s){var a=s.$copyWithEmptySelection&&s.selection.isEmpty(),h=a?s.selection.getLineRange():s.selection.getRange();s._emit("cut",h),h.isEmpty()||s.session.remove(h),s.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(s,a){s.$handlePaste(a)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:f("Ctrl-D","Command-D"),exec:function(s){s.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:f("Ctrl-Shift-D","Command-Shift-D"),exec:function(s){s.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:f("Ctrl-Alt-S","Command-Alt-S"),exec:function(s){s.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:f("Ctrl-/","Command-/"),exec:function(s){s.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:f("Ctrl-Shift-/","Command-Shift-/"),exec:function(s){s.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:f("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(s){s.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:f("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(s){s.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:f("Ctrl-H","Command-Option-F"),exec:function(s){p.loadModule("ace/ext/searchbox",function(a){a.Search(s,!0)})}},{name:"undo",description:"Undo",bindKey:f("Ctrl-Z","Command-Z"),exec:function(s){s.undo()}},{name:"redo",description:"Redo",bindKey:f("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(s){s.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:f("Alt-Shift-Up","Command-Option-Up"),exec:function(s){s.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:f("Alt-Up","Option-Up"),exec:function(s){s.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:f("Alt-Shift-Down","Command-Option-Down"),exec:function(s){s.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:f("Alt-Down","Option-Down"),exec:function(s){s.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:f("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(s){s.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:f("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(s){s.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:f("Shift-Delete",null),exec:function(s){if(s.selection.isEmpty())s.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:f("Alt-Backspace","Command-Backspace"),exec:function(s){s.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:f("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(s){s.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:f("Ctrl-Shift-Backspace",null),exec:function(s){var a=s.selection.getRange();a.start.column=0,s.session.remove(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:f("Ctrl-Shift-Delete",null),exec:function(s){var a=s.selection.getRange();a.end.column=Number.MAX_VALUE,s.session.remove(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:f("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(s){s.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:f("Ctrl-Delete","Alt-Delete"),exec:function(s){s.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:f("Shift-Tab","Shift-Tab"),exec:function(s){s.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:f("Tab","Tab"),exec:function(s){s.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:f("Ctrl-[","Ctrl-["),exec:function(s){s.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:f("Ctrl-]","Ctrl-]"),exec:function(s){s.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(s,a){s.insert(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(s,a){s.insert(d.stringRepeat(a.text||"",a.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:f(null,"Ctrl-O"),exec:function(s){s.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:f("Alt-Shift-X","Ctrl-T"),exec:function(s){s.transposeLetters()},multiSelectAction:function(s){s.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:f("Ctrl-U","Ctrl-U"),exec:function(s){s.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:f("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(s){s.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:f(null,null),exec:function(s){s.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:f("Ctrl-Shift-L","Command-Shift-L"),exec:function(s){var a=s.selection.getRange();a.start.column=a.end.column=0,a.end.row++,s.selection.setRange(a,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:f("Ctrl+F3","F3"),exec:function(s){s.openLink()}},{name:"joinlines",description:"Join lines",bindKey:f(null,null),exec:function(s){for(var a=s.selection.isBackwards(),h=a?s.selection.getSelectionLead():s.selection.getSelectionAnchor(),c=a?s.selection.getSelectionAnchor():s.selection.getSelectionLead(),i=s.session.doc.getLine(h.row).length,l=s.session.doc.getTextRange(s.selection.getRange()),m=l.replace(/\n\s*/," ").length,b=s.session.doc.getLine(h.row),x=h.row+1;x<=c.row+1;x++){var M=d.stringTrimLeft(d.stringTrimRight(s.session.doc.getLine(x)));M.length!==0&&(M=" "+M),b+=M}c.row+1<s.session.doc.getLength()-1&&(b+=s.session.doc.getNewLineCharacter()),s.clearSelection(),s.session.doc.replace(new w(h.row,0,c.row+2,0),b),m>0?(s.selection.moveCursorTo(h.row,h.column),s.selection.selectTo(h.row,h.column+m)):(i=s.session.doc.getLine(h.row).length>i?i+1:i,s.selection.moveCursorTo(h.row,i))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:f(null,null),exec:function(s){var a=s.session.doc.getLength()-1,h=s.session.doc.getLine(a).length,c=s.selection.rangeList.ranges,i=[];c.length<1&&(c=[s.selection.getRange()]);for(var l=0;l<c.length;l++)l==c.length-1&&(c[l].end.row===a&&c[l].end.column===h||i.push(new w(c[l].end.row,c[l].end.column,a,h))),l===0?c[l].start.row===0&&c[l].start.column===0||i.push(new w(0,0,c[l].start.row,c[l].start.column)):i.push(new w(c[l-1].end.row,c[l-1].end.column,c[l].start.row,c[l].start.column));s.exitMultiSelectMode(),s.clearSelection();for(var l=0;l<i.length;l++)s.selection.addRange(i[l],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(s){s.selection.clearSelection(),s.navigateLineEnd(),s.insert(`
215
+ `)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(s){s.selection.clearSelection();var a=s.getCursorPosition();s.selection.moveTo(a.row-1,Number.MAX_VALUE),s.insert(`
216
+ `),a.row===0&&s.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(s){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),s.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:f("F1","F1"),exec:function(s){s.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:f(null,null),exec:function(s){s.prompt({$type:"modes"})},readOnly:!0}];for(var g=1;g<9;g++)r.commands.push({name:"foldToLevel"+g,description:"Fold To Level "+g,level:g,exec:function(s){s.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(n,r,u){var d=n("../lib/keys"),p=n("../mouse/default_gutter_handler").GutterTooltip,w=function(){function g(s){this.editor=s,this.gutterLayer=s.renderer.$gutterLayer,this.element=s.renderer.$gutter,this.lines=s.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new p(this.editor)}return g.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))},g.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))},g.prototype.$onGutterKeyDown=function(s){if(this.annotationTooltip.isOpen){s.preventDefault(),s.keyCode===d.escape&&this.annotationTooltip.hideTooltip();return}if(s.target===this.element){if(s.keyCode!=d.enter)return;s.preventDefault();var a=this.editor.getCursorPosition().row;this.editor.isRowVisible(a)||this.editor.scrollToLine(a,!0,!0),setTimeout((function(){var h=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),c=this.$findNearestFoldWidget(h),i=this.$findNearestAnnotation(h);if(!(c===null&&i===null)){if(c===null&&i!==null){this.activeRowIndex=i,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(c!==null&&i===null){this.activeRowIndex=c,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(i-h)<Math.abs(c-h)){this.activeRowIndex=i,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=c,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(s),setTimeout((function(){this.editor._signal("gutterkeydown",new f(s,this))}).bind(this),10)},g.prototype.$handleGutterKeyboardInteraction=function(s){if(s.keyCode===d.tab){s.preventDefault();return}if(s.keyCode===d.escape){s.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(s.keyCode===d.up){switch(s.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(s.keyCode===d.down){switch(s.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(s.keyCode===d.left){s.preventDefault(),this.$switchLane("annotation");return}if(s.keyCode===d.right){s.preventDefault(),this.$switchLane("fold");return}if(s.keyCode===d.enter||s.keyCode===d.space){switch(s.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var a=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),s),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==a&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(a),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var h=this.lines.cells[this.activeRowIndex].element.childNodes[2],c=h.getBoundingClientRect(),i=this.annotationTooltip.getElement().style;i.left=c.right+"px",i.top=c.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},g.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()},g.prototype.$isFoldWidgetVisible=function(s){var a=this.editor.isRowFullyVisible(this.$rowIndexToRow(s)),h=this.$getFoldWidget(s).style.display!=="none";return a&&h},g.prototype.$isAnnotationVisible=function(s){var a=this.editor.isRowFullyVisible(this.$rowIndexToRow(s)),h=this.$getAnnotation(s).style.display!=="none";return a&&h},g.prototype.$getFoldWidget=function(s){var a=this.lines.get(s),h=a.element;return h.childNodes[1]},g.prototype.$getAnnotation=function(s){var a=this.lines.get(s),h=a.element;return h.childNodes[2]},g.prototype.$findNearestFoldWidget=function(s){if(this.$isFoldWidgetVisible(s))return s;for(var a=0;s-a>0||s+a<this.lines.getLength()-1;){if(a++,s-a>=0&&this.$isFoldWidgetVisible(s-a))return s-a;if(s+a<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(s+a))return s+a}return null},g.prototype.$findNearestAnnotation=function(s){if(this.$isAnnotationVisible(s))return s;for(var a=0;s-a>0||s+a<this.lines.getLength()-1;){if(a++,s-a>=0&&this.$isAnnotationVisible(s-a))return s-a;if(s+a<=this.lines.getLength()-1&&this.$isAnnotationVisible(s+a))return s+a}return null},g.prototype.$focusFoldWidget=function(s){if(s!=null){var a=this.$getFoldWidget(s);a.classList.add(this.editor.renderer.keyboardFocusClassName),a.focus()}},g.prototype.$focusAnnotation=function(s){if(s!=null){var a=this.$getAnnotation(s);a.classList.add(this.editor.renderer.keyboardFocusClassName),a.focus()}},g.prototype.$blurFoldWidget=function(s){var a=this.$getFoldWidget(s);a.classList.remove(this.editor.renderer.keyboardFocusClassName),a.blur()},g.prototype.$blurAnnotation=function(s){var a=this.$getAnnotation(s);a.classList.remove(this.editor.renderer.keyboardFocusClassName),a.blur()},g.prototype.$moveFoldWidgetUp=function(){for(var s=this.activeRowIndex;s>0;)if(s--,this.$isFoldWidgetVisible(s)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=s,this.$focusFoldWidget(this.activeRowIndex);return}},g.prototype.$moveFoldWidgetDown=function(){for(var s=this.activeRowIndex;s<this.lines.getLength()-1;)if(s++,this.$isFoldWidgetVisible(s)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=s,this.$focusFoldWidget(this.activeRowIndex);return}},g.prototype.$moveAnnotationUp=function(){for(var s=this.activeRowIndex;s>0;)if(s--,this.$isAnnotationVisible(s)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=s,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$moveAnnotationDown=function(){for(var s=this.activeRowIndex;s<this.lines.getLength()-1;)if(s++,this.$isAnnotationVisible(s)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=s,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$switchLane=function(s){switch(s){case"annotation":if(this.activeLane==="annotation")break;var a=this.$findNearestAnnotation(this.activeRowIndex);if(a==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=a,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var h=this.$findNearestFoldWidget(this.activeRowIndex);if(h==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=h,this.$focusFoldWidget(this.activeRowIndex);break}},g.prototype.$rowIndexToRow=function(s){var a=this.lines.get(s);return a?a.row:null},g.prototype.$rowToRowIndex=function(s){for(var a=0;a<this.lines.getLength();a++){var h=this.lines.get(a);if(h.row==s)return a}return null},g}();r.GutterKeyboardHandler=w;var f=function(){function g(s,a){this.gutterKeyboardHandler=a,this.domEvent=s}return g.prototype.getKey=function(){return d.keyCodeToString(this.domEvent.keyCode)},g.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},g.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},g.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},g}();r.GutterKeyboardEvent=f}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(n,r,u){var d=this&&this.__values||function(T){var C=typeof Symbol=="function"&&Symbol.iterator,N=C&&T[C],j=0;if(N)return N.call(T);if(T&&typeof T.length=="number")return{next:function(){return T&&j>=T.length&&(T=void 0),{value:T&&T[j++],done:!T}}};throw new TypeError(C?"Object is not iterable.":"Symbol.iterator is not defined.")},p=n("./lib/oop"),w=n("./lib/dom"),f=n("./lib/lang"),g=n("./lib/useragent"),s=n("./keyboard/textinput").TextInput,a=n("./mouse/mouse_handler").MouseHandler,h=n("./mouse/fold_handler").FoldHandler,c=n("./keyboard/keybinding").KeyBinding,i=n("./edit_session").EditSession,l=n("./search").Search,m=n("./range").Range,b=n("./lib/event_emitter").EventEmitter,x=n("./commands/command_manager").CommandManager,M=n("./commands/default_commands").commands,A=n("./config"),_=n("./token_iterator").TokenIterator,k=n("./keyboard/gutter_handler").GutterKeyboardHandler,E=n("./config").nls,O=n("./clipboard"),F=n("./lib/keys"),L=n("./lib/event"),H=n("./tooltip").HoverTooltip,P=function(){function T(C,N,j){this.session,this.$toDestroy=[];var U=C.getContainerElement();this.container=U,this.renderer=C,this.id="editor"+ ++T.$uid,this.commands=new x(g.isMac?"mac":"win",M),typeof document=="object"&&(this.textInput=new s(C.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new h(this)),this.keyBinding=new c(this),this.$search=new l().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=f.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(K,Z){Z._$emitInputEvent.schedule(31)}),this.setSession(N||j&&j.session||new i("")),A.resetOptions(this),j&&this.setOptions(j),A._signal("editor",this)}return T.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},T.prototype.startOperation=function(C){this.session.startOperation(C)},T.prototype.endOperation=function(C){this.session.endOperation(C)},T.prototype.onStartOperation=function(C){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,C||(this.previousCommand=null)},T.prototype.onEndOperation=function(C){if(this.curOp&&this.session){if(C&&C.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var N=this.curOp.command,j=N&&N.scrollIntoView;if(j){switch(j){case"center-animate":j="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var U=this.selection.getRange(),K=this.renderer.layerConfig;(U.start.row>=K.lastRow||U.end.row<=K.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}j=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},T.prototype.$historyTracker=function(C){if(this.$mergeUndoDeltas){var N=this.prevOp,j=this.$mergeableCommands,U=N.command&&C.command.name==N.command.name;if(C.command.name=="insertstring"){var K=C.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),U=U&&this.mergeNextCommand&&(!/\s/.test(K)||/\s/.test(N.args)),this.mergeNextCommand=!0}else U=U&&j.indexOf(C.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(U=!1),U?this.session.mergeUndoDeltas=!0:j.indexOf(C.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},T.prototype.setKeyboardHandler=function(C,N){if(C&&typeof C=="string"&&C!="ace"){this.$keybindingId=C;var j=this;A.loadModule(["keybinding",C],function(U){j.$keybindingId==C&&j.keyBinding.setKeyboardHandler(U&&U.handler),N&&N()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(C),N&&N()},T.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},T.prototype.setSession=function(C){if(this.session!=C){this.curOp&&this.endOperation(),this.curOp={};var N=this.session;if(N){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 j=this.session.getSelection();j.off("changeCursor",this.$onCursorChange),j.off("changeSelection",this.$onSelectionChange)}this.session=C,C?(this.$onDocumentChange=this.onDocumentChange.bind(this),C.on("change",this.$onDocumentChange),this.renderer.setSession(C),this.$onChangeMode=this.onChangeMode.bind(this),C.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),C.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),C.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),C.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),C.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),C.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=C.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(C)),this._signal("changeSession",{session:C,oldSession:N}),this.curOp=null,N&&N._signal("changeEditor",{oldEditor:this}),N&&(N.$editor=null),C&&C._signal("changeEditor",{editor:this}),C&&(C.$editor=this),C&&!C.destroyed&&C.bgTokenizer.scheduleStart()}},T.prototype.getSession=function(){return this.session},T.prototype.setValue=function(C,N){return this.session.doc.setValue(C),N?N==1?this.navigateFileEnd():N==-1&&this.navigateFileStart():this.selectAll(),C},T.prototype.getValue=function(){return this.session.getValue()},T.prototype.getSelection=function(){return this.selection},T.prototype.resize=function(C){this.renderer.onResize(C)},T.prototype.setTheme=function(C,N){this.renderer.setTheme(C,N)},T.prototype.getTheme=function(){return this.renderer.getTheme()},T.prototype.setStyle=function(C){this.renderer.setStyle(C)},T.prototype.unsetStyle=function(C){this.renderer.unsetStyle(C)},T.prototype.getFontSize=function(){return this.getOption("fontSize")||w.computedStyle(this.container).fontSize},T.prototype.setFontSize=function(C){this.setOption("fontSize",C)},T.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var C=this;this.$highlightPending=!0,setTimeout(function(){C.$highlightPending=!1;var N=C.session;if(!(!N||N.destroyed)){N.$bracketHighlight&&(N.$bracketHighlight.markerIds.forEach(function(ce){N.removeMarker(ce)}),N.$bracketHighlight=null);var j=C.getCursorPosition(),U=C.getKeyboardHandler(),K=U&&U.$getDirectionForHighlight&&U.$getDirectionForHighlight(C),Z=N.getMatchingBracketRanges(j,K);if(!Z){var te=new _(N,j.row,j.column),he=te.getCurrentToken();if(he&&/\b(?:tag-open|tag-name)/.test(he.type)){var ne=N.getMatchingTags(j);ne&&(Z=[ne.openTagName.isEmpty()?ne.openTag:ne.openTagName,ne.closeTagName.isEmpty()?ne.closeTag:ne.closeTagName])}}if(!Z&&N.$mode.getMatching&&(Z=N.$mode.getMatching(C.session)),!Z){C.getHighlightIndentGuides()&&C.renderer.$textLayer.$highlightIndentGuide();return}var ae="ace_bracket";Array.isArray(Z)?Z.length==1&&(ae="ace_error_bracket"):Z=[Z],Z.length==2&&(m.comparePoints(Z[0].end,Z[1].start)==0?Z=[m.fromPoints(Z[0].start,Z[1].end)]:m.comparePoints(Z[0].start,Z[1].end)==0&&(Z=[m.fromPoints(Z[1].start,Z[0].end)])),N.$bracketHighlight={ranges:Z,markerIds:Z.map(function(ce){return N.addMarker(ce,ae,"text")})},C.getHighlightIndentGuides()&&C.renderer.$textLayer.$highlightIndentGuide()}},50)}},T.prototype.focus=function(){this.textInput.focus()},T.prototype.isFocused=function(){return this.textInput.isFocused()},T.prototype.blur=function(){this.textInput.blur()},T.prototype.onFocus=function(C){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",C))},T.prototype.onBlur=function(C){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",C))},T.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},T.prototype.onDocumentChange=function(C){var N=this.session.$useWrapMode,j=C.start.row==C.end.row?C.end.row:1/0;this.renderer.updateLines(C.start.row,j,N),this._signal("change",C),this.$cursorChange()},T.prototype.onTokenizerUpdate=function(C){var N=C.data;this.renderer.updateLines(N.first,N.last)},T.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},T.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},T.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},T.prototype.$updateHighlightActiveLine=function(){var C=this.getSession(),N;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(N=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(N=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(N=!1)),C.$highlightLineMarker&&!N)C.removeMarker(C.$highlightLineMarker.id),C.$highlightLineMarker=null;else if(!C.$highlightLineMarker&&N){var j=new m(N.row,N.column,N.row,1/0);j.id=C.addMarker(j,"ace_active-line","screenLine"),C.$highlightLineMarker=j}else N&&(C.$highlightLineMarker.start.row=N.row,C.$highlightLineMarker.end.row=N.row,C.$highlightLineMarker.start.column=N.column,C._signal("changeBackMarker"))},T.prototype.onSelectionChange=function(C){var N=this.session;if(N.$selectionMarker&&N.removeMarker(N.$selectionMarker),N.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var j=this.selection.getRange(),U=this.getSelectionStyle();N.$selectionMarker=N.addMarker(j,"ace_selection",U)}var K=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(K),this._signal("changeSelection")},T.prototype.$getSelectionHighLightRegexp=function(){var C=this.session,N=this.getSelectionRange();if(!(N.isEmpty()||N.isMultiLine())){var j=N.start.column,U=N.end.column,K=C.getLine(N.start.row),Z=K.substring(j,U);if(!(Z.length>5e3||!/[\w\d]/.test(Z))){var te=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Z}),he=K.substring(j-1,U+1);if(te.test(he))return te}}},T.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},T.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},T.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},T.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},T.prototype.onChangeMode=function(C){this.renderer.updateText(),this._emit("changeMode",C)},T.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},T.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},T.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},T.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},T.prototype.getCopyText=function(){var C=this.getSelectedText(),N=this.session.doc.getNewLineCharacter(),j=!1;if(!C&&this.$copyWithEmptySelection){j=!0;for(var U=this.selection.getAllRanges(),K=0;K<U.length;K++){var Z=U[K];K&&U[K-1].start.row==Z.start.row||(C+=this.session.getLine(Z.start.row)+N)}}var te={text:C};return this._signal("copy",te),O.lineMode=j?te.text:!1,te.text},T.prototype.onCopy=function(){this.commands.exec("copy",this)},T.prototype.onCut=function(){this.commands.exec("cut",this)},T.prototype.onPaste=function(C,N){var j={text:C,event:N};this.commands.exec("paste",this,j)},T.prototype.$handlePaste=function(C){typeof C=="string"&&(C={text:C}),this._signal("paste",C);var N=C.text,j=N===O.lineMode,U=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)j?U.insert({row:this.selection.lead.row,column:0},N):this.insert(N);else if(j)this.selection.rangeList.ranges.forEach(function(ae){U.insert({row:ae.start.row,column:0},N)});else{var K=N.split(/\r\n|\r|\n/),Z=this.selection.rangeList.ranges,te=K.length==2&&(!K[0]||!K[1]);if(K.length!=Z.length||te)return this.commands.exec("insertstring",this,N);for(var he=Z.length;he--;){var ne=Z[he];ne.isEmpty()||U.remove(ne),U.insert(ne.start,K[he])}}},T.prototype.execCommand=function(C,N){return this.commands.exec(C,this,N)},T.prototype.insert=function(C,N){var j=this.session,U=j.getMode(),K=this.getCursorPosition();if(this.getBehavioursEnabled()&&!N){var Z=U.transformAction(j.getState(K.row),"insertion",this,j,C);Z&&(C!==Z.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),C=Z.text)}if(C==" "&&(C=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&C.indexOf(`
217
+ `)==-1){var te=m.fromPoints(K,K);te.end.column+=C.length,this.session.remove(te)}}else{var te=this.getSelectionRange();K=this.session.remove(te),this.clearSelection()}if(C==`
218
+ `||C==`\r
219
+ `){var ce=j.getLine(K.row);if(K.column>ce.search(/\S|$/)){var he=ce.substr(K.column).search(/\S|$/);j.doc.removeInLine(K.row,K.column,K.column+he)}}this.clearSelection();var ne=K.column,ae=j.getState(K.row),ce=j.getLine(K.row),ue=U.checkOutdent(ae,ce,C);if(j.insert(K,C),Z&&Z.selection&&(Z.selection.length==2?this.selection.setSelectionRange(new m(K.row,ne+Z.selection[0],K.row,ne+Z.selection[1])):this.selection.setSelectionRange(new m(K.row+Z.selection[0],Z.selection[1],K.row+Z.selection[2],Z.selection[3]))),this.$enableAutoIndent){if(j.getDocument().isNewLine(C)){var ve=U.getNextLineIndent(ae,ce.slice(0,K.column),j.getTabString());j.insert({row:K.row+1,column:0},ve)}ue&&U.autoOutdent(ae,j,K.row)}},T.prototype.autoIndent=function(){for(var C=this.session,N=C.getMode(),j=this.selection.isEmpty()?[new m(0,0,C.doc.getLength()-1,0)]:this.selection.getAllRanges(),U="",K="",Z="",te=C.getTabString(),he=0;he<j.length;he++)for(var ne=j[he].start.row,ae=j[he].end.row,ce=ne;ce<=ae;ce++){ce>0&&(U=C.getState(ce-1),K=C.getLine(ce-1),Z=N.getNextLineIndent(U,K,te));var ue=C.getLine(ce),ve=N.$getIndent(ue);if(Z!==ve){if(ve.length>0){var Ce=new m(ce,0,ce,ve.length);C.remove(Ce)}Z.length>0&&C.insert({row:ce,column:0},Z)}N.autoOutdent(U,C,ce)}},T.prototype.onTextInput=function(C,N){if(!N)return this.keyBinding.onTextInput(C);this.startOperation({command:{name:"insertstring"}});var j=this.applyComposition.bind(this,C,N);this.selection.rangeCount?this.forEachSelection(j):j(),this.endOperation()},T.prototype.applyComposition=function(C,N){if(N.extendLeft||N.extendRight){var j=this.selection.getRange();j.start.column-=N.extendLeft,j.end.column+=N.extendRight,j.start.column<0&&(j.start.row--,j.start.column+=this.session.getLine(j.start.row).length+1),this.selection.setRange(j),!C&&!j.isEmpty()&&this.remove()}if((C||!this.selection.isEmpty())&&this.insert(C,!0),N.restoreStart||N.restoreEnd){var j=this.selection.getRange();j.start.column-=N.restoreStart,j.end.column-=N.restoreEnd,this.selection.setRange(j)}},T.prototype.onCommandKey=function(C,N,j){return this.keyBinding.onCommandKey(C,N,j)},T.prototype.setOverwrite=function(C){this.session.setOverwrite(C)},T.prototype.getOverwrite=function(){return this.session.getOverwrite()},T.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},T.prototype.setScrollSpeed=function(C){this.setOption("scrollSpeed",C)},T.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},T.prototype.setDragDelay=function(C){this.setOption("dragDelay",C)},T.prototype.getDragDelay=function(){return this.getOption("dragDelay")},T.prototype.setSelectionStyle=function(C){this.setOption("selectionStyle",C)},T.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},T.prototype.setHighlightActiveLine=function(C){this.setOption("highlightActiveLine",C)},T.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},T.prototype.setHighlightGutterLine=function(C){this.setOption("highlightGutterLine",C)},T.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},T.prototype.setHighlightSelectedWord=function(C){this.setOption("highlightSelectedWord",C)},T.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},T.prototype.setAnimatedScroll=function(C){this.renderer.setAnimatedScroll(C)},T.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},T.prototype.setShowInvisibles=function(C){this.renderer.setShowInvisibles(C)},T.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},T.prototype.setDisplayIndentGuides=function(C){this.renderer.setDisplayIndentGuides(C)},T.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},T.prototype.setHighlightIndentGuides=function(C){this.renderer.setHighlightIndentGuides(C)},T.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},T.prototype.setShowPrintMargin=function(C){this.renderer.setShowPrintMargin(C)},T.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},T.prototype.setPrintMarginColumn=function(C){this.renderer.setPrintMarginColumn(C)},T.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},T.prototype.setReadOnly=function(C){this.setOption("readOnly",C)},T.prototype.getReadOnly=function(){return this.getOption("readOnly")},T.prototype.setBehavioursEnabled=function(C){this.setOption("behavioursEnabled",C)},T.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},T.prototype.setWrapBehavioursEnabled=function(C){this.setOption("wrapBehavioursEnabled",C)},T.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},T.prototype.setShowFoldWidgets=function(C){this.setOption("showFoldWidgets",C)},T.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},T.prototype.setFadeFoldWidgets=function(C){this.setOption("fadeFoldWidgets",C)},T.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},T.prototype.remove=function(C){this.selection.isEmpty()&&(C=="left"?this.selection.selectLeft():this.selection.selectRight());var N=this.getSelectionRange();if(this.getBehavioursEnabled()){var j=this.session,U=j.getState(N.start.row),K=j.getMode().transformAction(U,"deletion",this,j,N);if(N.end.column===0){var Z=j.getTextRange(N);if(Z[Z.length-1]==`
220
+ `){var te=j.getLine(N.end.row);/^\s+$/.test(te)&&(N.end.column=te.length)}}K&&(N=K)}this.session.remove(N),this.clearSelection()},T.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var C=this.getSelectionRange();C.start.column==C.end.column&&C.start.row==C.end.row&&(C.end.column=0,C.end.row++),this.session.remove(C),this.clearSelection()},T.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var C=this.getCursorPosition();this.insert(`
221
+ `),this.moveCursorToPosition(C)},T.prototype.setGhostText=function(C,N){this.renderer.setGhostText(C,N)},T.prototype.removeGhostText=function(){this.renderer.removeGhostText()},T.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var C=this.getCursorPosition(),N=C.column;if(N!==0){var j=this.session.getLine(C.row),U,K;N<j.length?(U=j.charAt(N)+j.charAt(N-1),K=new m(C.row,N-1,C.row,N+1)):(U=j.charAt(N-1)+j.charAt(N-2),K=new m(C.row,N-2,C.row,N)),this.session.replace(K,U),this.session.selection.moveToPosition(K.end)}}},T.prototype.toLowerCase=function(){var C=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var N=this.getSelectionRange(),j=this.session.getTextRange(N);this.session.replace(N,j.toLowerCase()),this.selection.setSelectionRange(C)},T.prototype.toUpperCase=function(){var C=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var N=this.getSelectionRange(),j=this.session.getTextRange(N);this.session.replace(N,j.toUpperCase()),this.selection.setSelectionRange(C)},T.prototype.indent=function(){var C=this.session,N=this.getSelectionRange();if(N.start.row<N.end.row){var j=this.$getSelectedRows();C.indentRows(j.first,j.last," ");return}else if(N.start.column<N.end.column){var U=C.getTextRange(N);if(!/^\s+$/.test(U)){var j=this.$getSelectedRows();C.indentRows(j.first,j.last," ");return}}var K=C.getLine(N.start.row),Z=N.start,te=C.getTabSize(),he=C.documentToScreenColumn(Z.row,Z.column);if(this.session.getUseSoftTabs())var ne=te-he%te,ae=f.stringRepeat(" ",ne);else{for(var ne=he%te;K[N.start.column-1]==" "&&ne;)N.start.column--,ne--;this.selection.setSelectionRange(N),ae=" "}return this.insert(ae)},T.prototype.blockIndent=function(){var C=this.$getSelectedRows();this.session.indentRows(C.first,C.last," ")},T.prototype.blockOutdent=function(){var C=this.session.getSelection();this.session.outdentRows(C.getRange())},T.prototype.sortLines=function(){for(var C=this.$getSelectedRows(),N=this.session,j=[],U=C.first;U<=C.last;U++)j.push(N.getLine(U));j.sort(function(te,he){return te.toLowerCase()<he.toLowerCase()?-1:te.toLowerCase()>he.toLowerCase()?1:0});for(var K=new m(0,0,0,0),U=C.first;U<=C.last;U++){var Z=N.getLine(U);K.start.row=U,K.end.row=U,K.end.column=Z.length,N.replace(K,j[U-C.first])}},T.prototype.toggleCommentLines=function(){var C=this.session.getState(this.getCursorPosition().row),N=this.$getSelectedRows();this.session.getMode().toggleCommentLines(C,this.session,N.first,N.last)},T.prototype.toggleBlockComment=function(){var C=this.getCursorPosition(),N=this.session.getState(C.row),j=this.getSelectionRange();this.session.getMode().toggleBlockComment(N,this.session,j,C)},T.prototype.getNumberAt=function(C,N){var j=/[\-]?[0-9]+(?:\.[0-9]+)?/g;j.lastIndex=0;for(var U=this.session.getLine(C);j.lastIndex<N;){var K=j.exec(U);if(K.index<=N&&K.index+K[0].length>=N){var Z={value:K[0],start:K.index,end:K.index+K[0].length};return Z}}return null},T.prototype.modifyNumber=function(C){var N=this.selection.getCursor().row,j=this.selection.getCursor().column,U=new m(N,j-1,N,j),K=this.session.getTextRange(U);if(!isNaN(parseFloat(K))&&isFinite(K)){var Z=this.getNumberAt(N,j);if(Z){var te=Z.value.indexOf(".")>=0?Z.start+Z.value.indexOf(".")+1:Z.end,he=Z.start+Z.value.length-te,ne=parseFloat(Z.value);ne*=Math.pow(10,he),te!==Z.end&&j<te?C*=Math.pow(10,Z.end-j-1):C*=Math.pow(10,Z.end-j),ne+=C,ne/=Math.pow(10,he);var ae=ne.toFixed(he),ce=new m(N,Z.start,N,Z.end);this.session.replace(ce,ae),this.moveCursorTo(N,Math.max(Z.start+1,j+ae.length-Z.value.length))}}else this.toggleWord()},T.prototype.toggleWord=function(){var C=this.selection.getCursor().row,N=this.selection.getCursor().column;this.selection.selectWord();var j=this.getSelectedText(),U=this.selection.getWordRange().start.column,K=j.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),Z=N-U-1;Z<0&&(Z=0);var te=0,he=0,ne=this;j.match(/[A-Za-z0-9_]+/)&&K.forEach(function(Ge,ft){he=te+Ge.length,Z>=te&&Z<=he&&(j=Ge,ne.selection.clearSelection(),ne.moveCursorTo(C,te+U),ne.selection.selectTo(C,he+U)),te=he});for(var ae=this.$toggleWordPairs,ce,ue=0;ue<ae.length;ue++)for(var ve=ae[ue],Ce=0;Ce<=1;Ce++){var Ee=+!Ce,Le=j.match(new RegExp("^\\s?_?("+f.escapeRegExp(ve[Ce])+")\\s?$","i"));if(Le){var Xe=j.match(new RegExp("([_]|^|\\s)("+f.escapeRegExp(Le[1])+")($|\\s)","g"));Xe&&(ce=j.replace(new RegExp(f.escapeRegExp(ve[Ce]),"i"),function(Ge){var ft=ve[Ee];return Ge.toUpperCase()==Ge?ft=ft.toUpperCase():Ge.charAt(0).toUpperCase()==Ge.charAt(0)&&(ft=ft.substr(0,0)+ve[Ee].charAt(0).toUpperCase()+ft.substr(1)),ft}),this.insert(ce),ce="")}}},T.prototype.findLinkAt=function(C,N){var j,U,K=this.session.getLine(C),Z=K.split(/((?:https?|ftp):\/\/[\S]+)/),te=N;te<0&&(te=0);var he=0,ne=0,ae;try{for(var ce=d(Z),ue=ce.next();!ue.done;ue=ce.next()){var ve=ue.value;if(ne=he+ve.length,te>=he&&te<=ne&&ve.match(/((?:https?|ftp):\/\/[\S]+)/)){ae=ve.replace(/[\s:.,'";}\]]+$/,"");break}he=ne}}catch(Ce){j={error:Ce}}finally{try{ue&&!ue.done&&(U=ce.return)&&U.call(ce)}finally{if(j)throw j.error}}return ae},T.prototype.openLink=function(){var C=this.selection.getCursor(),N=this.findLinkAt(C.row,C.column);return N&&window.open(N,"_blank"),N!=null},T.prototype.removeLines=function(){var C=this.$getSelectedRows();this.session.removeFullLines(C.first,C.last),this.clearSelection()},T.prototype.duplicateSelection=function(){var C=this.selection,N=this.session,j=C.getRange(),U=C.isBackwards();if(j.isEmpty()){var K=j.start.row;N.duplicateLines(K,K)}else{var Z=U?j.start:j.end,te=N.insert(Z,N.getTextRange(j));j.start=Z,j.end=te,C.setSelectionRange(j,U)}},T.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},T.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},T.prototype.moveText=function(C,N,j){return this.session.moveText(C,N,j)},T.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},T.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},T.prototype.$moveLines=function(C,N){var j,U,K=this.selection;if(!K.inMultiSelectMode||this.inVirtualSelectionMode){var Z=K.toOrientedRange();j=this.$getSelectedRows(Z),U=this.session.$moveLines(j.first,j.last,N?0:C),N&&C==-1&&(U=0),Z.moveBy(U,0),K.fromOrientedRange(Z)}else{var te=K.rangeList.ranges;K.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var he=0,ne=0,ae=te.length,ce=0;ce<ae;ce++){var ue=ce;te[ce].moveBy(he,0),j=this.$getSelectedRows(te[ce]);for(var ve=j.first,Ce=j.last;++ce<ae;){ne&&te[ce].moveBy(ne,0);var Ee=this.$getSelectedRows(te[ce]);if(N&&Ee.first!=Ce||!N&&Ee.first>Ce+1)break;Ce=Ee.last}for(ce--,he=this.session.$moveLines(ve,Ce,N?0:C),N&&C==-1&&(ue=ce+1);ue<=ce;)te[ue].moveBy(he,0),ue++;N||(he=0),ne+=he}K.fromOrientedRange(K.ranges[0]),K.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},T.prototype.$getSelectedRows=function(C){return C=(C||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(C.start.row),last:this.session.getRowFoldEnd(C.end.row)}},T.prototype.onCompositionStart=function(C){this.renderer.showComposition(C)},T.prototype.onCompositionUpdate=function(C){this.renderer.setCompositionText(C)},T.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},T.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},T.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},T.prototype.isRowVisible=function(C){return C>=this.getFirstVisibleRow()&&C<=this.getLastVisibleRow()},T.prototype.isRowFullyVisible=function(C){return C>=this.renderer.getFirstFullyVisibleRow()&&C<=this.renderer.getLastFullyVisibleRow()},T.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},T.prototype.$moveByPage=function(C,N){var j=this.renderer,U=this.renderer.layerConfig,K=C*Math.floor(U.height/U.lineHeight);N===!0?this.selection.$moveSelection(function(){this.moveCursorBy(K,0)}):N===!1&&(this.selection.moveCursorBy(K,0),this.selection.clearSelection());var Z=j.scrollTop;j.scrollBy(0,K*U.lineHeight),N!=null&&j.scrollCursorIntoView(null,.5),j.animateScrolling(Z)},T.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},T.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},T.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},T.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},T.prototype.scrollPageDown=function(){this.$moveByPage(1)},T.prototype.scrollPageUp=function(){this.$moveByPage(-1)},T.prototype.scrollToRow=function(C){this.renderer.scrollToRow(C)},T.prototype.scrollToLine=function(C,N,j,U){this.renderer.scrollToLine(C,N,j,U)},T.prototype.centerSelection=function(){var C=this.getSelectionRange(),N={row:Math.floor(C.start.row+(C.end.row-C.start.row)/2),column:Math.floor(C.start.column+(C.end.column-C.start.column)/2)};this.renderer.alignCursor(N,.5)},T.prototype.getCursorPosition=function(){return this.selection.getCursor()},T.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},T.prototype.getSelectionRange=function(){return this.selection.getRange()},T.prototype.selectAll=function(){this.selection.selectAll()},T.prototype.clearSelection=function(){this.selection.clearSelection()},T.prototype.moveCursorTo=function(C,N){this.selection.moveCursorTo(C,N)},T.prototype.moveCursorToPosition=function(C){this.selection.moveCursorToPosition(C)},T.prototype.jumpToMatching=function(C,N){var j=this.getCursorPosition(),U=new _(this.session,j.row,j.column),K=U.getCurrentToken(),Z=0;K&&K.type.indexOf("tag-name")!==-1&&(K=U.stepBackward());var te=K||U.stepForward();if(te){var he,ne=!1,ae={},ce=j.column-te.start,ue,ve={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(te.value.match(/[{}()\[\]]/g)){for(;ce<te.value.length&&!ne;ce++)if(ve[te.value[ce]])switch(ue=ve[te.value[ce]]+"."+te.type.replace("rparen","lparen"),isNaN(ae[ue])&&(ae[ue]=0),te.value[ce]){case"(":case"[":case"{":ae[ue]++;break;case")":case"]":case"}":ae[ue]--,ae[ue]===-1&&(he="bracket",ne=!0);break}}else te.type.indexOf("tag-name")!==-1&&(isNaN(ae[te.value])&&(ae[te.value]=0),K.value==="<"&&Z>1?ae[te.value]++:K.value==="</"&&ae[te.value]--,ae[te.value]===-1&&(he="tag",ne=!0));ne||(K=te,Z++,te=U.stepForward(),ce=0)}while(te&&!ne);if(he){var Ce,Ee;if(he==="bracket")Ce=this.session.getBracketRange(j),Ce||(Ce=new m(U.getCurrentTokenRow(),U.getCurrentTokenColumn()+ce-1,U.getCurrentTokenRow(),U.getCurrentTokenColumn()+ce-1),Ee=Ce.start,(N||Ee.row===j.row&&Math.abs(Ee.column-j.column)<2)&&(Ce=this.session.getBracketRange(Ee)));else if(he==="tag"){if(!te||te.type.indexOf("tag-name")===-1)return;if(Ce=new m(U.getCurrentTokenRow(),U.getCurrentTokenColumn()-2,U.getCurrentTokenRow(),U.getCurrentTokenColumn()-2),Ce.compare(j.row,j.column)===0){var Le=this.session.getMatchingTags(j);Le&&(Le.openTag.contains(j.row,j.column)?(Ce=Le.closeTag,Ee=Ce.start):(Ce=Le.openTag,Le.closeTag.start.row===j.row&&Le.closeTag.start.column===j.column?Ee=Ce.end:Ee=Ce.start))}Ee=Ee||Ce.start}Ee=Ce&&Ce.cursor||Ee,Ee&&(C?Ce&&N?this.selection.setRange(Ce):Ce&&Ce.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(Ee.row,Ee.column):this.selection.moveTo(Ee.row,Ee.column))}}},T.prototype.gotoLine=function(C,N,j){this.selection.clearSelection(),this.session.unfold({row:C-1,column:N||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(C-1,N||0),this.isRowFullyVisible(C-1)||this.scrollToLine(C-1,!0,j)},T.prototype.navigateTo=function(C,N){this.selection.moveTo(C,N)},T.prototype.navigateUp=function(C){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var N=this.selection.anchor.getPosition();return this.moveCursorToPosition(N)}this.selection.clearSelection(),this.selection.moveCursorBy(-C||-1,0)},T.prototype.navigateDown=function(C){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var N=this.selection.anchor.getPosition();return this.moveCursorToPosition(N)}this.selection.clearSelection(),this.selection.moveCursorBy(C||1,0)},T.prototype.navigateLeft=function(C){if(this.selection.isEmpty())for(C=C||1;C--;)this.selection.moveCursorLeft();else{var N=this.getSelectionRange().start;this.moveCursorToPosition(N)}this.clearSelection()},T.prototype.navigateRight=function(C){if(this.selection.isEmpty())for(C=C||1;C--;)this.selection.moveCursorRight();else{var N=this.getSelectionRange().end;this.moveCursorToPosition(N)}this.clearSelection()},T.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},T.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},T.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},T.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},T.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},T.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},T.prototype.replace=function(C,N){N&&this.$search.set(N);var j=this.$search.find(this.session),U=0;return j&&(this.$tryReplace(j,C)&&(U=1),this.selection.setSelectionRange(j),this.renderer.scrollSelectionIntoView(j.start,j.end)),U},T.prototype.replaceAll=function(C,N){N&&this.$search.set(N);var j=this.$search.findAll(this.session),U=0;if(!j.length)return U;var K=this.getSelectionRange();this.selection.moveTo(0,0);for(var Z=j.length-1;Z>=0;--Z)this.$tryReplace(j[Z],C)&&U++;return this.selection.setSelectionRange(K),U},T.prototype.$tryReplace=function(C,N){var j=this.session.getTextRange(C);return N=this.$search.replace(j,N),N!==null?(C.end=this.session.replace(C,N),C):null},T.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},T.prototype.find=function(C,N,j){N||(N={}),typeof C=="string"||C instanceof RegExp?N.needle=C:typeof C=="object"&&p.mixin(N,C);var U=this.selection.getRange();N.needle==null&&(C=this.session.getTextRange(U)||this.$search.$options.needle,C||(U=this.session.getWordRange(U.start.row,U.start.column),C=this.session.getTextRange(U)),this.$search.set({needle:C})),this.$search.set(N),N.start||this.$search.set({start:U});var K=this.$search.find(this.session);if(N.preventScroll)return K;if(K)return this.revealRange(K,j),K;N.backwards?U.start=U.end:U.end=U.start,this.selection.setRange(U)},T.prototype.findNext=function(C,N){this.find({skipCurrent:!0,backwards:!1},C,N)},T.prototype.findPrevious=function(C,N){this.find(C,{skipCurrent:!0,backwards:!0},N)},T.prototype.revealRange=function(C,N){this.session.unfold(C),this.selection.setSelectionRange(C);var j=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(C.start,C.end,.5),N!==!1&&this.renderer.animateScrolling(j)},T.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},T.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},T.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(C){C.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()},T.prototype.setAutoScrollEditorIntoView=function(C){if(C){var N,j=this,U=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var K=this.$scrollAnchor;K.style.cssText="position:absolute",this.container.insertBefore(K,this.container.firstChild);var Z=this.on("changeSelection",function(){U=!0}),te=this.renderer.on("beforeRender",function(){U&&(N=j.renderer.container.getBoundingClientRect())}),he=this.renderer.on("afterRender",function(){if(U&&N&&(j.isFocused()||j.searchBox&&j.searchBox.isFocused())){var ne=j.renderer,ae=ne.$cursorLayer.$pixelPos,ce=ne.layerConfig,ue=ae.top-ce.offset;ae.top>=0&&ue+N.top<0?U=!0:ae.top<ce.height&&ae.top+N.top+ce.lineHeight>window.innerHeight?U=!1:U=null,U!=null&&(K.style.top=ue+"px",K.style.left=ae.left+"px",K.style.height=ce.lineHeight+"px",K.scrollIntoView(U)),U=N=null}});this.setAutoScrollEditorIntoView=function(ne){ne||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",Z),this.renderer.off("afterRender",he),this.renderer.off("beforeRender",te))}}},T.prototype.$resetCursorStyle=function(){var C=this.$cursorStyle||"ace",N=this.renderer.$cursorLayer;N&&(N.setSmoothBlinking(/smooth/.test(C)),N.isBlinking=!this.$readOnly&&C!="wide",w.setCssClass(N.element,"ace_slim-cursors",/slim/.test(C)))},T.prototype.prompt=function(C,N,j){var U=this;A.loadModule("ace/ext/prompt",function(K){K.prompt(U,C,N,j)})},T}();P.$uid=0,P.prototype.curOp=null,P.prototype.prevOp={},P.prototype.$mergeableCommands=["backspace","del","insertstring"],P.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"],["&&","||"],["==","!="]],p.implement(P.prototype,b),A.defineOptions(P.prototype,"editor",{selectionStyle:{set:function(T){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:T})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(T){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(T){var C=this;this.textInput.setReadOnly(T),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(j){var U=!1;if(j&&j.type=="keydown"){if(U=j&&j.key&&j.key.length==1&&!j.ctrlKey&&!j.metaKey,!U)return}else j&&j.type!=="exec"&&(U=!0);if(U){C.hoverTooltip||(C.hoverTooltip=new H);var K=w.createElement("div");K.textContent=E("editor.tooltip.disable-editing","Editing is disabled"),C.hoverTooltip.isOpen||C.hoverTooltip.showForRange(C,C.getSelectionRange(),K)}else C.hoverTooltip&&C.hoverTooltip.isOpen&&C.hoverTooltip.hide()});var N=this.textInput.getElement();T?(L.addListener(N,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(L.removeListener(N,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(T){this.textInput.setCopyWithEmptySelection(T)},initialValue:!1},cursorStyle:{set:function(T){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(T){this.setAutoScrollEditorIntoView(T)}},keyboardHandler:{set:function(T){this.setKeyboardHandler(T)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(T){this.session.setValue(T)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(T){this.setSession(T)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(T){this.renderer.$gutterLayer.setShowLineNumbers(T),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),T&&this.$relativeLineNumbers?I.attach(this):I.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(T){this.$showLineNumbers&&T?I.attach(this):I.detach(this)}},placeholder:{set:function(T){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var C=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(C&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),w.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!C&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),w.addCssClass(this.container,"ace_hasPlaceholder");var N=w.createElement("div");N.className="ace_placeholder",N.textContent=this.$placeholder||"",this.renderer.placeholderNode=N,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!C&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(T){var C={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(U){U.blur(),U.renderer.scroller.focus()},readOnly:!0},N=function(U){if(U.target==this.renderer.scroller&&U.keyCode===F.enter){U.preventDefault();var K=this.getCursorPosition().row;this.isRowVisible(K)||this.scrollToLine(K,!0,!0),this.focus()}},j;T?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(g.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",E("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",E("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",N.bind(this)),this.commands.addCommand(C),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",E("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",E("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),j||(j=new k(this)),j.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",N.bind(this)),this.commands.removeCommand(C),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),j&&j.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(T){this.$textInputAriaLabel=T},initialValue:""},enableMobileMenu:{set:function(T){this.$enableMobileMenu=T},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 I={getText:function(T,C){return(Math.abs(T.selection.lead.row-C)||C+1+(C<9?"·":""))+""},getWidth:function(T,C,N){return Math.max(C.toString().length,(N.lastRow+1).toString().length,2)*N.characterWidth},update:function(T,C){C.renderer.$loop.schedule(C.renderer.CHANGE_GUTTER)},attach:function(T){T.renderer.$gutterLayer.$renderer=this,T.on("changeSelection",this.update),this.update(null,T)},detach:function(T){T.renderer.$gutterLayer.$renderer==this&&(T.renderer.$gutterLayer.$renderer=null),T.off("changeSelection",this.update),this.update(null,T)}};r.Editor=P}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(n,r,u){var d=n("../lib/dom"),p=function(){function w(f,g){this.element=f,this.canvasHeight=g||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return w.prototype.moveContainer=function(f){d.translate(this.element,0,-(f.firstRowScreen*f.lineHeight%this.canvasHeight)-f.offset*this.$offsetCoefficient)},w.prototype.pageChanged=function(f,g){return Math.floor(f.firstRowScreen*f.lineHeight/this.canvasHeight)!==Math.floor(g.firstRowScreen*g.lineHeight/this.canvasHeight)},w.prototype.computeLineTop=function(f,g,s){var a=g.firstRowScreen*g.lineHeight,h=Math.floor(a/this.canvasHeight),c=s.documentToScreenRow(f,0)*g.lineHeight;return c-h*this.canvasHeight},w.prototype.computeLineHeight=function(f,g,s){return g.lineHeight*s.getRowLineCount(f)},w.prototype.getLength=function(){return this.cells.length},w.prototype.get=function(f){return this.cells[f]},w.prototype.shift=function(){this.$cacheCell(this.cells.shift())},w.prototype.pop=function(){this.$cacheCell(this.cells.pop())},w.prototype.push=function(f){if(Array.isArray(f)){this.cells.push.apply(this.cells,f);for(var g=d.createFragment(this.element),s=0;s<f.length;s++)g.appendChild(f[s].element);this.element.appendChild(g)}else this.cells.push(f),this.element.appendChild(f.element)},w.prototype.unshift=function(f){if(Array.isArray(f)){this.cells.unshift.apply(this.cells,f);for(var g=d.createFragment(this.element),s=0;s<f.length;s++)g.appendChild(f[s].element);this.element.firstChild?this.element.insertBefore(g,this.element.firstChild):this.element.appendChild(g)}else this.cells.unshift(f),this.element.insertAdjacentElement("afterbegin",f.element)},w.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},w.prototype.$cacheCell=function(f){f&&(f.element.remove(),this.cellCache.push(f))},w.prototype.createCell=function(f,g,s,a){var h=this.cellCache.pop();if(!h){var c=d.createElement("div");a&&a(c),this.element.appendChild(c),h={element:c,text:"",row:f}}return h.row=f,h},w}();r.Lines=p}),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(n,r,u){var d=n("../lib/dom"),p=n("../lib/oop"),w=n("../lib/lang"),f=n("../lib/event_emitter").EventEmitter,g=n("./lines").Lines,s=n("../config").nls,a=function(){function c(i){this.element=d.createElement("div"),this.element.className="ace_layer ace_gutter-layer",i.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new g(this.element),this.$lines.$offsetCoefficient=1}return c.prototype.setSession=function(i){this.session&&this.session.off("change",this.$updateAnnotations),this.session=i,i&&i.on("change",this.$updateAnnotations)},c.prototype.addGutterDecoration=function(i,l){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(i,l)},c.prototype.removeGutterDecoration=function(i,l){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(i,l)},c.prototype.setAnnotations=function(i){this.$annotations=[];for(var l=0;l<i.length;l++){var m=i[l],b=m.row,x=this.$annotations[b];x||(x=this.$annotations[b]={text:[],type:[],displayText:[]});var M=m.text,A=m.text,_=m.type;M=M?w.escapeHTML(M):m.html||"",A=A||m.html||"",x.text.indexOf(M)===-1&&(x.text.push(M),x.type.push(_),x.displayText.push(A));var k=m.className;k?x.className=k:_==="error"?x.className=" ace_error":_==="security"&&!/\bace_error\b/.test(x.className)?x.className=" ace_security":_==="warning"&&!/\bace_(error|security)\b/.test(x.className)?x.className=" ace_warning":_==="info"&&!x.className?x.className=" ace_info":_==="hint"&&!x.className&&(x.className=" ace_hint")}},c.prototype.$updateAnnotations=function(i){if(this.$annotations.length){var l=i.start.row,m=i.end.row-l;if(m!==0)if(i.action=="remove")this.$annotations.splice(l,m+1,null);else{var b=new Array(m+1);b.unshift(l,1),this.$annotations.splice.apply(this.$annotations,b)}}},c.prototype.update=function(i){this.config=i;var l=this.session,m=i.firstRow,b=Math.min(i.lastRow+i.gutterOffset,l.getLength()-1);this.oldLastRow=b,this.config=i,this.$lines.moveContainer(i),this.$updateCursorRow();for(var x=l.getNextFoldLine(m),M=x?x.start.row:1/0,A=null,_=-1,k=m;;){if(k>M&&(k=x.end.row+1,x=l.getNextFoldLine(k,x),M=x?x.start.row:1/0),k>b){for(;this.$lines.getLength()>_+1;)this.$lines.pop();break}A=this.$lines.get(++_),A?A.row=k:(A=this.$lines.createCell(k,i,this.session,h),this.$lines.push(A)),this.$renderCell(A,i,x,k),k++}this._signal("afterRender"),this.$updateGutterWidth(i)},c.prototype.$updateGutterWidth=function(i){var l=this.session,m=l.gutterRenderer||this.$renderer,b=l.$firstLineNumber,x=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||l.$useWrapMode)&&(x=l.getLength()+b-1);var M=m?m.getWidth(l,x,i):x.toString().length*i.characterWidth,A=this.$padding||this.$computePadding();M+=A.left+A.right,M!==this.gutterWidth&&!isNaN(M)&&(this.gutterWidth=M,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",M))},c.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var i=this.session.selection.getCursor();this.$cursorRow!==i.row&&(this.$cursorRow=i.row)}},c.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var i=this.session.selection.cursor.row;if(this.$cursorRow=i,!(this.$cursorCell&&this.$cursorCell.row==i)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var l=this.$lines.cells;this.$cursorCell=null;for(var m=0;m<l.length;m++){var b=l[m];if(b.row>=this.$cursorRow){if(b.row>this.$cursorRow){var x=this.session.getFoldLine(this.$cursorRow);if(m>0&&x&&x.start.row==l[m-1].row)b=l[m-1];else break}b.element.className="ace_gutter-active-line "+b.element.className,this.$cursorCell=b;break}}}}},c.prototype.scrollLines=function(i){var l=this.config;if(this.config=i,this.$updateCursorRow(),this.$lines.pageChanged(l,i))return this.update(i);this.$lines.moveContainer(i);var m=Math.min(i.lastRow+i.gutterOffset,this.session.getLength()-1),b=this.oldLastRow;if(this.oldLastRow=m,!l||b<i.firstRow)return this.update(i);if(m<l.firstRow)return this.update(i);if(l.firstRow<i.firstRow)for(var x=this.session.getFoldedRowCount(l.firstRow,i.firstRow-1);x>0;x--)this.$lines.shift();if(b>m)for(var x=this.session.getFoldedRowCount(m+1,b);x>0;x--)this.$lines.pop();i.firstRow<l.firstRow&&this.$lines.unshift(this.$renderLines(i,i.firstRow,l.firstRow-1)),m>b&&this.$lines.push(this.$renderLines(i,b+1,m)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(i)},c.prototype.$renderLines=function(i,l,m){for(var b=[],x=l,M=this.session.getNextFoldLine(x),A=M?M.start.row:1/0;x>A&&(x=M.end.row+1,M=this.session.getNextFoldLine(x,M),A=M?M.start.row:1/0),!(x>m);){var _=this.$lines.createCell(x,i,this.session,h);this.$renderCell(_,i,M,x),b.push(_),x++}return b},c.prototype.$renderCell=function(i,l,m,b){var x=i.element,M=this.session,A=x.childNodes[0],_=x.childNodes[1],k=x.childNodes[2],E=k.firstChild,O=M.$firstLineNumber,F=M.$breakpoints,L=M.$decorations,H=M.gutterRenderer||this.$renderer,P=this.$showFoldWidgets&&M.foldWidgets,I=m?m.start.row:Number.MAX_VALUE,T=l.lineHeight+"px",C=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",N=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",j=(H?H.getText(M,b):b+O).toString();if(this.$highlightGutterLine&&(b==this.$cursorRow||m&&b<this.$cursorRow&&b>=I&&this.$cursorRow<=m.end.row)&&(C+="ace_gutter-active-line ",this.$cursorCell!=i&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=i)),F[b]&&(C+=F[b]),L[b]&&(C+=L[b]),this.$annotations[b]&&b!==I&&(C+=this.$annotations[b].className),P){var U=P[b];U==null&&(U=P[b]=M.getFoldWidget(b))}if(U){var K="ace_fold-widget ace_"+U,Z=U=="start"&&b==I&&b<m.end.row;if(Z){K+=" ace_closed";for(var te="",he=!1,ne=b+1;ne<=m.end.row;ne++)if(this.$annotations[ne]){if(this.$annotations[ne].className===" ace_error"){he=!0,te=" ace_error_fold";break}this.$annotations[ne].className===" ace_security"?(he=!0,te=" ace_security_fold"):this.$annotations[ne].className===" ace_warning"&&te!==" ace_security_fold"&&(he=!0,te=" ace_warning_fold")}C+=te}else K+=" ace_open";_.className!=K&&(_.className=K),d.setStyle(_.style,"height",T),d.setStyle(_.style,"display","inline-block"),_.setAttribute("role","button"),_.setAttribute("tabindex","-1");var ae=M.getFoldWidgetRange(b);ae?_.setAttribute("aria-label",s("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[ae.start.row+1,ae.end.row+1])):m?_.setAttribute("aria-label",s("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[m.start.row+1,m.end.row+1])):_.setAttribute("aria-label",s("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[b+1])),Z?(_.setAttribute("aria-expanded","false"),_.setAttribute("title",s("gutter.code-folding.closed.title","Unfold code"))):(_.setAttribute("aria-expanded","true"),_.setAttribute("title",s("gutter.code-folding.open.title","Fold code")))}else _&&(d.setStyle(_.style,"display","none"),_.setAttribute("tabindex","0"),_.removeAttribute("role"),_.removeAttribute("aria-label"));if(he&&this.$showFoldedAnnotations){k.className="ace_gutter_annotation",E.className=N,E.className+=te,d.setStyle(E.style,"height",T),d.setStyle(k.style,"display","block"),d.setStyle(k.style,"height",T);var ce;switch(te){case" ace_error_fold":ce=s("gutter.annotation.aria-label.error","Error, read annotations row $0",[j]);break;case" ace_security_fold":ce=s("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[j]);break;case" ace_warning_fold":ce=s("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[j]);break}k.setAttribute("aria-label",ce),k.setAttribute("tabindex","-1"),k.setAttribute("role","button")}else if(this.$annotations[b]){k.className="ace_gutter_annotation",E.className=N,this.$useSvgGutterIcons?E.className+=this.$annotations[b].className:x.classList.add(this.$annotations[b].className.replace(" ","")),d.setStyle(E.style,"height",T),d.setStyle(k.style,"display","block"),d.setStyle(k.style,"height",T);var ce;switch(this.$annotations[b].className){case" ace_error":ce=s("gutter.annotation.aria-label.error","Error, read annotations row $0",[j]);break;case" ace_security":ce=s("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[j]);break;case" ace_warning":ce=s("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[j]);break;case" ace_info":ce=s("gutter.annotation.aria-label.info","Info, read annotations row $0",[j]);break;case" ace_hint":ce=s("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[j]);break}k.setAttribute("aria-label",ce),k.setAttribute("tabindex","-1"),k.setAttribute("role","button")}else d.setStyle(k.style,"display","none"),k.removeAttribute("aria-label"),k.removeAttribute("role"),k.setAttribute("tabindex","0");return j!==A.data&&(A.data=j),x.className!=C&&(x.className=C),d.setStyle(i.element.style,"height",this.$lines.computeLineHeight(b,l,M)+"px"),d.setStyle(i.element.style,"top",this.$lines.computeLineTop(b,l,M)+"px"),i.text=j,k.style.display==="none"&&_.style.display==="none"?i.element.setAttribute("aria-hidden",!0):i.element.setAttribute("aria-hidden",!1),i},c.prototype.setHighlightGutterLine=function(i){this.$highlightGutterLine=i},c.prototype.setShowLineNumbers=function(i){this.$renderer=!i&&{getWidth:function(){return 0},getText:function(){return""}}},c.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},c.prototype.setShowFoldWidgets=function(i){i?d.addCssClass(this.element,"ace_folding-enabled"):d.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=i,this.$padding=null},c.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},c.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var i=d.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(i.borderLeftWidth)||0)+(parseInt(i.paddingLeft)||0)+1,this.$padding.right=(parseInt(i.borderRightWidth)||0)+(parseInt(i.paddingRight)||0),this.$padding},c.prototype.getRegion=function(i){var l=this.$padding||this.$computePadding(),m=this.element.getBoundingClientRect();if(i.x<l.left+m.left)return"markers";if(this.$showFoldWidgets&&i.x>m.right-l.right)return"foldWidgets"},c}();a.prototype.$fixedWidth=!1,a.prototype.$highlightGutterLine=!0,a.prototype.$renderer="",a.prototype.$showLineNumbers=!0,a.prototype.$showFoldWidgets=!0,p.implement(a.prototype,f);function h(c){var i=document.createTextNode("");c.appendChild(i);var l=d.createElement("span");c.appendChild(l);var m=d.createElement("span");c.appendChild(m);var b=d.createElement("span");return m.appendChild(b),c}r.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(n,r,u){var d=n("../range").Range,p=n("../lib/dom"),w=function(){function g(s){this.element=p.createElement("div"),this.element.className="ace_layer ace_marker-layer",s.appendChild(this.element)}return g.prototype.setPadding=function(s){this.$padding=s},g.prototype.setSession=function(s){this.session=s},g.prototype.setMarkers=function(s){this.markers=s},g.prototype.elt=function(s,a){var h=this.i!=-1&&this.element.childNodes[this.i];h?this.i++:(h=document.createElement("div"),this.element.appendChild(h),this.i=-1),h.style.cssText=a,h.className=s},g.prototype.update=function(s){if(s){this.config=s,this.i=0;var a;for(var h in this.markers){var c=this.markers[h];if(!c.range){c.update(a,this,this.session,s);continue}var i=c.range.clipRows(s.firstRow,s.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),c.renderer){var l=this.$getTop(i.start.row,s),m=this.$padding+i.start.column*s.characterWidth;c.renderer(a,i,m,l,s)}else c.type=="fullLine"?this.drawFullLineMarker(a,i,c.clazz,s):c.type=="screenLine"?this.drawScreenLineMarker(a,i,c.clazz,s):i.isMultiLine()?c.type=="text"?this.drawTextMarker(a,i,c.clazz,s):this.drawMultiLineMarker(a,i,c.clazz,s):this.drawSingleLineMarker(a,i,c.clazz+" ace_start ace_br15",s)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},g.prototype.$getTop=function(s,a){return(s-a.firstRowScreen)*a.lineHeight},g.prototype.drawTextMarker=function(s,a,h,c,i){for(var l=this.session,m=a.start.row,b=a.end.row,x=m,M=0,A=0,_=l.getScreenLastRowColumn(x),k=new d(x,a.start.column,x,A);x<=b;x++)k.start.row=k.end.row=x,k.start.column=x==m?a.start.column:l.getRowWrapIndent(x),k.end.column=_,M=A,A=_,_=x+1<b?l.getScreenLastRowColumn(x+1):x==b?0:a.end.column,this.drawSingleLineMarker(s,k,h+(x==m?" ace_start":"")+" ace_br"+f(x==m||x==m+1&&a.start.column,M<A,A>_,x==b),c,x==b?0:1,i)},g.prototype.drawMultiLineMarker=function(s,a,h,c,i){var l=this.$padding,m=c.lineHeight,b=this.$getTop(a.start.row,c),x=l+a.start.column*c.characterWidth;if(i=i||"",this.session.$bidiHandler.isBidiRow(a.start.row)){var M=a.clone();M.end.row=M.start.row,M.end.column=this.session.getLine(M.start.row).length,this.drawBidiSingleLineMarker(s,M,h+" ace_br1 ace_start",c,null,i)}else this.elt(h+" ace_br1 ace_start","height:"+m+"px;right:"+l+"px;top:"+b+"px;left:"+x+"px;"+(i||""));if(this.session.$bidiHandler.isBidiRow(a.end.row)){var M=a.clone();M.start.row=M.end.row,M.start.column=0,this.drawBidiSingleLineMarker(s,M,h+" ace_br12",c,null,i)}else{b=this.$getTop(a.end.row,c);var A=a.end.column*c.characterWidth;this.elt(h+" ace_br12","height:"+m+"px;width:"+A+"px;top:"+b+"px;left:"+l+"px;"+(i||""))}if(m=(a.end.row-a.start.row-1)*c.lineHeight,!(m<=0)){b=this.$getTop(a.start.row+1,c);var _=(a.start.column?1:0)|(a.end.column?0:8);this.elt(h+(_?" ace_br"+_:""),"height:"+m+"px;right:"+l+"px;top:"+b+"px;left:"+l+"px;"+(i||""))}},g.prototype.drawSingleLineMarker=function(s,a,h,c,i,l){if(this.session.$bidiHandler.isBidiRow(a.start.row))return this.drawBidiSingleLineMarker(s,a,h,c,i,l);var m=c.lineHeight,b=(a.end.column+(i||0)-a.start.column)*c.characterWidth,x=this.$getTop(a.start.row,c),M=this.$padding+a.start.column*c.characterWidth;this.elt(h,"height:"+m+"px;width:"+b+"px;top:"+x+"px;left:"+M+"px;"+(l||""))},g.prototype.drawBidiSingleLineMarker=function(s,a,h,c,i,l){var m=c.lineHeight,b=this.$getTop(a.start.row,c),x=this.$padding,M=this.session.$bidiHandler.getSelections(a.start.column,a.end.column);M.forEach(function(A){this.elt(h,"height:"+m+"px;width:"+(A.width+(i||0))+"px;top:"+b+"px;left:"+(x+A.left)+"px;"+(l||""))},this)},g.prototype.drawFullLineMarker=function(s,a,h,c,i){var l=this.$getTop(a.start.row,c),m=c.lineHeight;a.start.row!=a.end.row&&(m+=this.$getTop(a.end.row,c)-l),this.elt(h,"height:"+m+"px;top:"+l+"px;left:0;right:0;"+(i||""))},g.prototype.drawScreenLineMarker=function(s,a,h,c,i){var l=this.$getTop(a.start.row,c),m=c.lineHeight;this.elt(h,"height:"+m+"px;top:"+l+"px;left:0;right:0;"+(i||""))},g}();w.prototype.$padding=0;function f(g,s,a,h){return(g?1:0)|(s?2:0)|(a?4:0)|(h?8:0)}r.Marker=w}),ace.define("ace/layer/text_util",["require","exports","module"],function(n,r,u){var d=new Set(["text","rparen","lparen"]);r.isTextToken=function(p){return d.has(p)}}),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(n,r,u){var d=n("../lib/oop"),p=n("../lib/dom"),w=n("../lib/lang"),f=n("./lines").Lines,g=n("../lib/event_emitter").EventEmitter,s=n("../config").nls,a=n("./text_util").isTextToken,h=function(){function c(i){this.dom=p,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",i.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new f(this.element)}return c.prototype.$updateEolChar=function(){var i=this.session.doc,l=i.getNewLineCharacter()==`
222
+ `&&i.getNewLineMode()!="windows",m=l?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=m)return this.EOL_CHAR=m,!0},c.prototype.setPadding=function(i){this.$padding=i,this.element.style.margin="0 "+i+"px"},c.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},c.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},c.prototype.$setFontMetrics=function(i){this.$fontMetrics=i,this.$fontMetrics.on("changeCharacterSize",(function(l){this._signal("changeCharacterSize",l)}).bind(this)),this.$pollSizeChanges()},c.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},c.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},c.prototype.setSession=function(i){this.session=i,i&&this.$computeTabString()},c.prototype.setShowInvisibles=function(i){return this.showInvisibles==i?!1:(this.showInvisibles=i,typeof i=="string"?(this.showSpaces=/tab/i.test(i),this.showTabs=/space/i.test(i),this.showEOL=/eol/i.test(i)):this.showSpaces=this.showTabs=this.showEOL=i,this.$computeTabString(),!0)},c.prototype.setDisplayIndentGuides=function(i){return this.displayIndentGuides==i?!1:(this.displayIndentGuides=i,this.$computeTabString(),!0)},c.prototype.setHighlightIndentGuides=function(i){return this.$highlightIndentGuides===i?!1:(this.$highlightIndentGuides=i,i)},c.prototype.$computeTabString=function(){var i=this.session.getTabSize();this.tabSize=i;for(var l=this.$tabStrings=[0],m=1;m<i+1;m++)if(this.showTabs){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_tab",b.textContent=w.stringRepeat(this.TAB_CHAR,m),l.push(b)}else l.push(this.dom.createTextNode(w.stringRepeat(" ",m),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var x="ace_indent-guide",M=this.showSpaces?" ace_invisible ace_invisible_space":"",A=this.showSpaces?w.stringRepeat(this.SPACE_CHAR,this.tabSize):w.stringRepeat(" ",this.tabSize),_=this.showTabs?" ace_invisible ace_invisible_tab":"",k=this.showTabs?w.stringRepeat(this.TAB_CHAR,this.tabSize):A,b=this.dom.createElement("span");b.className=x+M,b.textContent=A,this.$tabStrings[" "]=b;var b=this.dom.createElement("span");b.className=x+_,b.textContent=k,this.$tabStrings[" "]=b}},c.prototype.updateLines=function(i,l,m){if(this.config.lastRow!=i.lastRow||this.config.firstRow!=i.firstRow)return this.update(i);this.config=i;for(var b=Math.max(l,i.firstRow),x=Math.min(m,i.lastRow),M=this.element.childNodes,A=0,_=i.firstRow;_<b;_++){var k=this.session.getFoldLine(_);if(k)if(k.containsRow(b)){b=k.start.row;break}else _=k.end.row;A++}for(var E=!1,_=b,k=this.session.getNextFoldLine(_),O=k?k.start.row:1/0;_>O&&(_=k.end.row+1,k=this.session.getNextFoldLine(_,k),O=k?k.start.row:1/0),!(_>x);){var F=M[A++];if(F){this.dom.removeChildren(F),this.$renderLine(F,_,_==O?k:!1),E&&(F.style.top=this.$lines.computeLineTop(_,i,this.session)+"px");var L=i.lineHeight*this.session.getRowLength(_)+"px";F.style.height!=L&&(E=!0,F.style.height=L)}_++}if(E)for(;A<this.$lines.cells.length;){var H=this.$lines.cells[A++];H.element.style.top=this.$lines.computeLineTop(H.row,i,this.session)+"px"}},c.prototype.scrollLines=function(i){var l=this.config;if(this.config=i,this.$lines.pageChanged(l,i))return this.update(i);this.$lines.moveContainer(i);var m=i.lastRow,b=l?l.lastRow:-1;if(!l||b<i.firstRow)return this.update(i);if(m<l.firstRow)return this.update(i);if(!l||l.lastRow<i.firstRow)return this.update(i);if(i.lastRow<l.firstRow)return this.update(i);if(l.firstRow<i.firstRow)for(var x=this.session.getFoldedRowCount(l.firstRow,i.firstRow-1);x>0;x--)this.$lines.shift();if(l.lastRow>i.lastRow)for(var x=this.session.getFoldedRowCount(i.lastRow+1,l.lastRow);x>0;x--)this.$lines.pop();i.firstRow<l.firstRow&&this.$lines.unshift(this.$renderLinesFragment(i,i.firstRow,l.firstRow-1)),i.lastRow>l.lastRow&&this.$lines.push(this.$renderLinesFragment(i,l.lastRow+1,i.lastRow)),this.$highlightIndentGuide()},c.prototype.$renderLinesFragment=function(i,l,m){for(var b=[],x=l,M=this.session.getNextFoldLine(x),A=M?M.start.row:1/0;x>A&&(x=M.end.row+1,M=this.session.getNextFoldLine(x,M),A=M?M.start.row:1/0),!(x>m);){var _=this.$lines.createCell(x,i,this.session),k=_.element;this.dom.removeChildren(k),p.setStyle(k.style,"height",this.$lines.computeLineHeight(x,i,this.session)+"px"),p.setStyle(k.style,"top",this.$lines.computeLineTop(x,i,this.session)+"px"),this.$renderLine(k,x,x==A?M:!1),this.$useLineGroups()?k.className="ace_line_group":k.className="ace_line",b.push(_),x++}return b},c.prototype.update=function(i){this.$lines.moveContainer(i),this.config=i;for(var l=i.firstRow,m=i.lastRow,b=this.$lines;b.getLength();)b.pop();b.push(this.$renderLinesFragment(i,l,m))},c.prototype.$renderToken=function(i,l,m,b){for(var x=this,M=/(\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,A=this.dom.createFragment(this.element),_,k=0;_=M.exec(b);){var E=_[1],O=_[2],F=_[3],L=_[4],H=_[5];if(!(!x.showSpaces&&O)){var P=k!=_.index?b.slice(k,_.index):"";if(k=_.index+_[0].length,P&&A.appendChild(this.dom.createTextNode(P,this.element)),E){var I=x.session.getScreenTabSize(l+_.index);A.appendChild(x.$tabStrings[I].cloneNode(!0)),l+=I-1}else if(O)if(x.showSpaces){var T=this.dom.createElement("span");T.className="ace_invisible ace_invisible_space",T.textContent=w.stringRepeat(x.SPACE_CHAR,O.length),A.appendChild(T)}else A.appendChild(this.dom.createTextNode(O,this.element));else if(F){var T=this.dom.createElement("span");T.className="ace_invisible ace_invisible_space ace_invalid",T.textContent=w.stringRepeat(x.SPACE_CHAR,F.length),A.appendChild(T)}else if(L){l+=1;var T=this.dom.createElement("span");T.style.width=x.config.characterWidth*2+"px",T.className=x.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",T.textContent=x.showSpaces?x.SPACE_CHAR:L,A.appendChild(T)}else if(H){l+=1;var T=this.dom.createElement("span");T.style.width=x.config.characterWidth*2+"px",T.className="ace_cjk",T.textContent=H,A.appendChild(T)}}}if(A.appendChild(this.dom.createTextNode(k?b.slice(k):b,this.element)),a(m.type))i.appendChild(A);else{var C="ace_"+m.type.replace(/\./g," ace_"),T=this.dom.createElement("span");m.type=="fold"&&(T.style.width=m.value.length*this.config.characterWidth+"px",T.setAttribute("title",s("inline-fold.closed.title","Unfold code"))),T.className=C,T.appendChild(A),i.appendChild(T)}return l+b.length},c.prototype.renderIndentGuide=function(i,l,m){var b=l.search(this.$indentGuideRe);if(b<=0||b>=m)return l;if(l[0]==" "){b-=b%this.tabSize;for(var x=b/this.tabSize,M=0;M<x;M++)i.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),l.substr(b)}else if(l[0]==" "){for(var M=0;M<b;M++)i.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),l.substr(b)}return this.$highlightIndentGuide(),l},c.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var i=this.session.doc.$lines;if(i){var l=this.session.selection.getCursor(),m=/^\s*/.exec(this.session.doc.getLine(l.row))[0].length,b=Math.floor(m/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:b,start:l.row};var x=this.session.$bracketHighlight;if(x){for(var M=this.session.$bracketHighlight.ranges,A=0;A<M.length;A++)if(l.row!==M[A].start.row){this.$highlightIndentGuideMarker.end=M[A].start.row+1,l.row>M[A].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&i[l.row]!==""&&l.column===i[l.row].length){this.$highlightIndentGuideMarker.dir=1;for(var A=l.row+1;A<i.length;A++){var _=i[A],k=/^\s*/.exec(_)[0].length;if(_!==""&&(this.$highlightIndentGuideMarker.end=A,k<=m))break}}this.$renderHighlightIndentGuide()}}},c.prototype.$clearActiveIndentGuide=function(){for(var i=this.element.querySelectorAll(".ace_indent-guide-active"),l=0;l<i.length;l++)i[l].classList.remove("ace_indent-guide-active")},c.prototype.$setIndentGuideActive=function(i,l){var m=this.session.doc.getLine(i.row);if(m!==""){var b=i.element;if(i.element.classList&&i.element.classList.contains("ace_line_group"))if(i.element.childNodes.length>0)b=i.element.childNodes[0];else return;var x=b.childNodes;if(x){var M=x[l-1];M&&M.classList&&M.classList.contains("ace_indent-guide")&&M.classList.add("ace_indent-guide-active")}}},c.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var i=this.$lines.cells;this.$clearActiveIndentGuide();var l=this.$highlightIndentGuideMarker.indentLevel;if(l!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var m=0;m<i.length;m++){var b=i[m];if(this.$highlightIndentGuideMarker.end&&b.row>=this.$highlightIndentGuideMarker.start+1){if(b.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(b,l)}}else for(var m=i.length-1;m>=0;m--){var b=i[m];if(this.$highlightIndentGuideMarker.end&&b.row<this.$highlightIndentGuideMarker.start){if(b.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(b,l)}}}},c.prototype.$createLineElement=function(i){var l=this.dom.createElement("div");return l.className="ace_line",l.style.height=this.config.lineHeight+"px",l},c.prototype.$renderWrappedLine=function(i,l,m){var b=0,x=0,M=m[0],A=0,_=this.$createLineElement();i.appendChild(_);for(var k=0;k<l.length;k++){var E=l[k],O=E.value;if(k==0&&this.displayIndentGuides){if(b=O.length,O=this.renderIndentGuide(_,O,M),!O)continue;b-=O.length}if(b+O.length<M)A=this.$renderToken(_,A,E,O),b+=O.length;else{for(;b+O.length>=M;)A=this.$renderToken(_,A,E,O.substring(0,M-b)),O=O.substring(M-b),b=M,_=this.$createLineElement(),i.appendChild(_),_.appendChild(this.dom.createTextNode(w.stringRepeat(" ",m.indent),this.element)),x++,A=0,M=m[x]||Number.MAX_VALUE;O.length!=0&&(b+=O.length,A=this.$renderToken(_,A,E,O))}}m[m.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(_,A,null,"",!0)},c.prototype.$renderSimpleLine=function(i,l){for(var m=0,b=0;b<l.length;b++){var x=l[b],M=x.value;if(!(b==0&&this.displayIndentGuides&&(M=this.renderIndentGuide(i,M),!M))){if(m+M.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(i,m,x,M);m=this.$renderToken(i,m,x,M)}}},c.prototype.$renderOverflowMessage=function(i,l,m,b,x){m&&this.$renderToken(i,l,m,b.slice(0,this.MAX_LINE_LENGTH-l));var M=this.dom.createElement("span");M.className="ace_inline_button ace_keyword ace_toggle_wrap",M.textContent=x?"<hide>":"<click to see more...>",i.appendChild(M)},c.prototype.$renderLine=function(i,l,m){if(!m&&m!=!1&&(m=this.session.getFoldLine(l)),m)var b=this.$getFoldLineTokens(l,m);else var b=this.session.getTokens(l);var x=i;if(b.length){var M=this.session.getRowSplitData(l);if(M&&M.length){this.$renderWrappedLine(i,b,M);var x=i.lastChild}else{var x=i;this.$useLineGroups()&&(x=this.$createLineElement(),i.appendChild(x)),this.$renderSimpleLine(x,b)}}else this.$useLineGroups()&&(x=this.$createLineElement(),i.appendChild(x));if(this.showEOL&&x){m&&(l=m.end.row);var A=this.dom.createElement("span");A.className="ace_invisible ace_invisible_eol",A.textContent=l==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,x.appendChild(A)}},c.prototype.$getFoldLineTokens=function(i,l){var m=this.session,b=[];function x(A,_,k){for(var E=0,O=0;O+A[E].value.length<_;)if(O+=A[E].value.length,E++,E==A.length)return;if(O!=_){var F=A[E].value.substring(_-O);F.length>k-_&&(F=F.substring(0,k-_)),b.push({type:A[E].type,value:F}),O=_+F.length,E+=1}for(;O<k&&E<A.length;){var F=A[E].value;F.length+O>k?b.push({type:A[E].type,value:F.substring(0,k-O)}):b.push(A[E]),O+=F.length,E+=1}}var M=m.getTokens(i);return l.walk(function(A,_,k,E,O){A!=null?b.push({type:"fold",value:A}):(O&&(M=m.getTokens(_)),M.length&&x(M,E,k))},l.end.row,this.session.getLine(l.end.row).length),b},c.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},c}();h.prototype.EOF_CHAR="¶",h.prototype.EOL_CHAR_LF="¬",h.prototype.EOL_CHAR_CRLF="¤",h.prototype.EOL_CHAR=h.prototype.EOL_CHAR_LF,h.prototype.TAB_CHAR="—",h.prototype.SPACE_CHAR="·",h.prototype.$padding=0,h.prototype.MAX_LINE_LENGTH=1e4,h.prototype.showInvisibles=!1,h.prototype.showSpaces=!1,h.prototype.showTabs=!1,h.prototype.showEOL=!1,h.prototype.displayIndentGuides=!0,h.prototype.$highlightIndentGuides=!0,h.prototype.$tabStrings=[],h.prototype.destroy={},h.prototype.onChangeTabSize=h.prototype.$computeTabString,d.implement(h.prototype,g),r.Text=h}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(n,r,u){var d=n("../lib/dom"),p=function(){function w(f){this.element=d.createElement("div"),this.element.className="ace_layer ace_cursor-layer",f.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),d.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return w.prototype.$updateOpacity=function(f){for(var g=this.cursors,s=g.length;s--;)d.setStyle(g[s].style,"opacity",f?"":"0")},w.prototype.$startCssAnimation=function(){for(var f=this.cursors,g=f.length;g--;)f[g].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&d.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},w.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,d.removeCssClass(this.element,"ace_animate-blinking")},w.prototype.setPadding=function(f){this.$padding=f},w.prototype.setSession=function(f){this.session=f},w.prototype.setBlinking=function(f){f!=this.isBlinking&&(this.isBlinking=f,this.restartTimer())},w.prototype.setBlinkInterval=function(f){f!=this.blinkInterval&&(this.blinkInterval=f,this.restartTimer())},w.prototype.setSmoothBlinking=function(f){f!=this.smoothBlinking&&(this.smoothBlinking=f,d.setCssClass(this.element,"ace_smooth-blinking",f),this.$updateCursors(!0),this.restartTimer())},w.prototype.addCursor=function(){var f=d.createElement("div");return f.className="ace_cursor",this.element.appendChild(f),this.cursors.push(f),f},w.prototype.removeCursor=function(){if(this.cursors.length>1){var f=this.cursors.pop();return f.parentNode.removeChild(f),f}},w.prototype.hideCursor=function(){this.isVisible=!1,d.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},w.prototype.showCursor=function(){this.isVisible=!0,d.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},w.prototype.restartTimer=function(){var f=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,d.removeCssClass(this.element,"ace_smooth-blinking")),f(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&d.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),d.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var g=(function(){this.timeoutId=setTimeout(function(){f(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){f(!0),g()},this.blinkInterval),g()}},w.prototype.getPixelPosition=function(f,g){if(!this.config||!this.session)return{left:0,top:0};f||(f=this.session.selection.getCursor());var s=this.session.documentToScreenPosition(f),a=this.$padding+(this.session.$bidiHandler.isBidiRow(s.row,f.row)?this.session.$bidiHandler.getPosLeft(s.column):s.column*this.config.characterWidth),h=(s.row-(g?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:a,top:h}},w.prototype.isCursorInView=function(f,g){return f.top>=0&&f.top<g.maxHeight},w.prototype.update=function(f){this.config=f;var g=this.session.$selectionMarkers,s=0,a=0;(g===void 0||g.length===0)&&(g=[{cursor:null}]);for(var s=0,h=g.length;s<h;s++){var c=this.getPixelPosition(g[s].cursor,!0);if(!((c.top>f.height+f.offset||c.top<0)&&s>1)){var i=this.cursors[a++]||this.addCursor(),l=i.style;this.drawCursor?this.drawCursor(i,c,f,g[s],this.session):this.isCursorInView(c,f)?(d.setStyle(l,"display","block"),d.translate(i,c.left,c.top),d.setStyle(l,"width",Math.round(f.characterWidth)+"px"),d.setStyle(l,"height",f.lineHeight+"px")):d.setStyle(l,"display","none")}}for(;this.cursors.length>a;)this.removeCursor();var m=this.session.getOverwrite();this.$setOverwrite(m),this.$pixelPos=c,this.restartTimer()},w.prototype.$setOverwrite=function(f){f!=this.overwrite&&(this.overwrite=f,f?d.addCssClass(this.element,"ace_overwrite-cursors"):d.removeCssClass(this.element,"ace_overwrite-cursors"))},w.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},w}();p.prototype.$padding=0,p.prototype.drawCursor=null,r.Cursor=p}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(n,r,u){var d=this&&this.__extends||function(){var i=function(l,m){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,x){b.__proto__=x}||function(b,x){for(var M in x)Object.prototype.hasOwnProperty.call(x,M)&&(b[M]=x[M])},i(l,m)};return function(l,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");i(l,m);function b(){this.constructor=l}l.prototype=m===null?Object.create(m):(b.prototype=m.prototype,new b)}}(),p=n("./lib/oop"),w=n("./lib/dom"),f=n("./lib/event"),g=n("./lib/event_emitter").EventEmitter,s=32768,a=function(){function i(l,m){this.element=w.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+m,this.inner=w.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),l.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,f.addListener(this.element,"scroll",this.onScroll.bind(this)),f.addListener(this.element,"mousedown",f.preventDefault)}return i.prototype.setVisible=function(l){this.element.style.display=l?"":"none",this.isVisible=l,this.coeff=1},i}();p.implement(a.prototype,g);var h=function(i){d(l,i);function l(m,b){var x=i.call(this,m,"-v")||this;return x.scrollTop=0,x.scrollHeight=0,b.$scrollbarWidth=x.width=w.scrollbarWidth(m.ownerDocument),x.inner.style.width=x.element.style.width=(x.width||15)+5+"px",x.$minWidth=0,x}return l.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var m=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-m)/(this.coeff-m)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},l.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},l.prototype.setHeight=function(m){this.element.style.height=m+"px"},l.prototype.setScrollHeight=function(m){this.scrollHeight=m,m>s?(this.coeff=s/m,m=s):this.coeff!=1&&(this.coeff=1),this.inner.style.height=m+"px"},l.prototype.setScrollTop=function(m){this.scrollTop!=m&&(this.skipEvent=!0,this.scrollTop=m,this.element.scrollTop=m*this.coeff)},l}(a);h.prototype.setInnerHeight=h.prototype.setScrollHeight;var c=function(i){d(l,i);function l(m,b){var x=i.call(this,m,"-h")||this;return x.scrollLeft=0,x.height=b.$scrollbarWidth,x.inner.style.height=x.element.style.height=(x.height||15)+5+"px",x}return l.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},l.prototype.getHeight=function(){return this.isVisible?this.height:0},l.prototype.setWidth=function(m){this.element.style.width=m+"px"},l.prototype.setInnerWidth=function(m){this.inner.style.width=m+"px"},l.prototype.setScrollWidth=function(m){this.inner.style.width=m+"px"},l.prototype.setScrollLeft=function(m){this.scrollLeft!=m&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=m)},l}(a);r.ScrollBar=h,r.ScrollBarV=h,r.ScrollBarH=c,r.VScrollBar=h,r.HScrollBar=c}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(n,r,u){var d=this&&this.__extends||function(){var c=function(i,l){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,b){m.__proto__=b}||function(m,b){for(var x in b)Object.prototype.hasOwnProperty.call(b,x)&&(m[x]=b[x])},c(i,l)};return function(i,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");c(i,l);function m(){this.constructor=i}i.prototype=l===null?Object.create(l):(m.prototype=l.prototype,new m)}}(),p=n("./lib/oop"),w=n("./lib/dom"),f=n("./lib/event"),g=n("./lib/event_emitter").EventEmitter;w.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
223
+ position: absolute;
224
+ background: rgba(128, 128, 128, 0.6);
225
+ -moz-box-sizing: border-box;
226
+ box-sizing: border-box;
227
+ border: 1px solid #bbb;
228
+ border-radius: 2px;
229
+ z-index: 8;
230
+ }
231
+ .ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
232
+ position: absolute;
233
+ z-index: 6;
234
+ background: none;
235
+ overflow: hidden!important;
236
+ }
237
+ .ace_editor>.ace_sb-v {
238
+ z-index: 6;
239
+ right: 0;
240
+ top: 0;
241
+ width: 12px;
242
+ }
243
+ .ace_editor>.ace_sb-v div {
244
+ z-index: 8;
245
+ right: 0;
246
+ width: 100%;
247
+ }
248
+ .ace_editor>.ace_sb-h {
249
+ bottom: 0;
250
+ left: 0;
251
+ height: 12px;
252
+ }
253
+ .ace_editor>.ace_sb-h div {
254
+ bottom: 0;
255
+ height: 100%;
256
+ }
257
+ .ace_editor>.ace_sb_grabbed {
258
+ z-index: 8;
259
+ background: #000;
260
+ }`,"ace_scrollbar.css",!1);var s=function(){function c(i,l){this.element=w.createElement("div"),this.element.className="ace_sb"+l,this.inner=w.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,i.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,f.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return c.prototype.setVisible=function(i){this.element.style.display=i?"":"none",this.isVisible=i,this.coeff=1},c}();p.implement(s.prototype,g);var a=function(c){d(i,c);function i(l,m){var b=c.call(this,l,"-v")||this;return b.scrollTop=0,b.scrollHeight=0,b.parent=l,b.width=b.VScrollWidth,b.renderer=m,b.inner.style.width=b.element.style.width=(b.width||15)+"px",b.$minWidth=0,b}return i.prototype.onMouseDown=function(l,m){if(l==="mousedown"&&!(f.getButton(m)!==0||m.detail===2)){if(m.target===this.inner){var b=this,x=m.clientY,M=function(L){x=L.clientY},A=function(){clearInterval(O)},_=m.clientY,k=this.thumbTop,E=function(){if(x!==void 0){var L=b.scrollTopFromThumbTop(k+x-_);L!==b.scrollTop&&b._emit("scroll",{data:L})}};f.capture(this.inner,M,A);var O=setInterval(E,20);return f.preventDefault(m)}var F=m.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(F)}),f.preventDefault(m)}},i.prototype.getHeight=function(){return this.height},i.prototype.scrollTopFromThumbTop=function(l){var m=l*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return m=m>>0,m<0?m=0:m>this.pageHeight-this.viewHeight&&(m=this.pageHeight-this.viewHeight),m},i.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},i.prototype.setHeight=function(l){this.height=Math.max(0,l),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},i.prototype.setScrollHeight=function(l,m){this.pageHeight===l&&!m||(this.pageHeight=l,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})))},i.prototype.setScrollTop=function(l){this.scrollTop=l,l<0&&(l=0),this.thumbTop=l*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},i}(s);a.prototype.setInnerHeight=a.prototype.setScrollHeight;var h=function(c){d(i,c);function i(l,m){var b=c.call(this,l,"-h")||this;return b.scrollLeft=0,b.scrollWidth=0,b.height=b.HScrollHeight,b.inner.style.height=b.element.style.height=(b.height||12)+"px",b.renderer=m,b}return i.prototype.onMouseDown=function(l,m){if(l==="mousedown"&&!(f.getButton(m)!==0||m.detail===2)){if(m.target===this.inner){var b=this,x=m.clientX,M=function(L){x=L.clientX},A=function(){clearInterval(O)},_=m.clientX,k=this.thumbLeft,E=function(){if(x!==void 0){var L=b.scrollLeftFromThumbLeft(k+x-_);L!==b.scrollLeft&&b._emit("scroll",{data:L})}};f.capture(this.inner,M,A);var O=setInterval(E,20);return f.preventDefault(m)}var F=m.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(F)}),f.preventDefault(m)}},i.prototype.getHeight=function(){return this.isVisible?this.height:0},i.prototype.scrollLeftFromThumbLeft=function(l){var m=l*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return m=m>>0,m<0?m=0:m>this.pageWidth-this.viewWidth&&(m=this.pageWidth-this.viewWidth),m},i.prototype.setWidth=function(l){this.width=Math.max(0,l),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},i.prototype.setScrollWidth=function(l,m){this.pageWidth===l&&!m||(this.pageWidth=l,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})))},i.prototype.setScrollLeft=function(l){this.scrollLeft=l,l<0&&(l=0),this.thumbLeft=l*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},i}(s);h.prototype.setInnerWidth=h.prototype.setScrollWidth,r.ScrollBar=a,r.ScrollBarV=a,r.ScrollBarH=h,r.VScrollBar=a,r.HScrollBar=h}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(n,r,u){var d=n("./lib/event"),p=function(){function w(f,g){this.onRender=f,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=g||window;var s=this;this._flush=function(a){s.pending=!1;var h=s.changes;if(h&&(d.blockIdle(100),s.changes=0,s.onRender(h)),s.changes){if(s.$recursionLimit--<0)return;s.schedule()}else s.$recursionLimit=2}}return w.prototype.schedule=function(f){this.changes=this.changes|f,this.changes&&!this.pending&&(d.nextFrame(this._flush),this.pending=!0)},w.prototype.clear=function(f){var g=this.changes;return this.changes=0,g},w}();r.RenderLoop=p}),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(n,r,u){var d=n("../lib/oop"),p=n("../lib/dom"),w=n("../lib/lang"),f=n("../lib/event"),g=n("../lib/useragent"),s=n("../lib/event_emitter").EventEmitter,a=512,h=typeof ResizeObserver=="function",c=200,i=function(){function l(m){this.el=p.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=p.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=p.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),m.appendChild(this.el),this.$measureNode.textContent=w.stringRepeat("X",a),this.$characterSize={width:0,height:0},h?this.$addObserver():this.checkForSizeChanges()}return l.prototype.$setMeasureNodeStyles=function(m,b){m.width=m.height="auto",m.left=m.top="0px",m.visibility="hidden",m.position="absolute",m.whiteSpace="pre",g.isIE<8?m["font-family"]="inherit":m.font="inherit",m.overflow=b?"hidden":"visible"},l.prototype.checkForSizeChanges=function(m){if(m===void 0&&(m=this.$measureSizes()),m&&(this.$characterSize.width!==m.width||this.$characterSize.height!==m.height)){this.$measureNode.style.fontWeight="bold";var b=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=m,this.charSizes=Object.create(null),this.allowBoldFonts=b&&b.width===m.width&&b.height===m.height,this._emit("changeCharacterSize",{data:m})}},l.prototype.$addObserver=function(){var m=this;this.$observer=new window.ResizeObserver(function(b){m.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},l.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var m=this;return this.$pollSizeChangesTimer=f.onIdle(function b(){m.checkForSizeChanges(),f.onIdle(b,500)},500)},l.prototype.setPolling=function(m){m?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},l.prototype.$measureSizes=function(m){var b={height:(m||this.$measureNode).clientHeight,width:(m||this.$measureNode).clientWidth/a};return b.width===0||b.height===0?null:b},l.prototype.$measureCharWidth=function(m){this.$main.textContent=w.stringRepeat(m,a);var b=this.$main.getBoundingClientRect();return b.width/a},l.prototype.getCharacterWidth=function(m){var b=this.charSizes[m];return b===void 0&&(b=this.charSizes[m]=this.$measureCharWidth(m)/this.$characterSize.width),b},l.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},l.prototype.$getZoom=function(m){return!m||!m.parentElement?1:(Number(window.getComputedStyle(m).zoom)||1)*this.$getZoom(m.parentElement)},l.prototype.$initTransformMeasureNodes=function(){var m=function(b,x){return["div",{style:"position: absolute;top:"+b+"px;left:"+x+"px;"}]};this.els=p.buildDom([m(0,0),m(c,0),m(0,c),m(c,c)],this.el)},l.prototype.transformCoordinates=function(m,b){if(m){var x=this.$getZoom(this.el);m=k(1/x,m)}function M(Z,te,he){var ne=Z[1]*te[0]-Z[0]*te[1];return[(-te[1]*he[0]+te[0]*he[1])/ne,(+Z[1]*he[0]-Z[0]*he[1])/ne]}function A(Z,te){return[Z[0]-te[0],Z[1]-te[1]]}function _(Z,te){return[Z[0]+te[0],Z[1]+te[1]]}function k(Z,te){return[Z*te[0],Z*te[1]]}this.els||this.$initTransformMeasureNodes();function E(Z){var te=Z.getBoundingClientRect();return[te.left,te.top]}var O=E(this.els[0]),F=E(this.els[1]),L=E(this.els[2]),H=E(this.els[3]),P=M(A(H,F),A(H,L),A(_(F,L),_(H,O))),I=k(1+P[0],A(F,O)),T=k(1+P[1],A(L,O));if(b){var C=b,N=P[0]*C[0]/c+P[1]*C[1]/c+1,j=_(k(C[0],I),k(C[1],T));return _(k(1/N/c,j),O)}var U=A(m,O),K=M(A(I,k(P[0],U)),A(T,k(P[1],U)),U);return k(c,K)},l}();i.prototype.$characterSize={width:0,height:0},d.implement(i.prototype,s),r.FontMetrics=i}),ace.define("ace/css/editor-css",["require","exports","module"],function(n,r,u){u.exports=`
261
+ .ace_br1 {border-top-left-radius : 3px;}
262
+ .ace_br2 {border-top-right-radius : 3px;}
263
+ .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
264
+ .ace_br4 {border-bottom-right-radius: 3px;}
265
+ .ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
266
+ .ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
267
+ .ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
268
+ .ace_br8 {border-bottom-left-radius : 3px;}
269
+ .ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
270
+ .ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
271
+ .ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
272
+ .ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
273
+ .ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
274
+ .ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
275
+ .ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
276
+
277
+
278
+ .ace_editor {
279
+ position: relative;
280
+ overflow: hidden;
281
+ padding: 0;
282
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
283
+ direction: ltr;
284
+ text-align: left;
285
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
286
+ forced-color-adjust: none;
287
+ }
288
+
289
+ .ace_scroller {
290
+ position: absolute;
291
+ overflow: hidden;
292
+ top: 0;
293
+ bottom: 0;
294
+ background-color: inherit;
295
+ -ms-user-select: none;
296
+ -moz-user-select: none;
297
+ -webkit-user-select: none;
298
+ user-select: none;
299
+ cursor: text;
300
+ }
301
+
302
+ .ace_content {
303
+ position: absolute;
304
+ box-sizing: border-box;
305
+ min-width: 100%;
306
+ contain: style size layout;
307
+ font-variant-ligatures: no-common-ligatures;
308
+ }
309
+ .ace_invisible {
310
+ font-variant-ligatures: none;
311
+ }
312
+
313
+ .ace_keyboard-focus:focus {
314
+ box-shadow: inset 0 0 0 2px #5E9ED6;
315
+ outline: none;
316
+ }
317
+
318
+ .ace_dragging .ace_scroller:before{
319
+ position: absolute;
320
+ top: 0;
321
+ left: 0;
322
+ right: 0;
323
+ bottom: 0;
324
+ content: '';
325
+ background: rgba(250, 250, 250, 0.01);
326
+ z-index: 1000;
327
+ }
328
+ .ace_dragging.ace_dark .ace_scroller:before{
329
+ background: rgba(0, 0, 0, 0.01);
330
+ }
331
+
332
+ .ace_gutter {
333
+ position: absolute;
334
+ overflow : hidden;
335
+ width: auto;
336
+ top: 0;
337
+ bottom: 0;
338
+ left: 0;
339
+ cursor: default;
340
+ z-index: 4;
341
+ -ms-user-select: none;
342
+ -moz-user-select: none;
343
+ -webkit-user-select: none;
344
+ user-select: none;
345
+ contain: style size layout;
346
+ }
347
+
348
+ .ace_gutter-active-line {
349
+ position: absolute;
350
+ left: 0;
351
+ right: 0;
352
+ }
353
+
354
+ .ace_scroller.ace_scroll-left:after {
355
+ content: "";
356
+ position: absolute;
357
+ top: 0;
358
+ right: 0;
359
+ bottom: 0;
360
+ left: 0;
361
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
362
+ pointer-events: none;
363
+ }
364
+
365
+ .ace_gutter-cell, .ace_gutter-cell_svg-icons {
366
+ position: absolute;
367
+ top: 0;
368
+ left: 0;
369
+ right: 0;
370
+ padding-left: 19px;
371
+ padding-right: 6px;
372
+ background-repeat: no-repeat;
373
+ }
374
+
375
+ .ace_gutter-cell_svg-icons .ace_gutter_annotation {
376
+ margin-left: -14px;
377
+ float: left;
378
+ }
379
+
380
+ .ace_gutter-cell .ace_gutter_annotation {
381
+ margin-left: -19px;
382
+ float: left;
383
+ }
384
+
385
+ .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 {
386
+ 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==");
387
+ background-repeat: no-repeat;
388
+ background-position: 2px center;
389
+ }
390
+
391
+ .ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
392
+ 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==");
393
+ background-repeat: no-repeat;
394
+ background-position: 2px center;
395
+ }
396
+
397
+ .ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
398
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
399
+ background-repeat: no-repeat;
400
+ background-position: 2px center;
401
+ }
402
+
403
+ .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 {
404
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
405
+ }
406
+
407
+ .ace_icon_svg.ace_error {
408
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
409
+ background-color: crimson;
410
+ }
411
+ .ace_icon_svg.ace_security {
412
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
413
+ background-color: crimson;
414
+ }
415
+ .ace_icon_svg.ace_warning {
416
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
417
+ background-color: darkorange;
418
+ }
419
+ .ace_icon_svg.ace_info {
420
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
421
+ background-color: royalblue;
422
+ }
423
+ .ace_icon_svg.ace_hint {
424
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
425
+ background-color: silver;
426
+ }
427
+
428
+ .ace_icon_svg.ace_error_fold {
429
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
430
+ background-color: crimson;
431
+ }
432
+ .ace_icon_svg.ace_security_fold {
433
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
434
+ background-color: crimson;
435
+ }
436
+ .ace_icon_svg.ace_warning_fold {
437
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
438
+ background-color: darkorange;
439
+ }
440
+
441
+ .ace_scrollbar {
442
+ contain: strict;
443
+ position: absolute;
444
+ right: 0;
445
+ bottom: 0;
446
+ z-index: 6;
447
+ }
448
+
449
+ .ace_scrollbar-inner {
450
+ position: absolute;
451
+ cursor: text;
452
+ left: 0;
453
+ top: 0;
454
+ }
455
+
456
+ .ace_scrollbar-v{
457
+ overflow-x: hidden;
458
+ overflow-y: scroll;
459
+ top: 0;
460
+ }
461
+
462
+ .ace_scrollbar-h {
463
+ overflow-x: scroll;
464
+ overflow-y: hidden;
465
+ left: 0;
466
+ }
467
+
468
+ .ace_print-margin {
469
+ position: absolute;
470
+ height: 100%;
471
+ }
472
+
473
+ .ace_text-input {
474
+ position: absolute;
475
+ z-index: 0;
476
+ width: 0.5em;
477
+ height: 1em;
478
+ opacity: 0;
479
+ background: transparent;
480
+ -moz-appearance: none;
481
+ appearance: none;
482
+ border: none;
483
+ resize: none;
484
+ outline: none;
485
+ overflow: hidden;
486
+ font: inherit;
487
+ padding: 0 1px;
488
+ margin: 0 -1px;
489
+ contain: strict;
490
+ -ms-user-select: text;
491
+ -moz-user-select: text;
492
+ -webkit-user-select: text;
493
+ user-select: text;
494
+ /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
495
+ white-space: pre!important;
496
+ }
497
+ .ace_text-input.ace_composition {
498
+ background: transparent;
499
+ color: inherit;
500
+ z-index: 1000;
501
+ opacity: 1;
502
+ }
503
+ .ace_composition_placeholder { color: transparent }
504
+ .ace_composition_marker {
505
+ border-bottom: 1px solid;
506
+ position: absolute;
507
+ border-radius: 0;
508
+ margin-top: 1px;
509
+ }
510
+
511
+ [ace_nocontext=true] {
512
+ transform: none!important;
513
+ filter: none!important;
514
+ clip-path: none!important;
515
+ mask : none!important;
516
+ contain: none!important;
517
+ perspective: none!important;
518
+ mix-blend-mode: initial!important;
519
+ z-index: auto;
520
+ }
521
+
522
+ .ace_layer {
523
+ z-index: 1;
524
+ position: absolute;
525
+ overflow: hidden;
526
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
527
+ word-wrap: normal;
528
+ white-space: pre;
529
+ height: 100%;
530
+ width: 100%;
531
+ box-sizing: border-box;
532
+ /* setting pointer-events: auto; on node under the mouse, which changes
533
+ during scroll, will break mouse wheel scrolling in Safari */
534
+ pointer-events: none;
535
+ }
536
+
537
+ .ace_gutter-layer {
538
+ position: relative;
539
+ width: auto;
540
+ text-align: right;
541
+ pointer-events: auto;
542
+ height: 1000000px;
543
+ contain: style size layout;
544
+ }
545
+
546
+ .ace_text-layer {
547
+ font: inherit !important;
548
+ position: absolute;
549
+ height: 1000000px;
550
+ width: 1000000px;
551
+ contain: style size layout;
552
+ }
553
+
554
+ .ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
555
+ contain: style size layout;
556
+ position: absolute;
557
+ top: 0;
558
+ left: 0;
559
+ right: 0;
560
+ }
561
+
562
+ .ace_hidpi .ace_text-layer,
563
+ .ace_hidpi .ace_gutter-layer,
564
+ .ace_hidpi .ace_content,
565
+ .ace_hidpi .ace_gutter {
566
+ contain: strict;
567
+ }
568
+ .ace_hidpi .ace_text-layer > .ace_line,
569
+ .ace_hidpi .ace_text-layer > .ace_line_group {
570
+ contain: strict;
571
+ }
572
+
573
+ .ace_cjk {
574
+ display: inline-block;
575
+ text-align: center;
576
+ }
577
+
578
+ .ace_cursor-layer {
579
+ z-index: 4;
580
+ }
581
+
582
+ .ace_cursor {
583
+ z-index: 4;
584
+ position: absolute;
585
+ box-sizing: border-box;
586
+ border-left: 2px solid;
587
+ /* workaround for smooth cursor repaintng whole screen in chrome */
588
+ transform: translatez(0);
589
+ }
590
+
591
+ .ace_multiselect .ace_cursor {
592
+ border-left-width: 1px;
593
+ }
594
+
595
+ .ace_slim-cursors .ace_cursor {
596
+ border-left-width: 1px;
597
+ }
598
+
599
+ .ace_overwrite-cursors .ace_cursor {
600
+ border-left-width: 0;
601
+ border-bottom: 1px solid;
602
+ }
603
+
604
+ .ace_hidden-cursors .ace_cursor {
605
+ opacity: 0.2;
606
+ }
607
+
608
+ .ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
609
+ opacity: 0;
610
+ }
611
+
612
+ .ace_smooth-blinking .ace_cursor {
613
+ transition: opacity 0.18s;
614
+ }
615
+
616
+ .ace_animate-blinking .ace_cursor {
617
+ animation-duration: 1000ms;
618
+ animation-timing-function: step-end;
619
+ animation-name: blink-ace-animate;
620
+ animation-iteration-count: infinite;
621
+ }
622
+
623
+ .ace_animate-blinking.ace_smooth-blinking .ace_cursor {
624
+ animation-duration: 1000ms;
625
+ animation-timing-function: ease-in-out;
626
+ animation-name: blink-ace-animate-smooth;
627
+ }
628
+
629
+ @keyframes blink-ace-animate {
630
+ from, to { opacity: 1; }
631
+ 60% { opacity: 0; }
632
+ }
633
+
634
+ @keyframes blink-ace-animate-smooth {
635
+ from, to { opacity: 1; }
636
+ 45% { opacity: 1; }
637
+ 60% { opacity: 0; }
638
+ 85% { opacity: 0; }
639
+ }
640
+
641
+ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
642
+ position: absolute;
643
+ z-index: 3;
644
+ }
645
+
646
+ .ace_marker-layer .ace_selection {
647
+ position: absolute;
648
+ z-index: 5;
649
+ }
650
+
651
+ .ace_marker-layer .ace_bracket {
652
+ position: absolute;
653
+ z-index: 6;
654
+ }
655
+
656
+ .ace_marker-layer .ace_error_bracket {
657
+ position: absolute;
658
+ border-bottom: 1px solid #DE5555;
659
+ border-radius: 0;
660
+ }
661
+
662
+ .ace_marker-layer .ace_active-line {
663
+ position: absolute;
664
+ z-index: 2;
665
+ }
666
+
667
+ .ace_marker-layer .ace_selected-word {
668
+ position: absolute;
669
+ z-index: 4;
670
+ box-sizing: border-box;
671
+ }
672
+
673
+ .ace_line .ace_fold {
674
+ box-sizing: border-box;
675
+
676
+ display: inline-block;
677
+ height: 11px;
678
+ margin-top: -2px;
679
+ vertical-align: middle;
680
+
681
+ background-image:
682
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
683
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
684
+ background-repeat: no-repeat, repeat-x;
685
+ background-position: center center, top left;
686
+ color: transparent;
687
+
688
+ border: 1px solid black;
689
+ border-radius: 2px;
690
+
691
+ cursor: pointer;
692
+ pointer-events: auto;
693
+ }
694
+
695
+ .ace_dark .ace_fold {
696
+ }
697
+
698
+ .ace_fold:hover{
699
+ background-image:
700
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
701
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
702
+ }
703
+
704
+ .ace_tooltip {
705
+ background-color: #f5f5f5;
706
+ border: 1px solid gray;
707
+ border-radius: 1px;
708
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
709
+ color: black;
710
+ padding: 3px 4px;
711
+ position: fixed;
712
+ z-index: 999999;
713
+ box-sizing: border-box;
714
+ cursor: default;
715
+ white-space: pre-wrap;
716
+ word-wrap: break-word;
717
+ line-height: normal;
718
+ font-style: normal;
719
+ font-weight: normal;
720
+ letter-spacing: normal;
721
+ pointer-events: none;
722
+ overflow: auto;
723
+ max-width: min(33em, 66vw);
724
+ overscroll-behavior: contain;
725
+ }
726
+ .ace_tooltip pre {
727
+ white-space: pre-wrap;
728
+ }
729
+
730
+ .ace_tooltip.ace_dark {
731
+ background-color: #636363;
732
+ color: #fff;
733
+ }
734
+
735
+ .ace_tooltip:focus {
736
+ outline: 1px solid #5E9ED6;
737
+ }
738
+
739
+ .ace_icon {
740
+ display: inline-block;
741
+ width: 18px;
742
+ vertical-align: top;
743
+ }
744
+
745
+ .ace_icon_svg {
746
+ display: inline-block;
747
+ width: 12px;
748
+ vertical-align: top;
749
+ -webkit-mask-repeat: no-repeat;
750
+ -webkit-mask-size: 12px;
751
+ -webkit-mask-position: center;
752
+ }
753
+
754
+ .ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
755
+ padding-right: 13px;
756
+ }
757
+
758
+ .ace_fold-widget {
759
+ box-sizing: border-box;
760
+
761
+ margin: 0 -12px 0 1px;
762
+ display: none;
763
+ width: 11px;
764
+ vertical-align: top;
765
+
766
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
767
+ background-repeat: no-repeat;
768
+ background-position: center;
769
+
770
+ border-radius: 3px;
771
+
772
+ border: 1px solid transparent;
773
+ cursor: pointer;
774
+ }
775
+
776
+ .ace_folding-enabled .ace_fold-widget {
777
+ display: inline-block;
778
+ }
779
+
780
+ .ace_fold-widget.ace_end {
781
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
782
+ }
783
+
784
+ .ace_fold-widget.ace_closed {
785
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
786
+ }
787
+
788
+ .ace_fold-widget:hover {
789
+ border: 1px solid rgba(0, 0, 0, 0.3);
790
+ background-color: rgba(255, 255, 255, 0.2);
791
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
792
+ }
793
+
794
+ .ace_fold-widget:active {
795
+ border: 1px solid rgba(0, 0, 0, 0.4);
796
+ background-color: rgba(0, 0, 0, 0.05);
797
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
798
+ }
799
+ /**
800
+ * Dark version for fold widgets
801
+ */
802
+ .ace_dark .ace_fold-widget {
803
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
804
+ }
805
+ .ace_dark .ace_fold-widget.ace_end {
806
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
807
+ }
808
+ .ace_dark .ace_fold-widget.ace_closed {
809
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
810
+ }
811
+ .ace_dark .ace_fold-widget:hover {
812
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
813
+ background-color: rgba(255, 255, 255, 0.1);
814
+ }
815
+ .ace_dark .ace_fold-widget:active {
816
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
817
+ }
818
+
819
+ .ace_inline_button {
820
+ border: 1px solid lightgray;
821
+ display: inline-block;
822
+ margin: -1px 8px;
823
+ padding: 0 5px;
824
+ pointer-events: auto;
825
+ cursor: pointer;
826
+ }
827
+ .ace_inline_button:hover {
828
+ border-color: gray;
829
+ background: rgba(200,200,200,0.2);
830
+ display: inline-block;
831
+ pointer-events: auto;
832
+ }
833
+
834
+ .ace_fold-widget.ace_invalid {
835
+ background-color: #FFB4B4;
836
+ border-color: #DE5555;
837
+ }
838
+
839
+ .ace_fade-fold-widgets .ace_fold-widget {
840
+ transition: opacity 0.4s ease 0.05s;
841
+ opacity: 0;
842
+ }
843
+
844
+ .ace_fade-fold-widgets:hover .ace_fold-widget {
845
+ transition: opacity 0.05s ease 0.05s;
846
+ opacity:1;
847
+ }
848
+
849
+ .ace_underline {
850
+ text-decoration: underline;
851
+ }
852
+
853
+ .ace_bold {
854
+ font-weight: bold;
855
+ }
856
+
857
+ .ace_nobold .ace_bold {
858
+ font-weight: normal;
859
+ }
860
+
861
+ .ace_italic {
862
+ font-style: italic;
863
+ }
864
+
865
+
866
+ .ace_error-marker {
867
+ background-color: rgba(255, 0, 0,0.2);
868
+ position: absolute;
869
+ z-index: 9;
870
+ }
871
+
872
+ .ace_highlight-marker {
873
+ background-color: rgba(255, 255, 0,0.2);
874
+ position: absolute;
875
+ z-index: 8;
876
+ }
877
+
878
+ .ace_mobile-menu {
879
+ position: absolute;
880
+ line-height: 1.5;
881
+ border-radius: 4px;
882
+ -ms-user-select: none;
883
+ -moz-user-select: none;
884
+ -webkit-user-select: none;
885
+ user-select: none;
886
+ background: white;
887
+ box-shadow: 1px 3px 2px grey;
888
+ border: 1px solid #dcdcdc;
889
+ color: black;
890
+ }
891
+ .ace_dark > .ace_mobile-menu {
892
+ background: #333;
893
+ color: #ccc;
894
+ box-shadow: 1px 3px 2px grey;
895
+ border: 1px solid #444;
896
+
897
+ }
898
+ .ace_mobile-button {
899
+ padding: 2px;
900
+ cursor: pointer;
901
+ overflow: hidden;
902
+ }
903
+ .ace_mobile-button:hover {
904
+ background-color: #eee;
905
+ opacity:1;
906
+ }
907
+ .ace_mobile-button:active {
908
+ background-color: #ddd;
909
+ }
910
+
911
+ .ace_placeholder {
912
+ position: relative;
913
+ font-family: arial;
914
+ transform: scale(0.9);
915
+ transform-origin: left;
916
+ white-space: pre;
917
+ opacity: 0.7;
918
+ margin: 0 10px;
919
+ z-index: 1;
920
+ }
921
+
922
+ .ace_ghost_text {
923
+ opacity: 0.5;
924
+ font-style: italic;
925
+ }
926
+
927
+ .ace_ghost_text_container > div {
928
+ white-space: pre;
929
+ }
930
+
931
+ .ghost_text_line_wrapped::after {
932
+ content: "↩";
933
+ position: absolute;
934
+ }
935
+
936
+ .ace_lineWidgetContainer.ace_ghost_text {
937
+ margin: 0px 4px
938
+ }
939
+
940
+ .ace_screenreader-only {
941
+ position:absolute;
942
+ left:-10000px;
943
+ top:auto;
944
+ width:1px;
945
+ height:1px;
946
+ overflow:hidden;
947
+ }
948
+
949
+ .ace_hidden_token {
950
+ display: none;
951
+ }`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(n,r,u){var d=n("../lib/dom"),p=n("../lib/oop"),w=n("../lib/event_emitter").EventEmitter,f=function(){function g(s,a){this.canvas=d.createElement("canvas"),this.renderer=a,this.pixelRatio=1,this.maxHeight=a.layerConfig.maxHeight,this.lineHeight=a.layerConfig.lineHeight,this.canvasHeight=s.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=s.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)"},s.element.appendChild(this.canvas)}return g.prototype.$updateDecorators=function(s){var a=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(s){this.maxHeight=s.maxHeight,this.lineHeight=s.lineHeight,this.canvasHeight=s.height;var h=(s.lastRow+1)*this.lineHeight;h<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var c=this.canvas.getContext("2d");function i(H,P){return H.priority<P.priority?-1:H.priority>P.priority?1:0}var l=this.renderer.session.$annotations;if(c.clearRect(0,0,this.canvas.width,this.canvas.height),l){var m={info:1,warning:2,error:3};l.forEach(function(H){H.priority=m[H.type]||null}),l=l.sort(i);for(var b=this.renderer.session.$foldData,x=0;x<l.length;x++){var M=l[x].row,A=this.compensateFoldRows(M,b),_=Math.round((M-A)*this.lineHeight*this.heightRatio),k=Math.round((M-A)*this.lineHeight*this.heightRatio),E=Math.round(((M-A)*this.lineHeight+this.lineHeight)*this.heightRatio),O=E-k;if(O<this.minDecorationHeight){var F=(k+E)/2|0;F<this.halfMinDecorationHeight?F=this.halfMinDecorationHeight:F+this.halfMinDecorationHeight>this.canvasHeight&&(F=this.canvasHeight-this.halfMinDecorationHeight),k=Math.round(F-this.halfMinDecorationHeight),E=Math.round(F+this.halfMinDecorationHeight)}c.fillStyle=a[l[x].type]||null,c.fillRect(0,_,this.canvasWidth,E-k)}}var L=this.renderer.session.selection.getCursor();if(L){var A=this.compensateFoldRows(L.row,b),_=Math.round((L.row-A)*this.lineHeight*this.heightRatio);c.fillStyle="rgba(0, 0, 0, 0.5)",c.fillRect(0,_,this.canvasWidth,2)}},g.prototype.compensateFoldRows=function(s,a){var h=0;if(a&&a.length>0)for(var c=0;c<a.length;c++)s>a[c].start.row&&s<a[c].end.row?h+=s-a[c].start.row:s>=a[c].end.row&&(h+=a[c].end.row-a[c].start.row);return h},g}();p.implement(f.prototype,w),r.Decorator=f}),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(n,r,u){var d=n("./lib/oop"),p=n("./lib/dom"),w=n("./lib/lang"),f=n("./config"),g=n("./layer/gutter").Gutter,s=n("./layer/marker").Marker,a=n("./layer/text").Text,h=n("./layer/cursor").Cursor,c=n("./scrollbar").HScrollBar,i=n("./scrollbar").VScrollBar,l=n("./scrollbar_custom").HScrollBar,m=n("./scrollbar_custom").VScrollBar,b=n("./renderloop").RenderLoop,x=n("./layer/font_metrics").FontMetrics,M=n("./lib/event_emitter").EventEmitter,A=n("./css/editor-css"),_=n("./layer/decorators").Decorator,k=n("./lib/useragent"),E=n("./layer/text_util").isTextToken;p.importCssString(A,"ace_editor.css",!1);var O=function(){function F(L,H){var P=this;this.container=L||p.createElement("div"),p.addCssClass(this.container,"ace_editor"),p.HI_DPI&&p.addCssClass(this.container,"ace_hidpi"),this.setTheme(H),f.get("useStrictCSP")==null&&f.set("useStrictCSP",!1),this.$gutter=p.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=p.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=p.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new g(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new s(this.content);var I=this.$textLayer=new a(this.content);this.canvas=I.element,this.$markerFront=new s(this.content),this.$cursorLayer=new h(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new i(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.on("scroll",function(T){P.$scrollAnimation||P.session.setScrollTop(T.data-P.scrollMargin.top)}),this.scrollBarH.on("scroll",function(T){P.$scrollAnimation||P.session.setScrollLeft(T.data-P.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new x(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(T){P.updateCharacterSize(),P.onResize(!0,P.gutterWidth,P.$size.width,P.$size.height),P._signal("changeCharacterSize",T)}),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=!k.isIOS,this.$loop=new b(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),f.resetOptions(this),f._signal("renderer",this)}return F.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(),p.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},F.prototype.setSession=function(L){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=L,L&&this.scrollMargin.top&&L.getScrollTop()<=0&&L.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(L),this.$markerBack.setSession(L),this.$markerFront.setSession(L),this.$gutterLayer.setSession(L),this.$textLayer.setSession(L),L&&(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))},F.prototype.updateLines=function(L,H,P){if(H===void 0&&(H=1/0),this.$changedLines?(this.$changedLines.firstRow>L&&(this.$changedLines.firstRow=L),this.$changedLines.lastRow<H&&(this.$changedLines.lastRow=H)):this.$changedLines={firstRow:L,lastRow:H},this.$changedLines.lastRow<this.layerConfig.firstRow)if(P)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},F.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},F.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},F.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},F.prototype.updateFull=function(L){L?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},F.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},F.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},F.prototype.onResize=function(L,H,P,I){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=L?1:0;var T=this.container;I||(I=T.clientHeight||T.scrollHeight),!I&&this.$maxLines&&this.lineHeight>1&&(!T.style.height||T.style.height=="0px")&&(T.style.height="1px",I=T.clientHeight||T.scrollHeight),P||(P=T.clientWidth||T.scrollWidth);var C=this.$updateCachedSize(L,H,P,I);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!P&&!I)return this.resizing=0;L&&(this.$gutterLayer.$padding=null),L?this.$renderChanges(C|this.$changes,!0):this.$loop.schedule(C|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},F.prototype.$updateCachedSize=function(L,H,P,I){I-=this.$extraHeight||0;var T=0,C=this.$size,N={width:C.width,height:C.height,scrollerHeight:C.scrollerHeight,scrollerWidth:C.scrollerWidth};if(I&&(L||C.height!=I)&&(C.height=I,T|=this.CHANGE_SIZE,C.scrollerHeight=C.height,this.$horizScroll&&(C.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(C.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",T=T|this.CHANGE_SCROLL),P&&(L||C.width!=P)){T|=this.CHANGE_SIZE,C.width=P,H==null&&(H=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=H,p.setStyle(this.scrollBarH.element.style,"left",H+"px"),p.setStyle(this.scroller.style,"left",H+this.margin.left+"px"),C.scrollerWidth=Math.max(0,P-H-this.scrollBarV.getWidth()-this.margin.h),p.setStyle(this.$gutter.style,"left",this.margin.left+"px");var j=this.scrollBarV.getWidth()+"px";p.setStyle(this.scrollBarH.element.style,"right",j),p.setStyle(this.scroller.style,"right",j),p.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(C.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||L)&&(T|=this.CHANGE_FULL)}return C.$dirty=!P||!I,T&&this._signal("resize",N),T},F.prototype.onGutterResize=function(L){var H=this.$showGutter?L:0;H!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,H,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()},F.prototype.adjustWrapLimit=function(){var L=this.$size.scrollerWidth-this.$padding*2,H=Math.floor(L/this.characterWidth);return this.session.adjustWrapLimit(H,this.$showPrintMargin&&this.$printMarginColumn)},F.prototype.setAnimatedScroll=function(L){this.setOption("animatedScroll",L)},F.prototype.getAnimatedScroll=function(){return this.$animatedScroll},F.prototype.setShowInvisibles=function(L){this.setOption("showInvisibles",L),this.session.$bidiHandler.setShowInvisibles(L)},F.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},F.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},F.prototype.setDisplayIndentGuides=function(L){this.setOption("displayIndentGuides",L)},F.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},F.prototype.setHighlightIndentGuides=function(L){this.setOption("highlightIndentGuides",L)},F.prototype.setShowPrintMargin=function(L){this.setOption("showPrintMargin",L)},F.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},F.prototype.setPrintMarginColumn=function(L){this.setOption("printMarginColumn",L)},F.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},F.prototype.getShowGutter=function(){return this.getOption("showGutter")},F.prototype.setShowGutter=function(L){return this.setOption("showGutter",L)},F.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},F.prototype.setFadeFoldWidgets=function(L){this.setOption("fadeFoldWidgets",L)},F.prototype.setHighlightGutterLine=function(L){this.setOption("highlightGutterLine",L)},F.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},F.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var L=p.createElement("div");L.className="ace_layer ace_print-margin-layer",this.$printMarginEl=p.createElement("div"),this.$printMarginEl.className="ace_print-margin",L.appendChild(this.$printMarginEl),this.content.insertBefore(L,this.content.firstChild)}var H=this.$printMarginEl.style;H.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",H.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},F.prototype.getContainerElement=function(){return this.container},F.prototype.getMouseEventTarget=function(){return this.scroller},F.prototype.getTextAreaContainer=function(){return this.container},F.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var L=this.textarea.style,H=this.$composition;if(!this.$keepTextAreaAtCursor&&!H){p.translate(this.textarea,-100,0);return}var P=this.$cursorLayer.$pixelPos;if(P){H&&H.markerRange&&(P=this.$cursorLayer.getPixelPosition(H.markerRange.start,!0));var I=this.layerConfig,T=P.top,C=P.left;T-=I.offset;var N=H&&H.useTextareaForIME||k.isMobile?this.lineHeight:1;if(T<0||T>I.height-N){p.translate(this.textarea,0,0);return}var j=1,U=this.$size.height-N;if(!H)T+=this.lineHeight;else if(H.useTextareaForIME){var K=this.textarea.value;j=this.characterWidth*this.session.$getStringScreenWidth(K)[0]}else T+=this.lineHeight+2;C-=this.scrollLeft,C>this.$size.scrollerWidth-j&&(C=this.$size.scrollerWidth-j),C+=this.gutterWidth+this.margin.left,p.setStyle(L,"height",N+"px"),p.setStyle(L,"width",j+"px"),p.translate(this.textarea,Math.min(C,this.$size.scrollerWidth-j),Math.min(T,U))}}},F.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},F.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},F.prototype.getLastFullyVisibleRow=function(){var L=this.layerConfig,H=L.lastRow,P=this.session.documentToScreenRow(H,0)*L.lineHeight;return P-this.session.getScrollTop()>L.height-L.lineHeight?H-1:H},F.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},F.prototype.setPadding=function(L){this.$padding=L,this.$textLayer.setPadding(L),this.$cursorLayer.setPadding(L),this.$markerFront.setPadding(L),this.$markerBack.setPadding(L),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},F.prototype.setScrollMargin=function(L,H,P,I){var T=this.scrollMargin;T.top=L|0,T.bottom=H|0,T.right=I|0,T.left=P|0,T.v=T.top+T.bottom,T.h=T.left+T.right,T.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-T.top),this.updateFull()},F.prototype.setMargin=function(L,H,P,I){var T=this.margin;T.top=L|0,T.bottom=H|0,T.right=I|0,T.left=P|0,T.v=T.top+T.bottom,T.h=T.left+T.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},F.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},F.prototype.setHScrollBarAlwaysVisible=function(L){this.setOption("hScrollBarAlwaysVisible",L)},F.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},F.prototype.setVScrollBarAlwaysVisible=function(L){this.setOption("vScrollBarAlwaysVisible",L)},F.prototype.$updateScrollBarV=function(){var L=this.layerConfig.maxHeight,H=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(L-=(H-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>L-H&&(L=this.scrollTop+H,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(L+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},F.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},F.prototype.freeze=function(){this.$frozen=!0},F.prototype.unfreeze=function(){this.$frozen=!1},F.prototype.$renderChanges=function(L,H){if(this.$changes&&(L|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!L&&!H){this.$changes|=L;return}if(this.$size.$dirty)return this.$changes|=L,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",L),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var P=this.layerConfig;if(L&this.CHANGE_FULL||L&this.CHANGE_SIZE||L&this.CHANGE_TEXT||L&this.CHANGE_LINES||L&this.CHANGE_SCROLL||L&this.CHANGE_H_SCROLL){if(L|=this.$computeLayerConfig()|this.$loop.clear(),P.firstRow!=this.layerConfig.firstRow&&P.firstRowScreen==this.layerConfig.firstRowScreen){var I=this.scrollTop+(P.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;I>0&&(this.scrollTop=I,L=L|this.CHANGE_SCROLL,L|=this.$computeLayerConfig()|this.$loop.clear())}P=this.layerConfig,this.$updateScrollBarV(),L&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),p.translate(this.content,-this.scrollLeft,-P.offset);var T=P.width+2*this.$padding+"px",C=P.minHeight+"px";p.setStyle(this.content.style,"width",T),p.setStyle(this.content.style,"height",C)}if(L&this.CHANGE_H_SCROLL&&(p.translate(this.content,-this.scrollLeft,-P.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),L&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(P),this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P),this.$markerBack.update(P),this.$markerFront.update(P),this.$cursorLayer.update(P),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}if(L&this.CHANGE_SCROLL){this.$changedLines=null,L&this.CHANGE_TEXT||L&this.CHANGE_LINES?this.$textLayer.update(P):this.$textLayer.scrollLines(P),this.$showGutter&&(L&this.CHANGE_GUTTER||L&this.CHANGE_LINES?this.$gutterLayer.update(P):this.$gutterLayer.scrollLines(P)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P),this.$markerBack.update(P),this.$markerFront.update(P),this.$cursorLayer.update(P),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}L&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(P),this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):L&this.CHANGE_LINES?((this.$updateLines()||L&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):L&this.CHANGE_TEXT||L&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):L&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)),L&this.CHANGE_CURSOR&&(this.$cursorLayer.update(P),this.$moveTextAreaToCursor()),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(P),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(P),this._signal("afterRender",L)},F.prototype.$autosize=function(){var L=this.session.getScreenLength()*this.lineHeight,H=this.$maxLines*this.lineHeight,P=Math.min(H,Math.max((this.$minLines||1)*this.lineHeight,L))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(P+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&P>this.$maxPixelHeight&&(P=this.$maxPixelHeight);var I=P<=2*this.lineHeight,T=!I&&L>H;if(P!=this.desiredHeight||this.$size.height!=this.desiredHeight||T!=this.$vScroll){T!=this.$vScroll&&(this.$vScroll=T,this.scrollBarV.setVisible(T));var C=this.container.clientWidth;this.container.style.height=P+"px",this.$updateCachedSize(!0,this.$gutterWidth,C,P),this.desiredHeight=P,this._signal("autosize")}},F.prototype.$computeLayerConfig=function(){var L=this.session,H=this.$size,P=H.height<=2*this.lineHeight,I=this.session.getScreenLength(),T=I*this.lineHeight,C=this.$getLongestLine(),N=!P&&(this.$hScrollBarAlwaysVisible||H.scrollerWidth-C-2*this.$padding<0),j=this.$horizScroll!==N;j&&(this.$horizScroll=N,this.scrollBarH.setVisible(N));var U=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),P=H.height<=2*this.lineHeight);var K=H.scrollerHeight+this.lineHeight,Z=!this.$maxLines&&this.$scrollPastEnd?(H.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;T+=Z;var te=this.scrollMargin;this.session.setScrollTop(Math.max(-te.top,Math.min(this.scrollTop,T-H.scrollerHeight+te.bottom))),this.session.setScrollLeft(Math.max(-te.left,Math.min(this.scrollLeft,C+2*this.$padding-H.scrollerWidth+te.right)));var he=!P&&(this.$vScrollBarAlwaysVisible||H.scrollerHeight-T+Z<0||this.scrollTop>te.top),ne=U!==he;ne&&(this.$vScroll=he,this.scrollBarV.setVisible(he));var ae=this.scrollTop%this.lineHeight,ce=Math.ceil(K/this.lineHeight)-1,ue=Math.max(0,Math.round((this.scrollTop-ae)/this.lineHeight)),ve=ue+ce,Ce,Ee,Le=this.lineHeight;ue=L.screenToDocumentRow(ue,0);var Xe=L.getFoldLine(ue);Xe&&(ue=Xe.start.row),Ce=L.documentToScreenRow(ue,0),Ee=L.getRowLength(ue)*Le,ve=Math.min(L.screenToDocumentRow(ve,0),L.getLength()-1),K=H.scrollerHeight+L.getRowLength(ve)*Le+Ee,ae=this.scrollTop-Ce*Le;var Ge=0;return(this.layerConfig.width!=C||j)&&(Ge=this.CHANGE_H_SCROLL),(j||ne)&&(Ge|=this.$updateCachedSize(!0,this.gutterWidth,H.width,H.height),this._signal("scrollbarVisibilityChanged"),ne&&(C=this.$getLongestLine())),this.layerConfig={width:C,padding:this.$padding,firstRow:ue,firstRowScreen:Ce,lastRow:ve,lineHeight:Le,characterWidth:this.characterWidth,minHeight:K,maxHeight:T,offset:ae,gutterOffset:Le?Math.max(0,Math.ceil((ae+H.height-H.scrollerHeight)/Le)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(C-this.$padding),Ge},F.prototype.$updateLines=function(){if(this.$changedLines){var L=this.$changedLines.firstRow,H=this.$changedLines.lastRow;this.$changedLines=null;var P=this.layerConfig;if(!(L>P.lastRow+1)&&!(H<P.firstRow)){if(H===1/0){this.$showGutter&&this.$gutterLayer.update(P),this.$textLayer.update(P);return}return this.$textLayer.updateLines(P,L,H),!0}}},F.prototype.$getLongestLine=function(){var L=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(L+=1),this.$textLayer&&L>this.$textLayer.MAX_LINE_LENGTH&&(L=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(L*this.characterWidth))},F.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},F.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},F.prototype.addGutterDecoration=function(L,H){this.$gutterLayer.addGutterDecoration(L,H)},F.prototype.removeGutterDecoration=function(L,H){this.$gutterLayer.removeGutterDecoration(L,H)},F.prototype.updateBreakpoints=function(L){this._rows=L,this.$loop.schedule(this.CHANGE_GUTTER)},F.prototype.setAnnotations=function(L){this.$gutterLayer.setAnnotations(L),this.$loop.schedule(this.CHANGE_GUTTER)},F.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},F.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},F.prototype.showCursor=function(){this.$cursorLayer.showCursor()},F.prototype.scrollSelectionIntoView=function(L,H,P){this.scrollCursorIntoView(L,P),this.scrollCursorIntoView(H,P)},F.prototype.scrollCursorIntoView=function(L,H,P){if(this.$size.scrollerHeight!==0){var I=this.$cursorLayer.getPixelPosition(L),T=I.left,C=I.top,N=P&&P.top||0,j=P&&P.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var U=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;U+N>C?(H&&U+N>C+this.lineHeight&&(C-=H*this.$size.scrollerHeight),C===0&&(C=-this.scrollMargin.top),this.session.setScrollTop(C)):U+this.$size.scrollerHeight-j<C+this.lineHeight&&(H&&U+this.$size.scrollerHeight-j<C-this.lineHeight&&(C+=H*this.$size.scrollerHeight),this.session.setScrollTop(C+this.lineHeight+j-this.$size.scrollerHeight));var K=this.scrollLeft,Z=2*this.layerConfig.characterWidth;T-Z<K?(T-=Z,T<this.$padding+Z&&(T=-this.scrollMargin.left),this.session.setScrollLeft(T)):(T+=Z,K+this.$size.scrollerWidth<T+this.characterWidth?this.session.setScrollLeft(Math.round(T+this.characterWidth-this.$size.scrollerWidth)):K<=this.$padding&&T-K<this.characterWidth&&this.session.setScrollLeft(0))}},F.prototype.getScrollTop=function(){return this.session.getScrollTop()},F.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},F.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},F.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},F.prototype.scrollToRow=function(L){this.session.setScrollTop(L*this.lineHeight)},F.prototype.alignCursor=function(L,H){typeof L=="number"&&(L={row:L,column:0});var P=this.$cursorLayer.getPixelPosition(L),I=this.$size.scrollerHeight-this.lineHeight,T=P.top-I*(H||0);return this.session.setScrollTop(T),T},F.prototype.$calcSteps=function(L,H){var P=0,I=this.STEPS,T=[],C=function(N,j,U){return U*(Math.pow(N-1,3)+1)+j};for(P=0;P<I;++P)T.push(C(P/this.STEPS,L,H-L));return T},F.prototype.scrollToLine=function(L,H,P,I){var T=this.$cursorLayer.getPixelPosition({row:L,column:0}),C=T.top;H&&(C-=this.$size.scrollerHeight/2);var N=this.scrollTop;this.session.setScrollTop(C),P!==!1&&this.animateScrolling(N,I)},F.prototype.animateScrolling=function(L,H){var P=this.scrollTop;if(!this.$animatedScroll)return;var I=this;if(L==P)return;if(this.$scrollAnimation){var T=this.$scrollAnimation.steps;if(T.length&&(L=T[0],L==P))return}var C=I.$calcSteps(L,P);this.$scrollAnimation={from:L,to:P,steps:C},clearInterval(this.$timer),I.session.setScrollTop(C.shift()),I.session.$scrollTop=P;function N(){I.$timer=clearInterval(I.$timer),I.$scrollAnimation=null,I.$stopAnimation=!1,H&&H()}this.$timer=setInterval(function(){if(I.$stopAnimation){N();return}if(!I.session)return clearInterval(I.$timer);C.length?(I.session.setScrollTop(C.shift()),I.session.$scrollTop=P):P!=null?(I.session.$scrollTop=-1,I.session.setScrollTop(P),P=null):N()},10)},F.prototype.scrollToY=function(L){this.scrollTop!==L&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=L)},F.prototype.scrollToX=function(L){this.scrollLeft!==L&&(this.scrollLeft=L),this.$loop.schedule(this.CHANGE_H_SCROLL)},F.prototype.scrollTo=function(L,H){this.session.setScrollTop(H),this.session.setScrollLeft(L)},F.prototype.scrollBy=function(L,H){H&&this.session.setScrollTop(this.session.getScrollTop()+H),L&&this.session.setScrollLeft(this.session.getScrollLeft()+L)},F.prototype.isScrollableBy=function(L,H){if(H<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||H>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||L<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||L>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},F.prototype.pixelToScreenCoordinates=function(L,H){var P;if(this.$hasCssTransforms){P={top:0,left:0};var I=this.$fontMetrics.transformCoordinates([L,H]);L=I[1]-this.gutterWidth-this.margin.left,H=I[0]}else P=this.scroller.getBoundingClientRect();var T=L+this.scrollLeft-P.left-this.$padding,C=T/this.characterWidth,N=Math.floor((H+this.scrollTop-P.top)/this.lineHeight),j=this.$blockCursor?Math.floor(C):Math.round(C);return{row:N,column:j,side:C-j>0?1:-1,offsetX:T}},F.prototype.screenToTextCoordinates=function(L,H){var P;if(this.$hasCssTransforms){P={top:0,left:0};var I=this.$fontMetrics.transformCoordinates([L,H]);L=I[1]-this.gutterWidth-this.margin.left,H=I[0]}else P=this.scroller.getBoundingClientRect();var T=L+this.scrollLeft-P.left-this.$padding,C=T/this.characterWidth,N=this.$blockCursor?Math.floor(C):Math.round(C),j=Math.floor((H+this.scrollTop-P.top)/this.lineHeight);return this.session.screenToDocumentPosition(j,Math.max(N,0),T)},F.prototype.textToScreenCoordinates=function(L,H){var P=this.scroller.getBoundingClientRect(),I=this.session.documentToScreenPosition(L,H),T=this.$padding+(this.session.$bidiHandler.isBidiRow(I.row,L)?this.session.$bidiHandler.getPosLeft(I.column):Math.round(I.column*this.characterWidth)),C=I.row*this.lineHeight;return{pageX:P.left+T-this.scrollLeft,pageY:P.top+C-this.scrollTop}},F.prototype.visualizeFocus=function(){p.addCssClass(this.container,"ace_focus")},F.prototype.visualizeBlur=function(){p.removeCssClass(this.container,"ace_focus")},F.prototype.showComposition=function(L){this.$composition=L,L.cssText||(L.cssText=this.textarea.style.cssText),L.useTextareaForIME==null&&(L.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(p.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):L.markerId=this.session.addMarker(L.markerRange,"ace_composition_marker","text")},F.prototype.setCompositionText=function(L){var H=this.session.selection.cursor;this.addToken(L,"composition_placeholder",H.row,H.column),this.$moveTextAreaToCursor()},F.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),p.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var L=this.session.selection.cursor;this.removeExtraToken(L.row,L.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},F.prototype.setGhostText=function(L,H){var P=this.session.selection.cursor,I=H||{row:P.row,column:P.column};this.removeGhostText();var T=this.$calculateWrappedTextChunks(L,I);this.addToken(T[0].text,"ghost_text",I.row,I.column),this.$ghostText={text:L,position:{row:I.row,column:I.column}};var C=p.createElement("div");if(T.length>1){var N=this.hideTokensAfterPosition(I.row,I.column),j;T.slice(1).forEach(function(ne){var ae=p.createElement("div"),ce=p.createElement("span");ce.className="ace_ghost_text",ne.wrapped&&(ae.className="ghost_text_line_wrapped"),ne.text.length===0&&(ne.text=" "),ce.appendChild(p.createTextNode(ne.text)),ae.appendChild(ce),C.appendChild(ae),j=ae}),N.forEach(function(ne){var ae=p.createElement("span");E(ne.type)||(ae.className="ace_"+ne.type.replace(/\./g," ace_")),ae.appendChild(p.createTextNode(ne.value)),j.appendChild(ae)}),this.$ghostTextWidget={el:C,row:I.row,column:I.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var U=this.$cursorLayer.getPixelPosition(I,!0),K=this.container,Z=K.getBoundingClientRect().height,te=T.length*this.lineHeight,he=te<Z-U.top;if(he)return;te<Z?this.scrollBy(0,(T.length-1)*this.lineHeight):this.scrollToRow(I.row)}},F.prototype.$calculateWrappedTextChunks=function(L,H){var P=this.$size.scrollerWidth-this.$padding*2,I=Math.floor(P/this.characterWidth)-2;I=I<=0?60:I;for(var T=L.split(/\r?\n/),C=[],N=0;N<T.length;N++){var j=this.session.$getDisplayTokens(T[N],H.column),U=this.session.$computeWrapSplits(j,I,this.session.$tabSize);if(U.length>0){var K=0;U.push(T[N].length);for(var Z=0;Z<U.length;Z++){var te=T[N].slice(K,U[Z]);C.push({text:te,wrapped:!0}),K=U[Z]}}else C.push({text:T[N],wrapped:!1})}return C},F.prototype.removeGhostText=function(){if(this.$ghostText){var L=this.$ghostText.position;this.removeExtraToken(L.row,L.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},F.prototype.addToken=function(L,H,P,I){var T=this.session;T.bgTokenizer.lines[P]=null;var C={type:H,value:L},N=T.getTokens(P);if(I==null||!N.length)N.push(C);else for(var j=0,U=0;U<N.length;U++){var K=N[U];if(j+=K.value.length,I<=j){var Z=K.value.length-(j-I),te=K.value.slice(0,Z),he=K.value.slice(Z);N.splice(U,1,{type:K.type,value:te},C,{type:K.type,value:he});break}}this.updateLines(P,P)},F.prototype.hideTokensAfterPosition=function(L,H){for(var P=this.session.getTokens(L),I=0,T=!1,C=[],N=0;N<P.length;N++){var j=P[N];if(I+=j.value.length,j.type!=="ghost_text"){if(T){C.push({type:j.type,value:j.value}),j.type="hidden_token";continue}I===H&&(T=!0)}}return this.updateLines(L,L),C},F.prototype.removeExtraToken=function(L,H){this.session.bgTokenizer.lines[L]=null,this.updateLines(L,L)},F.prototype.setTheme=function(L,H){var P=this;if(this.$themeId=L,P._dispatchEvent("themeChange",{theme:L}),!L||typeof L=="string"){var I=L||this.$options.theme.initialValue;f.loadModule(["theme",I],T)}else T(L);function T(C){if(P.$themeId!=L)return H&&H();if(!C||!C.cssClass)throw new Error("couldn't load module "+L+" or it didn't call define");C.$id&&(P.$themeId=C.$id),p.importCssString(C.cssText,C.cssClass,P.container),P.theme&&p.removeCssClass(P.container,P.theme.cssClass);var N="padding"in C?C.padding:"padding"in(P.theme||{})?4:P.$padding;P.$padding&&N!=P.$padding&&P.setPadding(N),P.$theme=C.cssClass,P.theme=C,p.addCssClass(P.container,C.cssClass),p.setCssClass(P.container,"ace_dark",C.isDark),P.$size&&(P.$size.width=0,P.$updateSizeAsync()),P._dispatchEvent("themeLoaded",{theme:C}),H&&H(),k.isSafari&&P.scroller&&(P.scroller.style.background="red",P.scroller.style.background="")}},F.prototype.getTheme=function(){return this.$themeId},F.prototype.setStyle=function(L,H){p.setCssClass(this.container,L,H!==!1)},F.prototype.unsetStyle=function(L){p.removeCssClass(this.container,L)},F.prototype.setCursorStyle=function(L){p.setStyle(this.scroller.style,"cursor",L)},F.prototype.setMouseCursor=function(L){p.setStyle(this.scroller.style,"cursor",L)},F.prototype.attachToShadowRoot=function(){p.importCssString(A,"ace_editor.css",this.container)},F.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},F.prototype.$updateCustomScrollbar=function(L){var H=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,L===!0?(this.scrollBarV=new m(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(P){H.$scrollAnimation||H.session.setScrollTop(P.data-H.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(P){H.$scrollAnimation||H.session.setScrollLeft(P.data-H.scrollMargin.left)}),this.$scrollDecorator=new _(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new i(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(P){H.$scrollAnimation||H.session.setScrollTop(P.data-H.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(P){H.$scrollAnimation||H.session.setScrollLeft(P.data-H.scrollMargin.left)}))},F.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var L=this;this.$resizeTimer=w.delayedCall(function(){L.destroyed||L.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(H){var P=H[0].contentRect.width,I=H[0].contentRect.height;Math.abs(L.$size.width-P)>1||Math.abs(L.$size.height-I)>1?L.$resizeTimer.delay():L.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},F}();O.prototype.CHANGE_CURSOR=1,O.prototype.CHANGE_MARKER=2,O.prototype.CHANGE_GUTTER=4,O.prototype.CHANGE_SCROLL=8,O.prototype.CHANGE_LINES=16,O.prototype.CHANGE_TEXT=32,O.prototype.CHANGE_SIZE=64,O.prototype.CHANGE_MARKER_BACK=128,O.prototype.CHANGE_MARKER_FRONT=256,O.prototype.CHANGE_FULL=512,O.prototype.CHANGE_H_SCROLL=1024,O.prototype.$changes=0,O.prototype.$padding=null,O.prototype.$frozen=!1,O.prototype.STEPS=8,d.implement(O.prototype,M),f.defineOptions(O.prototype,"renderer",{useResizeObserver:{set:function(F){!F&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):F&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(F){this.$textLayer.setShowInvisibles(F)&&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(F){typeof F=="number"&&(this.$printMarginColumn=F),this.$showPrintMargin=!!F,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(F){this.$gutter.style.display=F?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(F){this.$gutterLayer.$useSvgGutterIcons=F},initialValue:!1},showFoldedAnnotations:{set:function(F){this.$gutterLayer.$showFoldedAnnotations=F},initialValue:!1},fadeFoldWidgets:{set:function(F){p.setCssClass(this.$gutter,"ace_fade-fold-widgets",F)},initialValue:!1},showFoldWidgets:{set:function(F){this.$gutterLayer.setShowFoldWidgets(F),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(F){this.$textLayer.setDisplayIndentGuides(F)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(F){this.$textLayer.setHighlightIndentGuides(F)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(F){this.$gutterLayer.setHighlightGutterLine(F),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(F){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(F){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(F){typeof F=="number"&&(F=F+"px"),this.container.style.fontSize=F,this.updateFontSize()},initialValue:12},fontFamily:{set:function(F){this.container.style.fontFamily=F,this.updateFontSize()}},maxLines:{set:function(F){this.updateFull()}},minLines:{set:function(F){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(F){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(F){F=+F||0,this.$scrollPastEnd!=F&&(this.$scrollPastEnd=F,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(F){this.$gutterLayer.$fixedWidth=!!F,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(F){this.$updateCustomScrollbar(F)},initialValue:!1},theme:{set:function(F){this.setTheme(F)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!k.isMobile&&!k.isIE}}),r.VirtualRenderer=O}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(n,r,u){var d=n("../lib/oop"),p=n("../lib/net"),w=n("../lib/event_emitter").EventEmitter,f=n("../config");function g(c){var i="importScripts('"+p.qualifyURL(c)+"');";try{return new Blob([i],{type:"application/javascript"})}catch{var l=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,m=new l;return m.append(i),m.getBlob("application/javascript")}}function s(c){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(f.get("loadWorkerFromBlob")){var i=g(c),l=window.URL||window.webkitURL,m=l.createObjectURL(i);return new Worker(m)}return new Worker(c)}var a=function(c){c.postMessage||(c=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=c,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(){d.implement(this,w),this.$createWorkerFromOldConfig=function(c,i,l,m,b){if(n.nameToUrl&&!n.toUrl&&(n.toUrl=n.nameToUrl),f.get("packaged")||!n.toUrl)m=m||f.moduleUrl(i,"worker");else{var x=this.$normalizePath;m=m||x(n.toUrl("ace/worker/worker.js",null,"_"));var M={};c.forEach(function(A){M[A]=x(n.toUrl(A,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=s(m),b&&this.send("importScripts",b),this.$worker.postMessage({init:!0,tlns:M,module:i,classname:l}),this.$worker},this.onMessage=function(c){var i=c.data;switch(i.type){case"event":this._signal(i.name,{data:i.data});break;case"call":var l=this.callbacks[i.id];l&&(l(i.data),delete this.callbacks[i.id]);break;case"error":this.reportError(i.data);break;case"log":window.console&&console.log&&console.log.apply(console,i.data);break}},this.reportError=function(c){window.console&&console.error&&console.error(c)},this.$normalizePath=function(c){return p.qualifyURL(c)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(c){c.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(c,i){this.$worker.postMessage({command:c,args:i})},this.call=function(c,i,l){if(l){var m=this.callbackId++;this.callbacks[m]=l,i.push(m)}this.send(c,i)},this.emit=function(c,i){try{i.data&&i.data.err&&(i.data.err={message:i.data.err.message,stack:i.data.err.stack,code:i.data.err.code}),this.$worker&&this.$worker.postMessage({event:c,data:{data:i.data}})}catch(l){console.error(l.stack)}},this.attachToDocument=function(c){this.$doc&&this.terminate(),this.$doc=c,this.call("setValue",[c.getValue()]),c.on("change",this.changeListener,!0)},this.changeListener=function(c){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),c.action=="insert"?this.deltaQueue.push(c.start,c.lines):this.deltaQueue.push(c.start,c.end)},this.$sendDeltaQueue=function(){var c=this.deltaQueue;c&&(this.deltaQueue=null,c.length>50&&c.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:c}))}}).call(a.prototype);var h=function(c,i,l){var m=null,b=!1,x=Object.create(w),M=[],A=new a({messageBuffer:M,terminate:function(){},postMessage:function(k){M.push(k),m&&(b?setTimeout(_):_())}});A.setEmitSync=function(k){b=k};var _=function(){var k=M.shift();k.command?m[k.command].apply(m,k.args):k.event&&x._signal(k.event,k.data)};return x.postMessage=function(k){A.onMessage({data:k})},x.callback=function(k,E){this.postMessage({type:"call",id:E,data:k})},x.emit=function(k,E){this.postMessage({type:"event",name:k,data:E})},f.loadModule(["worker",i],function(k){for(m=new k[l](x);M.length;)_()}),A};r.UIWorkerClient=h,r.WorkerClient=a,r.createWorker=s}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(n,r,u){var d=n("./range").Range,p=n("./lib/event_emitter").EventEmitter,w=n("./lib/oop"),f=function(){function g(s,a,h,c,i,l){var m=this;this.length=a,this.session=s,this.doc=s.getDocument(),this.mainClass=i,this.othersClass=l,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=c,this.$onCursorChange=function(){setTimeout(function(){m.onCursorChange()})},this.$pos=h;var b=s.getUndoManager().$undoStack||s.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=b.length,this.setup(),s.selection.on("changeCursor",this.$onCursorChange)}return g.prototype.setup=function(){var s=this,a=this.doc,h=this.session;this.selectionBefore=h.selection.toJSON(),h.selection.inMultiSelectMode&&h.selection.toSingleRange(),this.pos=a.createAnchor(this.$pos.row,this.$pos.column);var c=this.pos;c.$insertRight=!0,c.detach(),c.markerId=h.addMarker(new d(c.row,c.column,c.row,c.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(i){var l=a.createAnchor(i.row,i.column);l.$insertRight=!0,l.detach(),s.others.push(l)}),h.setUndoSelect(!1)},g.prototype.showOtherMarkers=function(){if(!this.othersActive){var s=this.session,a=this;this.othersActive=!0,this.others.forEach(function(h){h.markerId=s.addMarker(new d(h.row,h.column,h.row,h.column+a.length),a.othersClass,null,!1)})}},g.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var s=0;s<this.others.length;s++)this.session.removeMarker(this.others[s].markerId)}},g.prototype.onUpdate=function(s){if(this.$updating)return this.updateAnchors(s);var a=s;if(a.start.row===a.end.row&&a.start.row===this.pos.row){this.$updating=!0;var h=s.action==="insert"?a.end.column-a.start.column:a.start.column-a.end.column,c=a.start.column>=this.pos.column&&a.start.column<=this.pos.column+this.length+1,i=a.start.column-this.pos.column;if(this.updateAnchors(s),c&&(this.length+=h),c&&!this.session.$fromUndo){if(s.action==="insert")for(var l=this.others.length-1;l>=0;l--){var m=this.others[l],b={row:m.row,column:m.column+i};this.doc.insertMergedLines(b,s.lines)}else if(s.action==="remove")for(var l=this.others.length-1;l>=0;l--){var m=this.others[l],b={row:m.row,column:m.column+i};this.doc.remove(new d(b.row,b.column,b.row,b.column-h))}}this.$updating=!1,this.updateMarkers()}},g.prototype.updateAnchors=function(s){this.pos.onChange(s);for(var a=this.others.length;a--;)this.others[a].onChange(s);this.updateMarkers()},g.prototype.updateMarkers=function(){if(!this.$updating){var s=this,a=this.session,h=function(i,l){a.removeMarker(i.markerId),i.markerId=a.addMarker(new d(i.row,i.column,i.row,i.column+s.length),l,null,!1)};h(this.pos,this.mainClass);for(var c=this.others.length;c--;)h(this.others[c],this.othersClass)}},g.prototype.onCursorChange=function(s){if(!(this.$updating||!this.session)){var a=this.session.selection.getCursor();a.row===this.pos.row&&a.column>=this.pos.column&&a.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",s)):(this.hideOtherMarkers(),this._emit("cursorLeave",s))}},g.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},g.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var s=this.session.getUndoManager(),a=(s.$undoStack||s.$undostack).length-this.$undoStackDepth,h=0;h<a;h++)s.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},g}();w.implement(f.prototype,p),r.PlaceHolder=f}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(n,r,u){var d=n("../lib/event"),p=n("../lib/useragent");function w(g,s){return g.row==s.row&&g.column==s.column}function f(g){var s=g.domEvent,a=s.altKey,h=s.shiftKey,c=s.ctrlKey,i=g.getAccelKey(),l=g.getButton();if(c&&p.isMac&&(l=s.button),g.editor.inMultiSelectMode&&l==2){g.editor.textInput.onContextMenu(g.domEvent);return}if(!c&&!a&&!i){l===0&&g.editor.inMultiSelectMode&&g.editor.exitMultiSelectMode();return}if(l===0){var m=g.editor,b=m.selection,x=m.inMultiSelectMode,M=g.getDocumentPosition(),A=b.getCursor(),_=g.inSelection()||b.isEmpty()&&w(M,A),k=g.x,E=g.y,O=function(te){k=te.clientX,E=te.clientY},F=m.session,L=m.renderer.pixelToScreenCoordinates(k,E),H=L,P;if(m.$mouseHandler.$enableJumpToDef)c&&a||i&&a?P=h?"block":"add":a&&m.$blockSelectEnabled&&(P="block");else if(i&&!a){if(P="add",!x&&h)return}else a&&m.$blockSelectEnabled&&(P="block");if(P&&p.isMac&&s.ctrlKey&&m.$mouseHandler.cancelContextMenu(),P=="add"){if(!x&&_)return;if(!x){var I=b.toOrientedRange();m.addSelectionMarker(I)}var T=b.rangeList.rangeAtPoint(M);m.inVirtualSelectionMode=!0,h&&(T=null,I=b.ranges[0]||I,m.removeSelectionMarker(I)),m.once("mouseup",function(){var te=b.toOrientedRange();T&&te.isEmpty()&&w(T.cursor,te.cursor)?b.substractPoint(te.cursor):(h?b.substractPoint(I.cursor):I&&(m.removeSelectionMarker(I),b.addRange(I)),b.addRange(te)),m.inVirtualSelectionMode=!1})}else if(P=="block"){g.stop(),m.inVirtualSelectionMode=!0;var C,N=[],j=function(){var te=m.renderer.pixelToScreenCoordinates(k,E),he=F.screenToDocumentPosition(te.row,te.column,te.offsetX);w(H,te)&&w(he,b.lead)||(H=te,m.selection.moveToPosition(he),m.renderer.scrollCursorIntoView(),m.removeSelectionMarkers(N),N=b.rectangularRangeBlock(H,L),m.$mouseHandler.$clickSelection&&N.length==1&&N[0].isEmpty()&&(N[0]=m.$mouseHandler.$clickSelection.clone()),N.forEach(m.addSelectionMarker,m),m.updateSelectionMarkers())};x&&!i?b.toSingleRange():!x&&i&&(C=b.toOrientedRange(),m.addSelectionMarker(C)),h?L=F.documentToScreenPosition(b.lead):b.moveToPosition(M),H={row:-1,column:-1};var U=function(te){j(),clearInterval(Z),m.removeSelectionMarkers(N),N.length||(N=[b.toOrientedRange()]),C&&(m.removeSelectionMarker(C),b.toSingleRange(C));for(var he=0;he<N.length;he++)b.addRange(N[he]);m.inVirtualSelectionMode=!1,m.$mouseHandler.$clickSelection=null},K=j;d.capture(m.container,O,U);var Z=setInterval(function(){K()},20);return g.preventDefault()}}}r.onMouseDown=f}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(n,r,u){r.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(p){p.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(p){p.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(p){p.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(p){p.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(p){p.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(p){p.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(p){p.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(p){p.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(p){p.multiSelect.rangeCount>1?p.multiSelect.joinSelections():p.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(p){p.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(p){p.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(p){p.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],r.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(p){p.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(p){return p&&p.inMultiSelectMode}}];var d=n("../keyboard/hash_handler").HashHandler;r.keyboardHandler=new d(r.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(n,r,u){var d=n("./range_list").RangeList,p=n("./range").Range,w=n("./selection").Selection,f=n("./mouse/multi_select_handler").onMouseDown,g=n("./lib/event"),s=n("./lib/lang"),a=n("./commands/multi_select_commands");r.commands=a.defaultCommands.concat(a.multiSelectCommands);var h=n("./search").Search,c=new h;function i(A,_,k){return c.$options.wrap=!0,c.$options.needle=_,c.$options.backwards=k==-1,c.find(A)}var l=n("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(l.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(A,_){if(A){if(!this.inMultiSelectMode&&this.rangeCount===0){var k=this.toOrientedRange();if(this.rangeList.add(k),this.rangeList.add(A),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),_||this.fromOrientedRange(A);this.rangeList.removeAll(),this.rangeList.add(k),this.$onAddRange(k)}A.cursor||(A.cursor=A.end);var E=this.rangeList.add(A);return this.$onAddRange(A),E.length&&this.$onRemoveRange(E),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),_||this.fromOrientedRange(A)}},this.toSingleRange=function(A){A=A||this.ranges[0];var _=this.rangeList.removeAll();_.length&&this.$onRemoveRange(_),A&&this.fromOrientedRange(A)},this.substractPoint=function(A){var _=this.rangeList.substractPoint(A);if(_)return this.$onRemoveRange(_),_[0]},this.mergeOverlappingRanges=function(){var A=this.rangeList.merge();A.length&&this.$onRemoveRange(A)},this.$onAddRange=function(A){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(A),this._signal("addRange",{range:A})},this.$onRemoveRange=function(A){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var _=this.rangeList.ranges.pop();A.push(_),this.rangeCount=0}for(var k=A.length;k--;){var E=this.ranges.indexOf(A[k]);this.ranges.splice(E,1)}this._signal("removeRange",{ranges:A}),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 d,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var A=this.ranges.length?this.ranges:[this.getRange()],_=[],k=0;k<A.length;k++){var E=A[k],O=E.start.row,F=E.end.row;if(O===F)_.push(E.clone());else{for(_.push(new p(O,E.start.column,O,this.session.getLine(O).length));++O<F;)_.push(this.getLineRange(O,!0));_.push(new p(F,0,F,E.end.column))}k==0&&!this.isBackwards()&&(_=_.reverse())}this.toSingleRange();for(var k=_.length;k--;)this.addRange(_[k])},this.joinSelections=function(){var A=this.rangeList.ranges,_=A[A.length-1],k=p.fromPoints(A[0].start,_.end);this.toSingleRange(),this.setSelectionRange(k,_.cursor==_.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var A=this.rangeList.ranges,_=A[A.length-1],k=p.fromPoints(A[0].start,_.end);this.toSingleRange(),this.setSelectionRange(k,_.cursor==_.start)}else{var E=this.session.documentToScreenPosition(this.cursor),O=this.session.documentToScreenPosition(this.anchor),F=this.rectangularRangeBlock(E,O);F.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(A,_,k){var E=[],O=A.column<_.column;if(O)var F=A.column,L=_.column,H=A.offsetX,P=_.offsetX;else var F=_.column,L=A.column,H=_.offsetX,P=A.offsetX;var I=A.row<_.row;if(I)var T=A.row,C=_.row;else var T=_.row,C=A.row;F<0&&(F=0),T<0&&(T=0),T==C&&(k=!0);for(var N,j=T;j<=C;j++){var U=p.fromPoints(this.session.screenToDocumentPosition(j,F,H),this.session.screenToDocumentPosition(j,L,P));if(U.isEmpty()){if(N&&b(U.end,N))break;N=U.end}U.cursor=O?U.start:U.end,E.push(U)}if(I&&E.reverse(),!k){for(var K=E.length-1;E[K].isEmpty()&&K>0;)K--;if(K>0)for(var Z=0;E[Z].isEmpty();)Z++;for(var te=K;te>=Z;te--)E[te].isEmpty()&&E.splice(te,1)}return E}}).call(w.prototype);var m=n("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(A){A.cursor||(A.cursor=A.end);var _=this.getSelectionStyle();return A.marker=this.session.addMarker(A,"ace_selection",_),this.session.$selectionMarkers.push(A),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,A},this.removeSelectionMarker=function(A){if(A.marker){this.session.removeMarker(A.marker);var _=this.session.$selectionMarkers.indexOf(A);_!=-1&&this.session.$selectionMarkers.splice(_,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(A){for(var _=this.session.$selectionMarkers,k=A.length;k--;){var E=A[k];if(E.marker){this.session.removeMarker(E.marker);var O=_.indexOf(E);O!=-1&&_.splice(O,1)}}this.session.selectionMarkerCount=_.length},this.$onAddRange=function(A){this.addSelectionMarker(A.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(A){this.removeSelectionMarkers(A.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(A){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(a.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(A){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(a.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(A){var _=A.command,k=A.editor;if(k.multiSelect){if(_.multiSelectAction)_.multiSelectAction=="forEach"?E=k.forEachSelection(_,A.args):_.multiSelectAction=="forEachLine"?E=k.forEachSelection(_,A.args,!0):_.multiSelectAction=="single"?(k.exitMultiSelectMode(),E=_.exec(k,A.args||{})):E=_.multiSelectAction(k,A.args||{});else{var E=_.exec(k,A.args||{});k.multiSelect.addRange(k.multiSelect.toOrientedRange()),k.multiSelect.mergeOverlappingRanges()}return E}},this.forEachSelection=function(A,_,k){if(!this.inVirtualSelectionMode){var E=k&&k.keepOrder,O=k==!0||k&&k.$byLines,F=this.session,L=this.selection,H=L.rangeList,P=(E?L:H).ranges,I;if(!P.length)return A.exec?A.exec(this,_||{}):A(this,_||{});var T=L._eventRegistry;L._eventRegistry={};var C=new w(F);this.inVirtualSelectionMode=!0;for(var N=P.length;N--;){if(O)for(;N>0&&P[N].start.row==P[N-1].end.row;)N--;C.fromOrientedRange(P[N]),C.index=N,this.selection=F.selection=C;var j=A.exec?A.exec(this,_||{}):A(this,_||{});!I&&j!==void 0&&(I=j),C.toOrientedRange(P[N])}C.detach(),this.selection=F.selection=L,this.inVirtualSelectionMode=!1,L._eventRegistry=T,L.mergeOverlappingRanges(),L.ranges[0]&&L.fromOrientedRange(L.ranges[0]);var U=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),U&&U.from==U.to&&this.renderer.animateScrolling(U.from),I}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var A="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var _=this.multiSelect.rangeList.ranges,k=[],E=0;E<_.length;E++)k.push(this.session.getTextRange(_[E]));var O=this.session.getDocument().getNewLineCharacter();A=k.join(O),A.length==(k.length-1)*O.length&&(A="")}else this.selection.isEmpty()||(A=this.session.getTextRange(this.getSelectionRange()));return A},this.$checkMultiselectChange=function(A,_){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var k=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&_==this.multiSelect.anchor)return;var E=_==this.multiSelect.anchor?k.cursor==k.start?k.end:k.start:k.cursor;E.row!=_.row||this.session.$clipPositionToDocument(E.row,E.column).column!=_.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(A,_,k){if(_=_||{},_.needle=A||_.needle,_.needle==null){var E=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();_.needle=this.session.getTextRange(E)}this.$search.set(_);var O=this.$search.findAll(this.session);if(!O.length)return 0;var F=this.multiSelect;k||F.toSingleRange(O[0]);for(var L=O.length;L--;)F.addRange(O[L],!0);return E&&F.rangeList.rangeAtPoint(E.start)&&F.addRange(E,!0),O.length},this.selectMoreLines=function(A,_){var k=this.selection.toOrientedRange(),E=k.cursor==k.end,O=this.session.documentToScreenPosition(k.cursor);this.selection.$desiredColumn&&(O.column=this.selection.$desiredColumn);var F=this.session.screenToDocumentPosition(O.row+A,O.column);if(k.isEmpty())var H=F;else var L=this.session.documentToScreenPosition(E?k.end:k.start),H=this.session.screenToDocumentPosition(L.row+A,L.column);if(E){var P=p.fromPoints(F,H);P.cursor=P.start}else{var P=p.fromPoints(H,F);P.cursor=P.end}if(P.desiredColumn=O.column,!this.selection.inMultiSelectMode)this.selection.addRange(k);else if(_)var I=k.cursor;this.selection.addRange(P),I&&this.selection.substractPoint(I)},this.transposeSelections=function(A){for(var _=this.session,k=_.multiSelect,E=k.ranges,O=E.length;O--;){var F=E[O];if(F.isEmpty()){var L=_.getWordRange(F.start.row,F.start.column);F.start.row=L.start.row,F.start.column=L.start.column,F.end.row=L.end.row,F.end.column=L.end.column}}k.mergeOverlappingRanges();for(var H=[],O=E.length;O--;){var F=E[O];H.unshift(_.getTextRange(F))}A<0?H.unshift(H.pop()):H.push(H.shift());for(var O=E.length;O--;){var F=E[O],P=F.clone();_.replace(F,H[O]),F.start.row=P.start.row,F.start.column=P.start.column}k.fromOrientedRange(k.ranges[0])},this.selectMore=function(A,_,k){var E=this.session,O=E.multiSelect,F=O.toOrientedRange();if(!(F.isEmpty()&&(F=E.getWordRange(F.start.row,F.start.column),F.cursor=A==-1?F.start:F.end,this.multiSelect.addRange(F),k))){var L=E.getTextRange(F),H=i(E,L,A);H&&(H.cursor=A==-1?H.start:H.end,this.session.unfold(H),this.multiSelect.addRange(H),this.renderer.scrollCursorIntoView(null,.5)),_&&this.multiSelect.substractPoint(F.cursor)}},this.alignCursors=function(){var A=this.session,_=A.multiSelect,k=_.ranges,E=-1,O=k.filter(function(K){if(K.cursor.row==E)return!0;E=K.cursor.row});if(!k.length||O.length==k.length-1){var F=this.selection.getRange(),L=F.start.row,H=F.end.row,P=L==H;if(P){var I=this.session.getLength(),T;do T=this.session.getLine(H);while(/[=:]/.test(T)&&++H<I);do T=this.session.getLine(L);while(/[=:]/.test(T)&&--L>0);L<0&&(L=0),H>=I&&(H=I-1)}var C=this.session.removeFullLines(L,H);C=this.$reAlignText(C,P),this.session.insert({row:L,column:0},C.join(`
952
+ `)+`
953
+ `),P||(F.start.column=0,F.end.column=C[C.length-1].length),this.selection.setRange(F)}else{O.forEach(function(K){_.substractPoint(K.cursor)});var N=0,j=1/0,U=k.map(function(K){var Z=K.cursor,te=A.getLine(Z.row),he=te.substr(Z.column).search(/\S/g);return he==-1&&(he=0),Z.column>N&&(N=Z.column),he<j&&(j=he),he});k.forEach(function(K,Z){var te=K.cursor,he=N-te.column,ne=U[Z]-j;he>ne?A.insert(te,s.stringRepeat(" ",he-ne)):A.remove(new p(te.row,te.column,te.row,te.column-he+ne)),K.start.column=K.end.column=N,K.start.row=K.end.row=te.row,K.cursor=K.end}),_.fromOrientedRange(k[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(A,_){var k=!0,E=!0,O,F,L;return A.map(function(C){var N=C.match(/(\s*)(.*?)(\s*)([=:].*)/);return N?O==null?(O=N[1].length,F=N[2].length,L=N[3].length,N):(O+F+L!=N[1].length+N[2].length+N[3].length&&(E=!1),O!=N[1].length&&(k=!1),O>N[1].length&&(O=N[1].length),F<N[2].length&&(F=N[2].length),L>N[3].length&&(L=N[3].length),N):[C]}).map(_?P:k?E?I:P:T);function H(C){return s.stringRepeat(" ",C)}function P(C){return C[2]?H(O)+C[2]+H(F-C[2].length+L)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}function I(C){return C[2]?H(O+F-C[2].length)+C[2]+H(L)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}function T(C){return C[2]?H(O)+C[2]+H(L)+C[4].replace(/^([=:])\s+/,"$1 "):C[0]}}}).call(m.prototype);function b(A,_){return A.row==_.row&&A.column==_.column}r.onSessionChange=function(A){var _=A.session;_&&!_.multiSelect&&(_.$selectionMarkers=[],_.selection.$initRangeList(),_.multiSelect=_.selection),this.multiSelect=_&&_.multiSelect;var k=A.oldSession;k&&(k.multiSelect.off("addRange",this.$onAddRange),k.multiSelect.off("removeRange",this.$onRemoveRange),k.multiSelect.off("multiSelect",this.$onMultiSelect),k.multiSelect.off("singleSelect",this.$onSingleSelect),k.multiSelect.lead.off("change",this.$checkMultiselectChange),k.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 x(A){A.$multiselectOnSessionChange||(A.$onAddRange=A.$onAddRange.bind(A),A.$onRemoveRange=A.$onRemoveRange.bind(A),A.$onMultiSelect=A.$onMultiSelect.bind(A),A.$onSingleSelect=A.$onSingleSelect.bind(A),A.$multiselectOnSessionChange=r.onSessionChange.bind(A),A.$checkMultiselectChange=A.$checkMultiselectChange.bind(A),A.$multiselectOnSessionChange(A),A.on("changeSession",A.$multiselectOnSessionChange),A.on("mousedown",f),A.commands.addCommands(a.defaultCommands),M(A))}function M(A){if(!A.textInput)return;var _=A.textInput.getElement(),k=!1;g.addListener(_,"keydown",function(O){var F=O.keyCode==18&&!(O.ctrlKey||O.shiftKey||O.metaKey);A.$blockSelectEnabled&&F?k||(A.renderer.setMouseCursor("crosshair"),k=!0):k&&E()},A),g.addListener(_,"keyup",E,A),g.addListener(_,"blur",E,A);function E(O){k&&(A.renderer.setMouseCursor(""),k=!1)}}r.MultiSelect=x,n("./config").defineOptions(m.prototype,"editor",{enableMultiselect:{set:function(A){x(this),A?this.on("mousedown",f):this.off("mousedown",f)},value:!0},enableBlockSelect:{set:function(A){this.$blockSelectEnabled=A},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(n,r,u){var d=n("../../range").Range,p=r.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(w,f,g){var s=w.getLine(g);return this.foldingStartMarker.test(s)?"start":f=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(s)?"end":""},this.getFoldWidgetRange=function(w,f,g){return null},this.indentationBlock=function(w,f,g){var s=/\S/,a=w.getLine(f),h=a.search(s);if(h!=-1){for(var c=g||a.length,i=w.getLength(),l=f,m=f;++f<i;){var b=w.getLine(f).search(s);if(b!=-1){if(b<=h){var x=w.getTokenAt(f,0);if(!x||x.type!=="string")break}m=f}}if(m>l){var M=w.getLine(m).length;return new d(l,c,m,M)}}},this.openingBracketBlock=function(w,f,g,s,a){var h={row:g,column:s+1},c=w.$findClosingBracket(f,h,a);if(c){var i=w.foldWidgets[c.row];return i==null&&(i=w.getFoldWidget(c.row)),i=="start"&&c.row>h.row&&(c.row--,c.column=w.getLine(c.row).length),d.fromPoints(h,c)}},this.closingBracketBlock=function(w,f,g,s,a){var h={row:g,column:s},c=w.$findOpeningBracket(f,h);if(c)return c.column++,h.column--,d.fromPoints(c,h)}}).call(p.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(n,r,u){var d=n("../lib/dom"),p=n("../range").Range,w=n("../config").nls;function f(s,a,h){for(var c=0,i=s.length-1;c<=i;){var l=c+i>>1,m=h(a,s[l]);if(m>0)c=l+1;else if(m<0)i=l-1;else return l}return-(c+1)}function g(s,a,h){var c=s.getAnnotations().sort(p.comparePoints);if(c.length){var i=f(c,{row:a,column:-1},p.comparePoints);i<0&&(i=-i-1),i>=c.length?i=h>0?0:c.length-1:i===0&&h<0&&(i=c.length-1);var l=c[i];if(!(!l||!h)){if(l.row===a){do l=c[i+=h];while(l&&l.row===a);if(!l)return c.slice()}var m=[];a=l.row;do m[h<0?"unshift":"push"](l),l=c[i+=h];while(l&&l.row==a);return m.length&&m}}}r.showErrorMarker=function(s,a){var h=s.session,c=s.getCursorPosition(),i=c.row,l=h.widgetManager.getWidgetsAtRow(i).filter(function(O){return O.type=="errorMarker"})[0];l?l.destroy():i-=a;var m=g(h,i,a),b;if(m){var x=m[0];c.column=(x.pos&&typeof x.column!="number"?x.pos.sc:x.column)||0,c.row=x.row,b=s.renderer.$gutterLayer.$annotations[c.row]}else{if(l)return;b={displayText:[w("error-marker.good-state","Looks good!")],className:"ace_ok"}}s.session.unfold(c.row),s.selection.moveToPosition(c);var M={row:c.row,fixedWidth:!0,coverGutter:!0,el:d.createElement("div"),type:"errorMarker"},A=M.el.appendChild(d.createElement("div")),_=M.el.appendChild(d.createElement("div"));_.className="error_widget_arrow "+b.className;var k=s.renderer.$cursorLayer.getPixelPosition(c).left;_.style.left=k+s.renderer.gutterWidth-5+"px",M.el.className="error_widget_wrapper",A.className="error_widget "+b.className,b.displayText.forEach(function(O,F){A.appendChild(d.createTextNode(O)),F<b.displayText.length-1&&A.appendChild(d.createElement("br"))}),A.appendChild(d.createElement("div"));var E=function(O,F,L){if(F===0&&(L==="esc"||L==="return"))return M.destroy(),{command:"null"}};M.destroy=function(){s.$mouseHandler.isMousePressed||(s.keyBinding.removeKeyboardHandler(E),h.widgetManager.removeLineWidget(M),s.off("changeSelection",M.destroy),s.off("changeSession",M.destroy),s.off("mouseup",M.destroy),s.off("change",M.destroy))},s.keyBinding.addKeyboardHandler(E),s.on("changeSelection",M.destroy),s.on("changeSession",M.destroy),s.on("mouseup",M.destroy),s.on("change",M.destroy),s.session.widgetManager.addLineWidget(M),M.el.onmousedown=s.focus.bind(s),s.renderer.scrollCursorIntoView(null,.5,{bottom:M.el.offsetHeight})},d.importCssString(`
954
+ .error_widget_wrapper {
955
+ background: inherit;
956
+ color: inherit;
957
+ border:none
958
+ }
959
+ .error_widget {
960
+ border-top: solid 2px;
961
+ border-bottom: solid 2px;
962
+ margin: 5px 0;
963
+ padding: 10px 40px;
964
+ white-space: pre-wrap;
965
+ }
966
+ .error_widget.ace_error, .error_widget_arrow.ace_error{
967
+ border-color: #ff5a5a
968
+ }
969
+ .error_widget.ace_warning, .error_widget_arrow.ace_warning{
970
+ border-color: #F1D817
971
+ }
972
+ .error_widget.ace_info, .error_widget_arrow.ace_info{
973
+ border-color: #5a5a5a
974
+ }
975
+ .error_widget.ace_ok, .error_widget_arrow.ace_ok{
976
+ border-color: #5aaa5a
977
+ }
978
+ .error_widget_arrow {
979
+ position: absolute;
980
+ border: solid 5px;
981
+ border-top-color: transparent!important;
982
+ border-right-color: transparent!important;
983
+ border-left-color: transparent!important;
984
+ top: -5px;
985
+ }
986
+ `,"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(n,r,u){n("./loader_build")(r);var d=n("./lib/dom"),p=n("./range").Range,w=n("./editor").Editor,f=n("./edit_session").EditSession,g=n("./undomanager").UndoManager,s=n("./virtual_renderer").VirtualRenderer;n("./worker/worker_client"),n("./keyboard/hash_handler"),n("./placeholder"),n("./multi_select"),n("./mode/folding/fold_mode"),n("./theme/textmate"),n("./ext/error_marker"),r.config=n("./config"),r.edit=function(h,c){if(typeof h=="string"){var i=h;if(h=document.getElementById(i),!h)throw new Error("ace.edit can't find div #"+i)}if(h&&h.env&&h.env.editor instanceof w)return h.env.editor;var l="";if(h&&/input|textarea/i.test(h.tagName)){var m=h;l=m.value,h=d.createElement("pre"),m.parentNode.replaceChild(h,m)}else h&&(l=h.textContent,h.innerHTML="");var b=r.createEditSession(l),x=new w(new s(h),b,c),M={document:b,editor:x,onResize:x.resize.bind(x,null)};return m&&(M.textarea=m),x.on("destroy",function(){M.editor.container.env=null}),x.container.env=x.env=M,x},r.createEditSession=function(h,c){var i=new f(h,c);return i.setUndoManager(new g),i},r.Range=p,r.Editor=w,r.EditSession=f,r.UndoManager=g,r.VirtualRenderer=s;var a=r.config.version;r.version=a}),function(){ace.require(["ace/ace"],function(n){n&&(n.config.init(!0),n.define=ace.define);var r=function(){return this}();!r&&typeof window<"u"&&(r=window),!r&&typeof self<"u"&&(r=self),r.ace||(r.ace=n);for(var u in n)n.hasOwnProperty(u)&&(r.ace[u]=n[u]);r.ace.default=r.ace,t&&(t.exports=r.ace)})}()}(_g)),_g.exports}var jr=h_(),Cg={exports:{}},Tg;function d_(){return Tg||(Tg=1,function(t,e){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=r.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};r.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},r.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},r.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var f=r.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},g=r.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},s=r.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},a=r.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},h=r.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},c=r.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},i=r.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},l=r.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},m=function(){var b="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",x="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",M="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",A="$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:x,"constant.language":M,"variable.language":A,"support.function":b,"invalid.deprecated":"debugger"},"identifier"),k=`\\\\(?: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})*})`,E={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};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:k},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:k},{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(O,F,L){L.length&&(L=[]);var H=O[O.length-1];return L.unshift(H,F),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(O,F,L){L.length&&(L=[]);var H=O[O.length-1];return L.unshift(H,F),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(O,F,L){L.length&&(L=[]);var H=O[O.length-1];return L.unshift(H,F),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(O,F,L){L.length&&(L=[]);var H=O[O.length-1];return L.unshift(H,F),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(O,F,L){L.length&&(L=[]);var H=O[O.length-1];return L.unshift(H,F),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},l,{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\\?(?:"+k+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},h,c,w,f,i,g,s,a,{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(O,F,L){var H=O[2]=="-"||O[2]=="~"?"indentedHeredoc":"heredoc",P=O.split(this.splitRegex);return L.push(H,P[3]),[{type:"constant",value:P[1]},{type:"string",value:P[2]},{type:"support.class",value:P[3]},{type:"string",value:P[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(O,F,L){return O===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(O,F,L){return O===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(O,F){return F[0]==="heredoc"||F[0]==="indentedHeredoc"?F[0]:O}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(O,F,L){return this.next="",O=="}"&&L.length>1&&L[1]!="start"&&(L.shift(),this.next=L.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(O,F,L){return L.length&&O===L[0]?(L.unshift(O,F),this.token):"string"}},{token:"constant.language.escape",regex:k},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(O,F,L){return L.length&&O===E[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(O,F,L){return L.length&&O===L[0]?(L.unshift(O,F),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(O,F,L){return L.length&&O===E[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(O,F,L){return L.length&&O===L[0]?(L.unshift(O,F),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(O,F,L){return L.length&&O===E[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(O,F,L){return L.length&&O===L[0]?(L.unshift(O,F),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:k},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(O,F,L){return L.length&&O===E[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(O,F,L){return L.length&&O===L[0]?(L.unshift(O,F),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(O,F,L){return L.length&&O[0]===E[L[0]]?(L.shift(),this.next=L.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()};d.inherits(m,p),r.RubyHighlightRules=m}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(n,r,u){var d=n("../range").Range,p=function(){};(function(){this.checkOutdent=function(w,f){return/^\s+$/.test(w)?/^\s*\}/.test(f):!1},this.autoOutdent=function(w,f){var g=w.getLine(f),s=g.match(/^(\s*\})/);if(!s)return 0;var a=s[1].length,h=w.findMatchingBracket({row:f,column:a});if(!h||h.row==f)return 0;var c=this.$getIndent(w.getLine(h.row));w.replace(new d(f,0,f,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(p.prototype),r.MatchingBraceOutdent=p}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(n,r,u){var d=n("../../lib/oop"),p=n("./fold_mode").FoldMode,w=n("../../range").Range,f=n("../../token_iterator").TokenIterator,g=r.FoldMode=function(){};d.inherits(g,p),(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(s,a,h){var c=s.getLine(h),i=this.foldingStartMarker.test(c),l=this.foldingStopMarker.test(c);if(i&&!l){var m=c.match(this.foldingStartMarker);if(m[1]){if((m[1]=="if"||m[1]=="else"||m[1]=="while"||m[1]=="until"||m[1]=="unless")&&(m[1]=="else"&&/^\s*else\s*$/.test(c)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(c)===!1)||m[1]=="when"&&/\sthen\s/.test(c)===!0)return;if(s.getTokenAt(h,m.index+2).type==="keyword")return"start"}else if(!m[3]||s.getTokenAt(h,m.index+1).type==="comment.multiline")return"start"}if(a!="markbeginend"||!l||i&&l)return"";var m=c.match(this.foldingStopMarker);if(m[3]==="end"){if(s.getTokenAt(h,m.index+1).type==="keyword")return"end"}else if(!m[1]||s.getTokenAt(h,m.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(s,a,h){var c=s.doc.getLine(h),i=this.foldingStartMarker.exec(c);if(i)return i[1]||i[3]?this.rubyBlock(s,h,i.index+2):this.openingBracketBlock(s,"{",h,i.index);var i=this.foldingStopMarker.exec(c);if(i)return i[3]==="end"&&s.getTokenAt(h,i.index+1).type==="keyword"?this.rubyBlock(s,h,i.index+1):i[1]==="=end"&&s.getTokenAt(h,i.index+1).type==="comment.multiline"?this.rubyBlock(s,h,i.index+1):this.closingBracketBlock(s,"}",h,i.index+i[0].length)},this.rubyBlock=function(s,a,h,c){var i=new f(s,a,h),l=i.getCurrentToken();if(!(!l||l.type!="keyword"&&l.type!="comment.multiline")){var m=l.value,b=s.getLine(a);switch(l.value){case"if":case"unless":case"while":case"until":var x=new RegExp("^\\s*"+l.value);if(!x.test(b))return;var M=this.indentKeywords[m];break;case"when":if(/\sthen\s/.test(b))return;case"elsif":case"rescue":case"ensure":var M=1;break;case"else":var x=new RegExp("^\\s*"+l.value+"\\s*$");if(!x.test(b))return;var M=1;break;default:var M=this.indentKeywords[m]}var A=[m];if(M){var _=M===-1?s.getLine(a-1).length:s.getLine(a).length,k=a,E=[];if(E.push(i.getCurrentTokenRange()),i.step=M===-1?i.stepBackward:i.stepForward,l.type=="comment.multiline"){for(;l=i.step();)if(l.type==="comment.multiline"){if(M==1){if(_=6,l.value=="=end")break}else if(l.value=="=begin")break}}else for(;l=i.step();){var O=!1;if(l.type==="keyword"){var F=M*this.indentKeywords[l.value];switch(b=s.getLine(i.getCurrentTokenRow()),l.value){case"do":for(var L=i.$tokenIndex-1;L>=0;L--){var H=i.$rowTokens[L];if(H&&(H.value=="while"||H.value=="until"||H.value=="for")){F=0;break}}break;case"else":var x=new RegExp("^\\s*"+l.value+"\\s*$");(!x.test(b)||m=="case")&&(F=0,O=!0);break;case"if":case"unless":case"while":case"until":var x=new RegExp("^\\s*"+l.value);x.test(b)||(F=0,O=!0);break;case"when":(/\sthen\s/.test(b)||m=="case")&&(F=0,O=!0)}if(F>0)A.unshift(l.value);else if(F<=0&&O===!1){if(A.shift(),!A.length&&((m=="while"||m=="until"||m=="for")&&l.value!="do"||l.value=="do"&&M==-1&&F!=0||l.value!="do"))break;F===0&&A.unshift(l.value)}}}if(!l)return null;if(c)return E.push(i.getCurrentTokenRange()),E;var a=i.getCurrentTokenRow();if(M===-1){if(l.type==="comment.multiline")var P=6;else var P=s.getLine(a).length;return new w(a,P,k-1,_)}return new w(k,_,a-1,s.getLine(a-1).length)}}}}).call(g.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(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./ruby_highlight_rules").RubyHighlightRules,f=n("./matching_brace_outdent").MatchingBraceOutdent,g=n("../range").Range,s=n("./folding/ruby").FoldMode,a=function(){this.HighlightRules=w,this.$outdent=new f,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new s,this.indentKeywords=this.foldingRules.indentKeywords};d.inherits(a,p),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(h,c,i){var l=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,h),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return l;if(h=="start"){var x=c.match(/^.*[\{\(\[]\s*$/),M=c.match(/^\s*(class|def|module)\s.*$/),A=c.match(/.*do(\s*|\s+\|.*\|\s*)$/),_=c.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(x||M||A||_)&&(l+=i)}return l},this.checkOutdent=function(h,c,i){return/^\s+(end|else|rescue|ensure)$/.test(c+i)||this.$outdent.checkOutdent(c,i)},this.autoOutdent=function(h,c,i){var l=c.getLine(i);if(/}/.test(l))return this.$outdent.autoOutdent(c,i);var m=this.$getIndent(l),b=c.getLine(i-1),x=this.$getIndent(b),M=c.getTabString();x.length<=m.length&&m.slice(-M.length)==M&&c.remove(new g(i,m.length-M.length,i,m.length))},this.getMatching=function(h,c,i){if(c==null){var l=h.selection.lead;i=l.column,c=l.row}var m=h.getTokenAt(c,i);if(m&&m.value in this.indentKeywords)return this.foldingRules.rubyBlock(h,c,i,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(a.prototype),r.Mode=a}),function(){ace.require(["ace/mode/ruby"],function(n){t&&(t.exports=n)})}()}(Cg)),Cg.exports}d_();var $g={exports:{}},Ag;function p_(){return Ag||(Ag=1,function(t,e){ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=function(){var f="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",g="True|False|None|NotImplemented|Ellipsis|__debug__",s="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",a=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":s,"variable.language":"self|cls","constant.language":g,keyword:f},"identifier"),h="[uU]?",c="[rR]",i="[fF]",l="(?:[rR][fF]|[fF][rR])",m="(?:(?:[1-9]\\d*)|(?:0))",b="(?:0[oO]?[0-7]+)",x="(?:0[xX][\\dA-Fa-f]+)",M="(?:0[bB][01]+)",A="(?:"+m+"|"+b+"|"+x+"|"+M+")",_="(?:[eE][+-]?\\d+)",k="(?:\\.\\d+)",E="(?:\\d+)",O="(?:(?:"+E+"?"+k+")|(?:"+E+"\\.))",F="(?:(?:"+O+"|"+E+")"+_+")",L="(?:"+F+"|"+O+")",H=`\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})`;this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:h+'"{3}',next:"qqstring3"},{token:"string",regex:h+'"(?=.)',next:"qqstring"},{token:"string",regex:h+"'{3}",next:"qstring3"},{token:"string",regex:h+"'(?=.)",next:"qstring"},{token:"string",regex:c+'"{3}',next:"rawqqstring3"},{token:"string",regex:c+'"(?=.)',next:"rawqqstring"},{token:"string",regex:c+"'{3}",next:"rawqstring3"},{token:"string",regex:c+"'(?=.)",next:"rawqstring"},{token:"string",regex:i+'"{3}',next:"fqqstring3"},{token:"string",regex:i+'"(?=.)',next:"fqqstring"},{token:"string",regex:i+"'{3}",next:"fqstring3"},{token:"string",regex:i+"'(?=.)",next:"fqstring"},{token:"string",regex:l+'"{3}',next:"rfqqstring3"},{token:"string",regex:l+'"(?=.)',next:"rfqqstring"},{token:"string",regex:l+"'{3}",next:"rfqstring3"},{token:"string",regex:l+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+L+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:L},{token:"constant.numeric",regex:A+"[lL]\\b"},{token:"constant.numeric",regex:A+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:a,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};d.inherits(w,p),r.PythonHighlightRules=w}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(n,r,u){var d=n("../../lib/oop"),p=n("./fold_mode").FoldMode,w=r.FoldMode=function(f){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+f+")(?:\\s*)(?:#.*)?$")};d.inherits(w,p),(function(){this.getFoldWidgetRange=function(f,g,s){var a=f.getLine(s),h=a.match(this.foldingStartMarker);if(h)return h[1]?this.openingBracketBlock(f,h[1],s,h.index):h[2]?this.indentationBlock(f,s,h.index+h[2].length):this.indentationBlock(f,s)}}).call(w.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./python_highlight_rules").PythonHighlightRules,f=n("./folding/pythonic").FoldMode,g=n("../range").Range,s=function(){this.HighlightRules=w,this.foldingRules=new f("\\:"),this.$behaviour=this.$defaultBehaviour};d.inherits(s,p),(function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(h,c,i){var l=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,h),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return l;if(h=="start"){var x=c.match(/^.*[\{\(\[:]\s*$/);x&&(l+=i)}return l};var a={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(h,c,i){if(i!==`\r
987
+ `&&i!=="\r"&&i!==`
988
+ `)return!1;var l=this.getTokenizer().getLineTokens(c.trim(),h).tokens;if(!l)return!1;do var m=l.pop();while(m&&(m.type=="comment"||m.type=="text"&&m.value.match(/^\s+$/)));return m?m.type=="keyword"&&a[m.value]:!1},this.autoOutdent=function(h,c,i){i+=1;var l=this.$getIndent(c.getLine(i)),m=c.getTabString();l.slice(-m.length)==m&&c.remove(new g(i,l.length-m.length,i,l.length))},this.$id="ace/mode/python",this.snippetFileId="ace/snippets/python"}).call(s.prototype),r.Mode=s}),function(){ace.require(["ace/mode/python"],function(n){t&&(t.exports=n)})}()}($g)),$g.exports}p_();var Rg={exports:{}},Eg;function f_(){return Eg||(Eg=1,function(t,e){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};d.inherits(w,p),r.JsonHighlightRules=w}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(n,r,u){var d=n("../range").Range,p=function(){};(function(){this.checkOutdent=function(w,f){return/^\s+$/.test(w)?/^\s*\}/.test(f):!1},this.autoOutdent=function(w,f){var g=w.getLine(f),s=g.match(/^(\s*\})/);if(!s)return 0;var a=s[1].length,h=w.findMatchingBracket({row:f,column:a});if(!h||h.row==f)return 0;var c=this.$getIndent(w.getLine(h.row));w.replace(new d(f,0,f,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(p.prototype),r.MatchingBraceOutdent=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(n,r,u){var d=n("../../lib/oop"),p=n("../../range").Range,w=n("./fold_mode").FoldMode,f=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};d.inherits(f,w),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,s,a){var h=g.getLine(a);if(this.singleLineBlockCommentRe.test(h)&&!this.startRegionRe.test(h)&&!this.tripleStarBlockCommentRe.test(h))return"";var c=this._getFoldWidgetBase(g,s,a);return!c&&this.startRegionRe.test(h)?"start":c},this.getFoldWidgetRange=function(g,s,a,h){var c=g.getLine(a);if(this.startRegionRe.test(c))return this.getCommentRegionBlock(g,c,a);var i=c.match(this.foldingStartMarker);if(i){var l=i.index;if(i[1])return this.openingBracketBlock(g,i[1],a,l);var m=g.getCommentFoldRange(a,l+i[0].length,1);return m&&!m.isMultiLine()&&(h?m=this.getSectionRange(g,a):s!="all"&&(m=null)),m}if(s!=="markbegin"){var i=c.match(this.foldingStopMarker);if(i){var l=i.index+i[0].length;return i[1]?this.closingBracketBlock(g,i[1],a,l):g.getCommentFoldRange(a,l,-1)}}},this.getSectionRange=function(g,s){var a=g.getLine(s),h=a.search(/\S/),c=s,i=a.length;s+=1;for(var l=s,m=g.getLength();++s<m;){a=g.getLine(s);var b=a.search(/\S/);if(b!==-1){if(h>b)break;var x=this.getFoldWidgetRange(g,"all",s);if(x){if(x.start.row<=c)break;if(x.isMultiLine())s=x.end.row;else if(h==b)break}l=s}}return new p(c,i,l,g.getLine(l).length)},this.getCommentRegionBlock=function(g,s,a){for(var h=s.search(/\s*$/),c=g.getLength(),i=a,l=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,m=1;++a<c;){s=g.getLine(a);var b=l.exec(s);if(b&&(b[1]?m--:m++,!m))break}var x=a;if(x>i)return new p(i,h,x,s.length)}}).call(f.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./json_highlight_rules").JsonHighlightRules,f=n("./matching_brace_outdent").MatchingBraceOutdent,g=n("./folding/cstyle").FoldMode,s=n("../worker/worker_client").WorkerClient,a=function(){this.HighlightRules=w,this.$outdent=new f,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new g};d.inherits(a,p),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(h,c,i){var l=this.$getIndent(c);if(h=="start"){var m=c.match(/^.*[\{\(\[]\s*$/);m&&(l+=i)}return l},this.checkOutdent=function(h,c,i){return this.$outdent.checkOutdent(c,i)},this.autoOutdent=function(h,c,i){this.$outdent.autoOutdent(c,i)},this.createWorker=function(h){var c=new s(["ace"],"ace/mode/json_worker","JsonWorker");return c.attachToDocument(h.getDocument()),c.on("annotate",function(i){h.setAnnotations(i.data)}),c.on("terminate",function(){h.clearAnnotations()}),c},this.$id="ace/mode/json"}).call(a.prototype),r.Mode=a}),function(){ace.require(["ace/mode/json"],function(n){t&&(t.exports=n)})}()}(Rg)),Rg.exports}f_();var Mg={exports:{}},Lg;function g_(){return Lg||(Lg=1,function(t,e){ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop");n("../lib/lang");var p=n("./text_highlight_rules").TextHighlightRules,w=r.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",f=r.supportFunction="rgb|rgba|url|attr|counter|counters",g=r.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",s=r.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",a=r.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",h=r.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",c=r.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",i=r.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",l=function(){var m=this.createKeywordMapper({"support.function":f,"support.constant":g,"support.type":w,"support.constant.color":s,"support.constant.fonts":a},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:h},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+h+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:h},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:c},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:i},{include:"url"},{token:m,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};d.inherits(l,p),r.CssHighlightRules=l}),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},w.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};d.inherits(w,p),w.getTagRule=function(f){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},w.getStartRule=function(f){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:f}},w.getEndRule=function(f){return{token:"comment.doc",regex:"\\*\\/",next:f}},r.JsDocCommentHighlightRules=w}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(n,r,u){function d(){var h=s.replace("\\d","\\d\\-"),c={onMatch:function(l,m,b){var x=l.charAt(1)=="/"?2:1;return x==1?(m!=this.nextState?b.unshift(this.next,this.nextState,0):b.unshift(this.next),b[2]++):x==2&&m==this.nextState&&(b[1]--,(!b[1]||b[1]<0)&&(b.shift(),b.shift())),[{type:"meta.tag.punctuation."+(x==1?"":"end-")+"tag-open.xml",value:l.slice(0,x)},{type:"meta.tag.tag-name.xml",value:l.substr(x)}]},regex:"</?(?:"+h+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(c);var i={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[i,c,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(l,m,b){return m==b[0]&&b.shift(),l.length==2&&(b[0]==this.nextState&&b[1]--,(!b[1]||b[1]<0)&&b.splice(0,2)),this.next=b[0]||"start",[{type:this.token,value:l}]},nextState:"jsx"},i,p("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:h},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},c],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function p(h){return[{token:"comment",regex:/\/\*/,next:[f.getTagRule(),{token:"comment",regex:"\\*\\/",next:h||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[f.getTagRule(),{token:"comment",regex:"$|^",next:h||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var w=n("../lib/oop"),f=n("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,g=n("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",a=function(h){var c={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},i=this.createKeywordMapper(c,"identifier"),l="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",m="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",b="(function)(\\s*)(\\*?)",x={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(c).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[f.getStartRule("doc-start"),p("no_regex"),x,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+l+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:i,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:b+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[f.getStartRule("doc-start"),p("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[p("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!h||!h.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(M,A,_){if(this.next=M=="{"?this.nextState:"",M=="{"&&_.length)_.unshift("start",A);else if(M=="}"&&_.length&&(_.shift(),this.next=_.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return M=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:m},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!h||h.jsx!=0)&&d.call(this)),this.embedRules(f,"doc-",[f.getEndRule("no_regex")]),this.normalizeRules()};w.inherits(a,g),r.JavaScriptHighlightRules=a}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=function(f){var g="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+g+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:g},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+g+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+g+":)?"+g+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:g},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===w&&this.normalizeRules()};(function(){this.embedTagRules=function(f,g,s){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+s+".tag-name.xml"],regex:"(<)("+s+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:g+"start"}]}),this.$rules[s+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(a,h,c){return c.splice(0),this.token}}],this.embedRules(f,g,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+s+".tag-name.xml"],regex:"(</)("+s+"(?=\\s|>|$))",next:s+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(p.prototype),d.inherits(w,p),r.XmlHighlightRules=w}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("../lib/lang"),w=n("./css_highlight_rules").CssHighlightRules,f=n("./javascript_highlight_rules").JavaScriptHighlightRules,g=n("./xml_highlight_rules").XmlHighlightRules,s=p.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),a=function(){g.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(h,c){var i=s[c];return["meta.tag.punctuation."+(h=="<"?"":"end-")+"tag-open.xml","meta.tag"+(i?"."+i:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(w,"css-","style"),this.embedTagRules(new f({jsx:!1}).getRules(),"js-","script"),this.constructor===a&&this.normalizeRules()};d.inherits(a,g),r.HtmlHighlightRules=a}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(n,r,u){var d=n("../config").$modes,p=n("../lib/oop"),w=n("../lib/lang"),f=n("./text_highlight_rules").TextHighlightRules,g=n("./html_highlight_rules").HtmlHighlightRules,s=function(h){return"(?:[^"+w.escapeRegExp(h)+"\\\\]|\\\\.)*"},a=function(){g.call(this);var h={token:"support.function",regex:/^\s*(```+[^`]*|~~~+[^~]*)$/,onMatch:function(i,l,m,b){var x=i.match(/^(\s*)([`~]+)(.*)/),M=/[\w-]+|$/.exec(x[3])[0];return d[M]||(M=""),m.unshift("githubblock",[],[x[1],x[2],M],l),this.token},next:"githubblock"},c=[{token:"support.function",regex:".*",onMatch:function(i,l,m,b){var x=m[1],M=m[2][0],A=m[2][1],_=m[2][2],k=/^(\s*)(`+|~+)\s*$/.exec(i);if(k&&k[1].length<M.length+3&&k[2].length>=A.length&&k[2][0]==A[0])return m.splice(0,3),this.next=m.shift(),this.token;if(this.next="",_&&d[_]){var E=d[_].getTokenizer().getLineTokens(i,x.slice(0));return m[1]=E.state,E.tokens}return this.token}}];this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(i){return"markup.heading."+i.length},regex:/^#{1,6}(?=\s|$)/,next:"header"},h,{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+s("]")+")(\\]\\s*\\[)("+s("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\!?\\[)("+s("]")+')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"'+s('"')+'"\\s*)?(\\))'},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:`(<)((?:https?|ftp|dict):[^'">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)`}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},h,{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:c}),this.normalizeRules()};p.inherits(a,f),r.MarkdownHighlightRules=a}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(n,r,u){var d=n("../../lib/oop"),p=n("./fold_mode").FoldMode,w=n("../../range").Range,f=r.FoldMode=function(){};d.inherits(f,p),(function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(g,s,a){var h=g.getLine(a);return this.foldingStartMarker.test(h)?h[0]=="`"&&g.bgTokenizer.getState(a)=="start"?"end":"start":""},this.getFoldWidgetRange=function(g,s,a){function h(O){return M=g.getTokens(O)[0],M&&M.type.lastIndexOf(A,0)===0}function c(){var O=M.value[0];return O=="="?6:O=="-"?5:7-M.value.search(/[^#]|$/)}var i=g.getLine(a),l=i.length,m=g.getLength(),b=a,x=a;if(i.match(this.foldingStartMarker)){if(i[0]=="`"){if(g.bgTokenizer.getState(a)!=="start"){for(;++a<m&&(i=g.getLine(a),!(i[0]=="`"&i.substring(0,3)=="```")););return new w(b,l,a,0)}for(;a-- >0&&(i=g.getLine(a),!(i[0]=="`"&i.substring(0,3)=="```")););return new w(a,i.length,b,0)}var M,A="markup.heading";if(h(a)){for(var _=c();++a<m;)if(h(a)){var k=c();if(k>=_)break}if(x=a-(!M||["=","-"].indexOf(M.value[0])==-1?1:2),x>b)for(;x>b&&/^\s*$/.test(g.getLine(x));)x--;if(x>b){var E=g.getLine(x).length;return new w(b,l,x,E)}}}}}).call(f.prototype)}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(n,r,u){var d=n("../range").Range,p=function(){};(function(){this.checkOutdent=function(w,f){return/^\s+$/.test(w)?/^\s*\}/.test(f):!1},this.autoOutdent=function(w,f){var g=w.getLine(f),s=g.match(/^(\s*\})/);if(!s)return 0;var a=s[1].length,h=w.findMatchingBracket({row:f,column:a});if(!h||h.row==f)return 0;var c=this.$getIndent(w.getLine(h.row));w.replace(new d(f,0,f,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(p.prototype),r.MatchingBraceOutdent=p}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(n,r,u){function d(s,a){return s&&s.type.lastIndexOf(a+".xml")>-1}var p=n("../../lib/oop"),w=n("../behaviour").Behaviour,f=n("../../token_iterator").TokenIterator,g=function(){this.add("string_dquotes","insertion",function(s,a,h,c,i){if(i=='"'||i=="'"){var l=i,m=c.doc.getTextRange(h.getSelectionRange());if(m!==""&&m!=="'"&&m!='"'&&h.getWrapBehavioursEnabled())return{text:l+m+l,selection:!1};var b=h.getCursorPosition(),x=c.doc.getLine(b.row),M=x.substring(b.column,b.column+1),A=new f(c,b.row,b.column),_=A.getCurrentToken();if(M==l&&(d(_,"attribute-value")||d(_,"string")))return{text:"",selection:[1,1]};if(_||(_=A.stepBackward()),!_)return;for(;d(_,"tag-whitespace")||d(_,"whitespace");)_=A.stepBackward();var k=!M||M.match(/\s/);if(d(_,"attribute-equals")&&(k||M==">")||d(_,"decl-attribute-equals")&&(k||M=="?"))return{text:l+l,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(s,a,h,c,i){var l=c.doc.getTextRange(i);if(!i.isMultiLine()&&(l=='"'||l=="'")){var m=c.doc.getLine(i.start.row),b=m.substring(i.start.column+1,i.start.column+2);if(b==l)return i.end.column++,i}}),this.add("autoclosing","insertion",function(s,a,h,c,i){if(i==">"){var l=h.getSelectionRange().start,m=new f(c,l.row,l.column),b=m.getCurrentToken()||m.stepBackward();if(!b||!(d(b,"tag-name")||d(b,"tag-whitespace")||d(b,"attribute-name")||d(b,"attribute-equals")||d(b,"attribute-value"))||d(b,"reference.attribute-value"))return;if(d(b,"attribute-value")){var x=m.getCurrentTokenColumn()+b.value.length;if(l.column<x)return;if(l.column==x){var M=m.stepForward();if(M&&d(M,"attribute-value"))return;m.stepBackward()}}if(/^\s*>/.test(c.getLine(l.row).slice(l.column)))return;for(;!d(b,"tag-name");)if(b=m.stepBackward(),b.value=="<"){b=m.stepForward();break}var A=m.getCurrentTokenRow(),_=m.getCurrentTokenColumn();if(d(m.stepBackward(),"end-tag-open"))return;var k=b.value;return A==l.row&&(k=k.substring(0,l.column-_)),this.voidElements&&this.voidElements.hasOwnProperty(k.toLowerCase())?void 0:{text:"></"+k+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(s,a,h,c,i){if(i==`
989
+ `){var l=h.getCursorPosition(),m=c.getLine(l.row),b=new f(c,l.row,l.column),x=b.getCurrentToken();if(d(x,"")&&x.type.indexOf("tag-close")!==-1){if(x.value=="/>")return;for(;x&&x.type.indexOf("tag-name")===-1;)x=b.stepBackward();if(!x)return;var M=x.value,A=b.getCurrentTokenRow();if(x=b.stepBackward(),!x||x.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[M]||!this.voidElements){var _=c.getTokenAt(l.row,l.column+1),m=c.getLine(A),k=this.$getIndent(m),E=k+c.getTabString();return _&&_.value==="</"?{text:`
990
+ `+E+`
991
+ `+k,selection:[1,E.length,1,E.length]}:{text:`
992
+ `+E}}}}})};p.inherits(g,w),r.XmlBehaviour=g}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(n,r,u){var d=n("../../lib/oop"),p=n("../../token_iterator").TokenIterator,w=n("../behaviour/cstyle").CstyleBehaviour,f=n("../behaviour/xml").XmlBehaviour,g=function(){var s=new f({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(s),this.inherit(w),this.add("autoclosing-fragment","insertion",function(a,h,c,i,l){if(l==">"){var m=c.getSelectionRange().start,b=new p(i,m.row,m.column),x=b.getCurrentToken()||b.stepBackward();if(!x)return;if(x.value=="<")return{text:"></>",selection:[1,1]}}})};d.inherits(g,w),r.JavaScriptBehaviour=g}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(n,r,u){function d(a,h){return a&&a.type&&a.type.lastIndexOf(h+".xml")>-1}var p=n("../../lib/oop"),w=n("../../range").Range,f=n("./fold_mode").FoldMode,g=r.FoldMode=function(a,h){f.call(this),this.voidElements=a||{},this.optionalEndTags=p.mixin({},this.voidElements),h&&p.mixin(this.optionalEndTags,h)};p.inherits(g,f);var s=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(a,h,c){var i=this._getFirstTagInLine(a,c);return i?i.closing||!i.tagName&&i.selfClosing?h==="markbeginend"?"end":"":!i.tagName||i.selfClosing||this.voidElements.hasOwnProperty(i.tagName.toLowerCase())||this._findEndTagInLine(a,c,i.tagName,i.end.column)?"":"start":this.getCommentFoldWidget(a,c)},this.getCommentFoldWidget=function(a,h){return/comment/.test(a.getState(h))&&/<!-/.test(a.getLine(h))?"start":""},this._getFirstTagInLine=function(a,h){for(var c=a.getTokens(h),i=new s,l=0;l<c.length;l++){var m=c[l];if(d(m,"tag-open")){if(i.end.column=i.start.column+m.value.length,i.closing=d(m,"end-tag-open"),m=c[++l],!m)return null;if(i.tagName=m.value,m.value===""){if(m=c[++l],!m)return null;i.tagName=m.value}for(i.end.column+=m.value.length,l++;l<c.length;l++)if(m=c[l],i.end.column+=m.value.length,d(m,"tag-close")){i.selfClosing=m.value=="/>";break}return i}if(d(m,"tag-close"))return i.selfClosing=m.value=="/>",i;i.start.column+=m.value.length}return null},this._findEndTagInLine=function(a,h,c,i){for(var l=a.getTokens(h),m=0,b=0;b<l.length;b++){var x=l[b];if(m+=x.value.length,!(m<i-1)&&d(x,"end-tag-open")&&(x=l[b+1],d(x,"tag-name")&&x.value===""&&(x=l[b+2]),x&&x.value==c))return!0}return!1},this.getFoldWidgetRange=function(a,h,c){var i=this._getFirstTagInLine(a,c);if(!i)return this.getCommentFoldWidget(a,c)&&a.getCommentFoldRange(c,a.getLine(c).length);var l=a.getMatchingTags({row:c,column:0});if(l)return new w(l.openTag.end.row,l.openTag.end.column,l.closeTag.start.row,l.closeTag.start.column)}}).call(g.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(n,r,u){var d=n("../../lib/oop"),p=n("../../range").Range,w=n("./fold_mode").FoldMode,f=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};d.inherits(f,w),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,s,a){var h=g.getLine(a);if(this.singleLineBlockCommentRe.test(h)&&!this.startRegionRe.test(h)&&!this.tripleStarBlockCommentRe.test(h))return"";var c=this._getFoldWidgetBase(g,s,a);return!c&&this.startRegionRe.test(h)?"start":c},this.getFoldWidgetRange=function(g,s,a,h){var c=g.getLine(a);if(this.startRegionRe.test(c))return this.getCommentRegionBlock(g,c,a);var i=c.match(this.foldingStartMarker);if(i){var l=i.index;if(i[1])return this.openingBracketBlock(g,i[1],a,l);var m=g.getCommentFoldRange(a,l+i[0].length,1);return m&&!m.isMultiLine()&&(h?m=this.getSectionRange(g,a):s!="all"&&(m=null)),m}if(s!=="markbegin"){var i=c.match(this.foldingStopMarker);if(i){var l=i.index+i[0].length;return i[1]?this.closingBracketBlock(g,i[1],a,l):g.getCommentFoldRange(a,l,-1)}}},this.getSectionRange=function(g,s){var a=g.getLine(s),h=a.search(/\S/),c=s,i=a.length;s+=1;for(var l=s,m=g.getLength();++s<m;){a=g.getLine(s);var b=a.search(/\S/);if(b!==-1){if(h>b)break;var x=this.getFoldWidgetRange(g,"all",s);if(x){if(x.start.row<=c)break;if(x.isMultiLine())s=x.end.row;else if(h==b)break}l=s}}return new p(c,i,l,g.getLine(l).length)},this.getCommentRegionBlock=function(g,s,a){for(var h=s.search(/\s*$/),c=g.getLength(),i=a,l=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,m=1;++a<c;){s=g.getLine(a);var b=l.exec(s);if(b&&(b[1]?m--:m++,!m))break}var x=a;if(x>i)return new p(i,h,x,s.length)}}).call(f.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(n,r,u){var d=n("../../lib/oop"),p=n("./xml").FoldMode,w=n("./cstyle").FoldMode,f=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end))),this.xmlFoldMode=new p};d.inherits(f,w),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,s,a){var h=this.getFoldWidgetBase(g,s,a);return h||this.xmlFoldMode.getFoldWidget(g,s,a)},this.getFoldWidgetRange=function(g,s,a,h){var c=this.getFoldWidgetRangeBase(g,s,a,h);return c||this.xmlFoldMode.getFoldWidgetRange(g,s,a)}}).call(f.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./javascript_highlight_rules").JavaScriptHighlightRules,f=n("./matching_brace_outdent").MatchingBraceOutdent,g=n("../worker/worker_client").WorkerClient,s=n("./behaviour/javascript").JavaScriptBehaviour,a=n("./folding/javascript").FoldMode,h=function(){this.HighlightRules=w,this.$outdent=new f,this.$behaviour=new s,this.foldingRules=new a};d.inherits(h,p),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(c,i,l){var m=this.$getIndent(i),b=this.getTokenizer().getLineTokens(i,c),x=b.tokens,M=b.state;if(x.length&&x[x.length-1].type=="comment")return m;if(c=="start"||c=="no_regex"){var A=i.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);A&&(m+=l)}else if(c=="doc-start"&&(M=="start"||M=="no_regex"))return"";return m},this.checkOutdent=function(c,i,l){return this.$outdent.checkOutdent(i,l)},this.autoOutdent=function(c,i,l){this.$outdent.autoOutdent(i,l)},this.createWorker=function(c){var i=new g(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return i.attachToDocument(c.getDocument()),i.on("annotate",function(l){c.setAnnotations(l.data)}),i.on("terminate",function(){c.clearAnnotations()}),i},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(h.prototype),r.Mode=h}),ace.define("ace/mode/css_completions",["require","exports","module"],function(n,r,u){var d={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},p=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var w=document.createElement("c").style;for(var f in w)if(typeof w[f]=="string"){var g=f.replace(/[A-Z]/g,function(s){return"-"+s.toLowerCase()});d.hasOwnProperty(g)||(d[g]=1)}}this.completionsDefined=!0},this.getCompletions=function(w,f,g,s){if(this.completionsDefined||this.defineCompletions(),w==="ruleset"||f.$mode.$id=="ace/mode/scss"){var a=f.getLine(g.row).substr(0,g.column),h=/\([^)]*$/.test(a);return h&&(a=a.substr(a.lastIndexOf("(")+1)),/:[^;]+$/.test(a)?this.getPropertyValueCompletions(w,f,g,s):this.getPropertyCompletions(w,f,g,s,h)}return[]},this.getPropertyCompletions=function(w,f,g,s,a){a=a||!1;var h=Object.keys(d);return h.map(function(c){return{caption:c,snippet:c+": $0"+(a?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(w,f,g,s){var a=f.getLine(g.row).substr(0,g.column),h=(/([\w\-]+):[^:]*$/.exec(a)||{})[1];if(!h)return[];var c=[];return h in d&&typeof d[h]=="object"&&(c=Object.keys(d[h])),c.map(function(i){return{caption:i,snippet:i,meta:"property value",score:1e6}})}}).call(p.prototype),r.CssCompletions=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(n,r,u){var d=n("../../lib/oop");n("../behaviour").Behaviour;var p=n("./cstyle").CstyleBehaviour,w=n("../../token_iterator").TokenIterator,f=function(){this.inherit(p),this.add("colon","insertion",function(g,s,a,h,c){if(c===":"&&a.selection.isEmpty()){var i=a.getCursorPosition(),l=new w(h,i.row,i.column),m=l.getCurrentToken();if(m&&m.value.match(/\s+/)&&(m=l.stepBackward()),m&&m.type==="support.type"){var b=h.doc.getLine(i.row),x=b.substring(i.column,i.column+1);if(x===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(b.substring(i.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(g,s,a,h,c){var i=h.doc.getTextRange(c);if(!c.isMultiLine()&&i===":"){var l=a.getCursorPosition(),m=new w(h,l.row,l.column),b=m.getCurrentToken();if(b&&b.value.match(/\s+/)&&(b=m.stepBackward()),b&&b.type==="support.type"){var x=h.doc.getLine(c.start.row),M=x.substring(c.end.column,c.end.column+1);if(M===";")return c.end.column++,c}}}),this.add("semicolon","insertion",function(g,s,a,h,c){if(c===";"&&a.selection.isEmpty()){var i=a.getCursorPosition(),l=h.doc.getLine(i.row),m=l.substring(i.column,i.column+1);if(m===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(g,s,a,h,c){if(c==="!"&&a.selection.isEmpty()){var i=a.getCursorPosition(),l=h.doc.getLine(i.row);if(/^\s*(;|}|$)/.test(l.substring(i.column)))return{text:"!important",selection:[10,10]}}})};d.inherits(f,p),r.CssBehaviour=f}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./css_highlight_rules").CssHighlightRules,f=n("./matching_brace_outdent").MatchingBraceOutdent,g=n("../worker/worker_client").WorkerClient,s=n("./css_completions").CssCompletions,a=n("./behaviour/css").CssBehaviour,h=n("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=w,this.$outdent=new f,this.$behaviour=new a,this.$completer=new s,this.foldingRules=new h};d.inherits(c,p),(function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(i,l,m){var b=this.$getIndent(l),x=this.getTokenizer().getLineTokens(l,i).tokens;if(x.length&&x[x.length-1].type=="comment")return b;var M=l.match(/^.*\{\s*$/);return M&&(b+=m),b},this.checkOutdent=function(i,l,m){return this.$outdent.checkOutdent(l,m)},this.autoOutdent=function(i,l,m){this.$outdent.autoOutdent(l,m)},this.getCompletions=function(i,l,m,b){return this.$completer.getCompletions(i,l,m,b)},this.createWorker=function(i){var l=new g(["ace"],"ace/mode/css_worker","Worker");return l.attachToDocument(i.getDocument()),l.on("annotate",function(m){i.setAnnotations(m.data)}),l.on("terminate",function(){i.clearAnnotations()}),l},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}).call(c.prototype),r.Mode=c}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(n,r,u){var d=n("../../lib/oop"),p=n("./fold_mode").FoldMode,w=r.FoldMode=function(f,g){this.defaultMode=f,this.subModes=g};d.inherits(w,p),(function(){this.$getMode=function(f){typeof f!="string"&&(f=f[0]);for(var g in this.subModes)if(f.indexOf(g)===0)return this.subModes[g];return null},this.$tryMode=function(f,g,s,a){var h=this.$getMode(f);return h?h.getFoldWidget(g,s,a):""},this.getFoldWidget=function(f,g,s){return this.$tryMode(f.getState(s-1),f,g,s)||this.$tryMode(f.getState(s),f,g,s)||this.defaultMode.getFoldWidget(f,g,s)},this.getFoldWidgetRange=function(f,g,s){var a=this.$getMode(f.getState(s-1));return(!a||!a.getFoldWidget(f,g,s))&&(a=this.$getMode(f.getState(s))),(!a||!a.getFoldWidget(f,g,s))&&(a=this.defaultMode),a.getFoldWidgetRange(f,g,s)}}).call(w.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(n,r,u){var d=n("../../lib/oop"),p=n("./mixed").FoldMode,w=n("./xml").FoldMode,f=n("./cstyle").FoldMode,g=r.FoldMode=function(s,a){p.call(this,new w(s,a),{"js-":new f,"css-":new f})};d.inherits(g,p)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(n,r,u){function d(l,m){return l.type.lastIndexOf(m+".xml")>-1}function p(l,m){for(var b=new f(l,m.row,m.column),x=b.getCurrentToken();x&&!d(x,"tag-name");)x=b.stepBackward();if(x)return x.value}function w(l,m){for(var b=new f(l,m.row,m.column),x=b.getCurrentToken();x&&!d(x,"attribute-name");)x=b.stepBackward();if(x)return x.value}var f=n("../token_iterator").TokenIterator,g=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],a=g.concat(s),h={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},c=Object.keys(h),i=function(){};(function(){this.getCompletions=function(l,m,b,x){var M=m.getTokenAt(b.row,b.column);if(!M)return[];if(d(M,"tag-name")||d(M,"tag-open")||d(M,"end-tag-open"))return this.getTagCompletions(l,m,b,x);if(d(M,"tag-whitespace")||d(M,"attribute-name"))return this.getAttributeCompletions(l,m,b,x);if(d(M,"attribute-value"))return this.getAttributeValueCompletions(l,m,b,x);var A=m.getLine(b.row).substr(0,b.column);return/&[a-z]*$/i.test(A)?this.getHTMLEntityCompletions(l,m,b,x):[]},this.getTagCompletions=function(l,m,b,x){return c.map(function(M){return{value:M,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(l,m,b,x){var M=p(m,b);if(!M)return[];var A=a;return M in h&&(A=A.concat(Object.keys(h[M]))),A.map(function(_){return{caption:_,snippet:_+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(l,m,b,x){var M=p(m,b),A=w(m,b);if(!M)return[];var _=[];return M in h&&A in h[M]&&typeof h[M][A]=="object"&&(_=Object.keys(h[M][A])),_.map(function(k){return{caption:k,snippet:k,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(l,m,b,x){var M=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return M.map(function(A){return{caption:A,snippet:A,meta:"html entity",score:1e6}})}}).call(i.prototype),r.HtmlCompletions=i}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(n,r,u){var d=n("../lib/oop"),p=n("../lib/lang"),w=n("./text").Mode,f=n("./javascript").Mode,g=n("./css").Mode,s=n("./html_highlight_rules").HtmlHighlightRules,a=n("./behaviour/xml").XmlBehaviour,h=n("./folding/html").FoldMode,c=n("./html_completions").HtmlCompletions,i=n("../worker/worker_client").WorkerClient,l=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],m=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],b=function(x){this.fragmentContext=x&&x.fragmentContext,this.HighlightRules=s,this.$behaviour=new a,this.$completer=new c,this.createModeDelegates({"js-":f,"css-":g}),this.foldingRules=new h(this.voidElements,p.arrayToMap(m))};d.inherits(b,w),(function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=p.arrayToMap(l),this.getNextLineIndent=function(x,M,A){return this.$getIndent(M)},this.checkOutdent=function(x,M,A){return!1},this.getCompletions=function(x,M,A,_){return this.$completer.getCompletions(x,M,A,_)},this.createWorker=function(x){if(this.constructor==b){var M=new i(["ace"],"ace/mode/html_worker","Worker");return M.attachToDocument(x.getDocument()),this.fragmentContext&&M.call("setOptions",[{context:this.fragmentContext}]),M.on("error",function(A){x.setAnnotations(A.data)}),M.on("terminate",function(){x.clearAnnotations()}),M}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}).call(b.prototype),r.Mode=b}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(n,r,u){var d=n("../lib/oop"),p=n("./text_highlight_rules").TextHighlightRules,w=r.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",f=r.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",g=function(){var s=this.createKeywordMapper({keyword:w,"support.function.builtin":f,"invalid.deprecated":"debugger"},"identifier"),a="(?:(?:[1-9]\\d*)|(?:0))",h="(?:\\.\\d+)",c="(?:\\d+)",i="(?:(?:"+c+"?"+h+")|(?:"+c+"\\.))",l="(?:(?:"+i+"|"+c+"))",m="(?:"+l+"|"+i+")",b="(?:&"+c+")",x="[a-zA-Z_][a-zA-Z0-9_]*",M="(?:"+x+"(?==))",A="(?:\\$(?:SHLVL|\\$|\\!|\\?))",_="(?:"+x+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string.start",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string.end",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(k,E,O){var F=k[2]=="-"?"indentedHeredoc":"heredoc",L=k.split(this.splitRegex);return O.push(F,L[4]),[{type:"constant",value:L[1]},{type:"text",value:L[2]},{type:"string",value:L[3]},{type:"support.class",value:L[4]},{type:"string",value:L[5]}]},rules:{heredoc:[{onMatch:function(k,E,O){return k===O[1]?(O.shift(),O.shift(),this.next=O[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(k,E,O){return k===O[1]?(O.shift(),O.shift(),this.next=O[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(k,E){return E[0]==="heredoc"||E[0]==="indentedHeredoc"?E[0]:k}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:A},{token:"variable",regex:M},{include:"variables"},{token:"support.function",regex:_},{token:"support.function",regex:b},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:m},{token:"constant.numeric",regex:a+"\\b"},{token:s,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};d.inherits(g,p),r.ShHighlightRules=g}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle"],function(n,r,u){var d=n("../lib/oop"),p=n("./text").Mode,w=n("./sh_highlight_rules").ShHighlightRules,f=n("../range").Range,g=n("./folding/cstyle").FoldMode,s=function(){this.HighlightRules=w,this.foldingRules=new g,this.$behaviour=this.$defaultBehaviour};d.inherits(s,p),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(h,c,i){var l=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,h),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return l;if(h=="start"){var x=c.match(/^.*[\{\(\[:]\s*$/);x&&(l+=i)}return l};var a={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(h,c,i){if(i!==`\r
993
+ `&&i!=="\r"&&i!==`
994
+ `)return!1;var l=this.getTokenizer().getLineTokens(c.trim(),h).tokens;if(!l)return!1;do var m=l.pop();while(m&&(m.type=="comment"||m.type=="text"&&m.value.match(/^\s+$/)));return m?m.type=="keyword"&&a[m.value]:!1},this.autoOutdent=function(h,c,i){i+=1;var l=this.$getIndent(c.getLine(i)),m=c.getTabString();l.slice(-m.length)==m&&c.remove(new f(i,l.length-m.length,i,l.length))},this.$id="ace/mode/sh",this.snippetFileId="ace/snippets/sh"}).call(s.prototype),r.Mode=s}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(n,r,u){var d=n("../lib/oop"),p=n("../lib/lang"),w=n("./text").Mode,f=n("./xml_highlight_rules").XmlHighlightRules,g=n("./behaviour/xml").XmlBehaviour,s=n("./folding/xml").FoldMode,a=n("../worker/worker_client").WorkerClient,h=function(){this.HighlightRules=f,this.$behaviour=new g,this.foldingRules=new s};d.inherits(h,w),(function(){this.voidElements=p.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(c){var i=new a(["ace"],"ace/mode/xml_worker","Worker");return i.attachToDocument(c.getDocument()),i.on("error",function(l){c.setAnnotations(l.data)}),i.on("terminate",function(){c.clearAnnotations()}),i},this.$id="ace/mode/xml"}).call(h.prototype),r.Mode=h}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/behaviour/cstyle","ace/mode/text","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown","ace/mode/javascript","ace/mode/html","ace/mode/sh","ace/mode/sh","ace/mode/xml","ace/mode/css"],function(n,r,u){var d=n("../lib/oop"),p=n("./behaviour/cstyle").CstyleBehaviour,w=n("./text").Mode,f=n("./markdown_highlight_rules").MarkdownHighlightRules,g=n("./folding/markdown").FoldMode,s=function(){this.HighlightRules=f,this.createModeDelegates({javascript:n("./javascript").Mode,html:n("./html").Mode,bash:n("./sh").Mode,sh:n("./sh").Mode,xml:n("./xml").Mode,css:n("./css").Mode}),this.foldingRules=new g,this.$behaviour=new p({braces:!0})};d.inherits(s,w),(function(){this.type="text",this.blockComment={start:"<!--",end:"-->"},this.$quotes={'"':'"',"`":"`"},this.getNextLineIndent=function(a,h,c){if(a=="listblock"){var i=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(h);if(!i)return"";var l=i[2];return l||(l=parseInt(i[3],10)+1+"."),i[1]+l+i[4]}return this.$getIndent(h)},this.$id="ace/mode/markdown",this.snippetFileId="ace/snippets/markdown"}).call(s.prototype),r.Mode=s}),function(){ace.require(["ace/mode/markdown"],function(n){t&&(t.exports=n)})}()}(Mg)),Mg.exports}g_();var Og={exports:{}},Ig;function m_(){return Ig||(Ig=1,function(t,e){ace.define("ace/theme/twilight-css",["require","exports","module"],function(n,r,u){u.exports=`.ace-twilight .ace_gutter {
995
+ background: #232323;
996
+ color: #E2E2E2
997
+ }
998
+
999
+ .ace-twilight .ace_print-margin {
1000
+ width: 1px;
1001
+ background: #232323
1002
+ }
1003
+
1004
+ .ace-twilight {
1005
+ background-color: #141414;
1006
+ color: #F8F8F8
1007
+ }
1008
+
1009
+ .ace-twilight .ace_cursor {
1010
+ color: #A7A7A7
1011
+ }
1012
+
1013
+ .ace-twilight .ace_marker-layer .ace_selection {
1014
+ background: rgba(221, 240, 255, 0.20)
1015
+ }
1016
+
1017
+ .ace-twilight.ace_multiselect .ace_selection.ace_start {
1018
+ box-shadow: 0 0 3px 0px #141414;
1019
+ }
1020
+
1021
+ .ace-twilight .ace_marker-layer .ace_step {
1022
+ background: rgb(102, 82, 0)
1023
+ }
1024
+
1025
+ .ace-twilight .ace_marker-layer .ace_bracket {
1026
+ margin: -1px 0 0 -1px;
1027
+ border: 1px solid rgba(255, 255, 255, 0.25)
1028
+ }
1029
+
1030
+ .ace-twilight .ace_marker-layer .ace_active-line {
1031
+ background: rgba(255, 255, 255, 0.031)
1032
+ }
1033
+
1034
+ .ace-twilight .ace_gutter-active-line {
1035
+ background-color: rgba(255, 255, 255, 0.031)
1036
+ }
1037
+
1038
+ .ace-twilight .ace_marker-layer .ace_selected-word {
1039
+ border: 1px solid rgba(221, 240, 255, 0.20)
1040
+ }
1041
+
1042
+ .ace-twilight .ace_invisible {
1043
+ color: rgba(255, 255, 255, 0.25)
1044
+ }
1045
+
1046
+ .ace-twilight .ace_keyword,
1047
+ .ace-twilight .ace_meta {
1048
+ color: #CDA869
1049
+ }
1050
+
1051
+ .ace-twilight .ace_constant,
1052
+ .ace-twilight .ace_constant.ace_character,
1053
+ .ace-twilight .ace_constant.ace_character.ace_escape,
1054
+ .ace-twilight .ace_constant.ace_other,
1055
+ .ace-twilight .ace_heading,
1056
+ .ace-twilight .ace_markup.ace_heading,
1057
+ .ace-twilight .ace_support.ace_constant {
1058
+ color: #CF6A4C
1059
+ }
1060
+
1061
+ .ace-twilight .ace_invalid.ace_illegal {
1062
+ color: #F8F8F8;
1063
+ background-color: rgba(86, 45, 86, 0.75)
1064
+ }
1065
+
1066
+ .ace-twilight .ace_invalid.ace_deprecated {
1067
+ text-decoration: underline;
1068
+ font-style: italic;
1069
+ color: #D2A8A1
1070
+ }
1071
+
1072
+ .ace-twilight .ace_support {
1073
+ color: #9B859D
1074
+ }
1075
+
1076
+ .ace-twilight .ace_fold {
1077
+ background-color: #AC885B;
1078
+ border-color: #F8F8F8
1079
+ }
1080
+
1081
+ .ace-twilight .ace_support.ace_function {
1082
+ color: #DAD085
1083
+ }
1084
+
1085
+ .ace-twilight .ace_list,
1086
+ .ace-twilight .ace_markup.ace_list,
1087
+ .ace-twilight .ace_storage {
1088
+ color: #F9EE98
1089
+ }
1090
+
1091
+ .ace-twilight .ace_entity.ace_name.ace_function,
1092
+ .ace-twilight .ace_meta.ace_tag {
1093
+ color: #AC885B
1094
+ }
1095
+
1096
+ .ace-twilight .ace_string {
1097
+ color: #8F9D6A
1098
+ }
1099
+
1100
+ .ace-twilight .ace_string.ace_regexp {
1101
+ color: #E9C062
1102
+ }
1103
+
1104
+ .ace-twilight .ace_comment {
1105
+ font-style: italic;
1106
+ color: #5F5A60
1107
+ }
1108
+
1109
+ .ace-twilight .ace_variable {
1110
+ color: #7587A6
1111
+ }
1112
+
1113
+ .ace-twilight .ace_xml-pe {
1114
+ color: #494949
1115
+ }
1116
+
1117
+ .ace-twilight .ace_indent-guide {
1118
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
1119
+ }
1120
+
1121
+ .ace-twilight .ace_indent-guide-active {
1122
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
1123
+ }
1124
+ `}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(n,r,u){r.isDark=!0,r.cssClass="ace-twilight",r.cssText=n("./twilight-css");var d=n("../lib/dom");d.importCssString(r.cssText,r.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(n){t&&(t.exports=n)})}()}(Og)),Og.exports}m_();var Ng={exports:{}},Dg;function y_(){return Dg||(Dg=1,function(t,e){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(n,r,u){function d(k){var E=new Date().toLocaleString("en-us",k);return E.length==1?"0"+E:E}var p=n("./lib/dom"),w=n("./lib/oop"),f=n("./lib/event_emitter").EventEmitter,g=n("./lib/lang"),s=n("./range").Range,a=n("./range_list").RangeList,h=n("./keyboard/hash_handler").HashHandler,c=n("./tokenizer").Tokenizer,i=n("./clipboard"),l={CURRENT_WORD:function(k){return k.session.getTextRange(k.session.getWordRange())},SELECTION:function(k,E,O){var F=k.session.getTextRange();return O?F.replace(/\n\r?([ \t]*\S)/g,`
1125
+ `+O+"$1"):F},CURRENT_LINE:function(k){return k.session.getLine(k.getCursorPosition().row)},PREV_LINE:function(k){return k.session.getLine(k.getCursorPosition().row-1)},LINE_INDEX:function(k){return k.getCursorPosition().row},LINE_NUMBER:function(k){return k.getCursorPosition().row+1},SOFT_TABS:function(k){return k.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(k){return k.session.getTabSize()},CLIPBOARD:function(k){return i.getText&&i.getText()},FILENAME:function(k){return/[^/\\]*$/.exec(this.FILEPATH(k))[0]},FILENAME_BASE:function(k){return/[^/\\]*$/.exec(this.FILEPATH(k))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(k){return this.FILEPATH(k).replace(/[^/\\]*$/,"")},FILEPATH:function(k){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(k){var E=k.session.$mode||{};return E.blockComment&&E.blockComment.start||""},BLOCK_COMMENT_END:function(k){var E=k.session.$mode||{};return E.blockComment&&E.blockComment.end||""},LINE_COMMENT:function(k){var E=k.session.$mode||{};return E.lineCommentStart||""},CURRENT_YEAR:d.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:d.bind(null,{year:"2-digit"}),CURRENT_MONTH:d.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:d.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:d.bind(null,{month:"short"}),CURRENT_DATE:d.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:d.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:d.bind(null,{weekday:"short"}),CURRENT_HOUR:d.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:d.bind(null,{minute:"2-digit"}),CURRENT_SECOND:d.bind(null,{second:"2-digit"})};l.SELECTED_TEXT=l.SELECTION;var m=function(){function k(){this.snippetMap={},this.snippetNameMap={},this.variables=l}return k.prototype.getTokenizer=function(){return k.$tokenizer||this.createTokenizer()},k.prototype.createTokenizer=function(){function E(L){return L=L.substr(1),/^\d+$/.test(L)?[{tabstopId:parseInt(L,10)}]:[{text:L}]}function O(L){return"(?:[^\\\\"+L+"]|\\\\.)"}var F={regex:"/("+O("/")+"+)/",onMatch:function(L,H,P){var I=P[0];return I.fmtString=!0,I.guard=L.slice(1,-1),I.flag="",""},next:"formatString"};return k.$tokenizer=new c({start:[{regex:/\\./,onMatch:function(L,H,P){var I=L[1];return(I=="}"&&P.length||"`$\\".indexOf(I)!=-1)&&(L=I),[L]}},{regex:/}/,onMatch:function(L,H,P){return[P.length?P.shift():L]}},{regex:/\$(?:\d+|\w+)/,onMatch:E},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(L,H,P){var I=E(L.substr(1));return P.unshift(I[0]),I},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+O("\\|")+"*\\|",onMatch:function(L,H,P){var I=L.slice(1,-1).replace(/\\[,|\\]|,/g,function(T){return T.length==2?T[1]:"\0"}).split("\0").map(function(T){return{value:T}});return P[0].choices=I,[I[0]]},next:"start"},F,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(L,H,P){return P.length&&P[0].expectElse?(P[0].expectElse=!1,P[0].ifEnd={elseEnd:P[0]},[P[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(L,H,P){var I=L[1];return I=="}"&&P.length||"`$\\".indexOf(I)!=-1?L=I:I=="n"?L=`
1126
+ `:I=="t"?L=" ":"ulULE".indexOf(I)!=-1&&(L={changeCase:I,local:I>"a"}),[L]}},{regex:"/\\w*}",onMatch:function(L,H,P){var I=P.shift();return I&&(I.flag=L.slice(1,-1)),this.next=I&&I.tabstopId?"start":"",[I||L]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(L,H,P){return[{text:L.slice(1)}]}},{regex:/\${\w+/,onMatch:function(L,H,P){var I={text:L.slice(2)};return P.unshift(I),[I]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(L,H,P){var I=P.shift();return this.next=I&&I.tabstopId?"start":"",[I||L]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(L,H,P){var I=P[0];return I.formatFunction=L.slice(2,-1),[P.shift()]},next:"formatString"},F,{regex:/:[\?\-+]?/,onMatch:function(L,H,P){L[1]=="+"&&(P[0].ifEnd=P[0]),L[1]=="?"&&(P[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),k.$tokenizer},k.prototype.tokenizeTmSnippet=function(E,O){return this.getTokenizer().getLineTokens(E,O).tokens.map(function(F){return F.value||F})},k.prototype.getVariableValue=function(E,O,F){if(/^\d+$/.test(O))return(this.variables.__||{})[O]||"";if(/^[A-Z]\d+$/.test(O))return(this.variables[O[0]+"__"]||{})[O.substr(1)]||"";if(O=O.replace(/^TM_/,""),!this.variables.hasOwnProperty(O))return"";var L=this.variables[O];return typeof L=="function"&&(L=this.variables[O](E,O,F)),L??""},k.prototype.tmStrFormat=function(E,O,F){if(!O.fmt)return E;var L=O.flag||"",H=O.guard;H=new RegExp(H,L.replace(/[^gim]/g,""));var P=typeof O.fmt=="string"?this.tokenizeTmSnippet(O.fmt,"formatString"):O.fmt,I=this,T=E.replace(H,function(){var C=I.variables.__;I.variables.__=[].slice.call(arguments);for(var N=I.resolveVariables(P,F),j="E",U=0;U<N.length;U++){var K=N[U];if(typeof K=="object")if(N[U]="",K.changeCase&&K.local){var Z=N[U+1];Z&&typeof Z=="string"&&(K.changeCase=="u"?N[U]=Z[0].toUpperCase():N[U]=Z[0].toLowerCase(),N[U+1]=Z.substr(1))}else K.changeCase&&(j=K.changeCase);else j=="U"?N[U]=K.toUpperCase():j=="L"&&(N[U]=K.toLowerCase())}return I.variables.__=C,N.join("")});return T},k.prototype.tmFormatFunction=function(E,O,F){return O.formatFunction=="upcase"?E.toUpperCase():O.formatFunction=="downcase"?E.toLowerCase():E},k.prototype.resolveVariables=function(E,O){function F(j){var U=E.indexOf(j,I+1);U!=-1&&(I=U)}for(var L=[],H="",P=!0,I=0;I<E.length;I++){var T=E[I];if(typeof T=="string"){L.push(T),T==`
1127
+ `?(P=!0,H=""):P&&(H=/^\t*/.exec(T)[0],P=/\S/.test(T));continue}if(T){if(P=!1,T.fmtString){var C=E.indexOf(T,I+1);C==-1&&(C=E.length),T.fmt=E.slice(I+1,C),I=C}if(T.text){var N=this.getVariableValue(O,T.text,H)+"";T.fmtString&&(N=this.tmStrFormat(N,T,O)),T.formatFunction&&(N=this.tmFormatFunction(N,T,O)),N&&!T.ifEnd?(L.push(N),F(T)):!N&&T.ifEnd&&F(T.ifEnd)}else T.elseEnd?F(T.elseEnd):(T.tabstopId!=null||T.changeCase!=null)&&L.push(T)}}return L},k.prototype.getDisplayTextForSnippet=function(E,O){var F=b.call(this,E,O);return F.text},k.prototype.insertSnippetForSelection=function(E,O,F){F===void 0&&(F={});var L=b.call(this,E,O,F),H=E.getSelectionRange(),P=E.session.replace(H,L.text),I=new x(E),T=E.inVirtualSelectionMode&&E.selection.index;I.addTabstops(L.tabstops,H.start,P,T)},k.prototype.insertSnippet=function(E,O,F){F===void 0&&(F={});var L=this;if(E.inVirtualSelectionMode)return L.insertSnippetForSelection(E,O,F);E.forEachSelection(function(){L.insertSnippetForSelection(E,O,F)},null,{keepOrder:!0}),E.tabstopManager&&E.tabstopManager.tabNext()},k.prototype.$getScope=function(E){var O=E.session.$mode.$id||"";if(O=O.split("/").pop(),O==="html"||O==="php"){O==="php"&&!E.session.$mode.inlinePhp&&(O="html");var F=E.getCursorPosition(),L=E.session.getState(F.row);typeof L=="object"&&(L=L[0]),L.substring&&(L.substring(0,3)=="js-"?O="javascript":L.substring(0,4)=="css-"?O="css":L.substring(0,4)=="php-"&&(O="php"))}return O},k.prototype.getActiveScopes=function(E){var O=this.$getScope(E),F=[O],L=this.snippetMap;return L[O]&&L[O].includeScopes&&F.push.apply(F,L[O].includeScopes),F.push("_"),F},k.prototype.expandWithTab=function(E,O){var F=this,L=E.forEachSelection(function(){return F.expandSnippetForSelection(E,O)},null,{keepOrder:!0});return L&&E.tabstopManager&&E.tabstopManager.tabNext(),L},k.prototype.expandSnippetForSelection=function(E,O){var F=E.getCursorPosition(),L=E.session.getLine(F.row),H=L.substring(0,F.column),P=L.substr(F.column),I=this.snippetMap,T;return this.getActiveScopes(E).some(function(C){var N=I[C];return N&&(T=this.findMatchingSnippet(N,H,P)),!!T},this),T?(O&&O.dryRun||(E.session.doc.removeInLine(F.row,F.column-T.replaceBefore.length,F.column+T.replaceAfter.length),this.variables.M__=T.matchBefore,this.variables.T__=T.matchAfter,this.insertSnippetForSelection(E,T.content),this.variables.M__=this.variables.T__=null),!0):!1},k.prototype.findMatchingSnippet=function(E,O,F){for(var L=E.length;L--;){var H=E[L];if(!(H.startRe&&!H.startRe.test(O))&&!(H.endRe&&!H.endRe.test(F))&&!(!H.startRe&&!H.endRe))return H.matchBefore=H.startRe?H.startRe.exec(O):[""],H.matchAfter=H.endRe?H.endRe.exec(F):[""],H.replaceBefore=H.triggerRe?H.triggerRe.exec(O)[0]:"",H.replaceAfter=H.endTriggerRe?H.endTriggerRe.exec(F)[0]:"",H}},k.prototype.register=function(E,O){function F(C){return C&&!/^\^?\(.*\)\$?$|^\\b$/.test(C)&&(C="(?:"+C+")"),C||""}function L(C,N,j){return C=F(C),N=F(N),C=N+C,C&&C[C.length-1]!="$"&&(C+="$"),new RegExp(C)}function H(C){C.scope||(C.scope=O||"_"),O=C.scope,P[O]||(P[O]=[],I[O]={});var N=I[O];if(C.name){var j=N[C.name];j&&T.unregister(j),N[C.name]=C}P[O].push(C),C.prefix&&(C.tabTrigger=C.prefix),!C.content&&C.body&&(C.content=Array.isArray(C.body)?C.body.join(`
1128
+ `):C.body),C.tabTrigger&&!C.trigger&&(!C.guard&&/^\w/.test(C.tabTrigger)&&(C.guard="\\b"),C.trigger=g.escapeRegExp(C.tabTrigger)),!(!C.trigger&&!C.guard&&!C.endTrigger&&!C.endGuard)&&(C.startRe=L(C.trigger,C.guard),C.triggerRe=new RegExp(C.trigger),C.endRe=L(C.endTrigger,C.endGuard),C.endTriggerRe=new RegExp(C.endTrigger))}var P=this.snippetMap,I=this.snippetNameMap,T=this;E||(E=[]),Array.isArray(E)?E.forEach(H):Object.keys(E).forEach(function(C){H(E[C])}),this._signal("registerSnippets",{scope:O})},k.prototype.unregister=function(E,O){function F(P){var I=H[P.scope||O];if(I&&I[P.name]){delete I[P.name];var T=L[P.scope||O],C=T&&T.indexOf(P);C>=0&&T.splice(C,1)}}var L=this.snippetMap,H=this.snippetNameMap;E.content?F(E):Array.isArray(E)&&E.forEach(F)},k.prototype.parseSnippetFile=function(E){E=E.replace(/\r/g,"");for(var O=[],F={},L=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,H;H=L.exec(E);){if(H[1])try{F=JSON.parse(H[1]),O.push(F)}catch{}if(H[4])F.content=H[4].replace(/^\t/gm,""),O.push(F),F={};else{var P=H[2],I=H[3];if(P=="regex"){var T=/\/((?:[^\/\\]|\\.)*)|$/g;F.guard=T.exec(I)[1],F.trigger=T.exec(I)[1],F.endTrigger=T.exec(I)[1],F.endGuard=T.exec(I)[1]}else P=="snippet"?(F.tabTrigger=I.match(/^\S*/)[0],F.name||(F.name=I)):P&&(F[P]=I)}}return O},k.prototype.getSnippetByName=function(E,O){var F=this.snippetNameMap,L;return this.getActiveScopes(O).some(function(H){var P=F[H];return P&&(L=P[E]),!!L},this),L},k}();w.implement(m.prototype,f);var b=function(k,E,O){function F(ue){for(var ve=[],Ce=0;Ce<ue.length;Ce++){var Ee=ue[Ce];if(typeof Ee=="object"){if(N[Ee.tabstopId])continue;var Le=ue.lastIndexOf(Ee,Ce-1);Ee=ve[Le]||{tabstopId:Ee.tabstopId}}ve[Ce]=Ee}return ve}O===void 0&&(O={});var L=k.getCursorPosition(),H=k.session.getLine(L.row),P=k.session.getTabString(),I=H.match(/^\s*/)[0];L.column<I.length&&(I=I.slice(0,L.column)),E=E.replace(/\r/g,"");var T=this.tokenizeTmSnippet(E);T=this.resolveVariables(T,k),T=T.map(function(ue){return ue==`
1129
+ `&&!O.excludeExtraIndent?ue+I:typeof ue=="string"?ue.replace(/\t/g,P):ue});var C=[];T.forEach(function(ue,ve){if(typeof ue=="object"){var Ce=ue.tabstopId,Ee=C[Ce];if(Ee||(Ee=C[Ce]=[],Ee.index=Ce,Ee.value="",Ee.parents={}),Ee.indexOf(ue)===-1){ue.choices&&!Ee.choices&&(Ee.choices=ue.choices),Ee.push(ue);var Le=T.indexOf(ue,ve+1);if(Le!==-1){var Xe=T.slice(ve+1,Le),Ge=Xe.some(function(ft){return typeof ft=="object"});Ge&&!Ee.value?Ee.value=Xe:Xe.length&&(!Ee.value||typeof Ee.value!="string")&&(Ee.value=Xe.join(""))}}}}),C.forEach(function(ue){ue.length=0});for(var N={},j=0;j<T.length;j++){var U=T[j];if(typeof U=="object"){var K=U.tabstopId,Z=C[K],te=T.indexOf(U,j+1);if(N[K]){N[K]===U&&(delete N[K],Object.keys(N).forEach(function(ue){Z.parents[ue]=!0}));continue}N[K]=U;var he=Z.value;typeof he!="string"?he=F(he):U.fmt&&(he=this.tmStrFormat(he,U,k)),T.splice.apply(T,[j+1,Math.max(0,te-j)].concat(he,U)),Z.indexOf(U)===-1&&Z.push(U)}}var ne=0,ae=0,ce="";return T.forEach(function(ue){if(typeof ue=="string"){var ve=ue.split(`
1130
+ `);ve.length>1?(ae=ve[ve.length-1].length,ne+=ve.length-1):ae+=ue.length,ce+=ue}else ue&&(ue.start?ue.end={row:ne,column:ae}:ue.start={row:ne,column:ae})}),{text:ce,tabstops:C,tokens:T}},x=function(){function k(E){if(this.index=0,this.ranges=[],this.tabstops=[],E.tabstopManager)return E.tabstopManager;E.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=g.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(E)}return k.prototype.attach=function(E){this.$openTabstops=null,this.selectedTabstop=null,this.editor=E,this.session=E.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},k.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},k.prototype.onChange=function(E){for(var O=E.action[0]=="r",F=this.selectedTabstop||{},L=F.parents||{},H=this.tabstops.slice(),P=0;P<H.length;P++){var I=H[P],T=I==F||L[I.index];if(I.rangeList.$bias=T?0:1,E.action=="remove"&&I!==F){var C=I.parents&&I.parents[F.index],N=I.rangeList.pointIndex(E.start,C);N=N<0?-N-1:N+1;var j=I.rangeList.pointIndex(E.end,C);j=j<0?-j-1:j-1;for(var U=I.rangeList.ranges.slice(N,j),K=0;K<U.length;K++)this.removeRange(U[K])}I.rangeList.$onChange(E)}var Z=this.session;!this.$inChange&&O&&Z.getLength()==1&&!Z.getValue()&&this.detach()},k.prototype.updateLinkedFields=function(){var E=this.selectedTabstop;if(!(!E||!E.hasLinkedRanges||!E.firstNonLinked)){this.$inChange=!0;for(var O=this.session,F=O.getTextRange(E.firstNonLinked),L=0;L<E.length;L++){var H=E[L];if(H.linked){var P=H.original,I=r.snippetManager.tmStrFormat(F,P,this.editor);O.replace(H,I)}}this.$inChange=!1}},k.prototype.onAfterExec=function(E){E.command&&!E.command.readOnly&&this.updateLinkedFields()},k.prototype.onChangeSelection=function(){if(this.editor){for(var E=this.editor.selection.lead,O=this.editor.selection.anchor,F=this.editor.selection.isEmpty(),L=0;L<this.ranges.length;L++)if(!this.ranges[L].linked){var H=this.ranges[L].contains(E.row,E.column),P=F||this.ranges[L].contains(O.row,O.column);if(H&&P)return}this.detach()}},k.prototype.onChangeSession=function(){this.detach()},k.prototype.tabNext=function(E){var O=this.tabstops.length,F=this.index+(E||1);F=Math.min(Math.max(F,1),O),F==O&&(F=0),this.selectTabstop(F),this.updateTabstopMarkers(),F===0&&this.detach()},k.prototype.selectTabstop=function(E){this.$openTabstops=null;var O=this.tabstops[this.index];if(O&&this.addTabstopMarkers(O),this.index=E,O=this.tabstops[this.index],!(!O||!O.length)){this.selectedTabstop=O;var F=O.firstNonLinked||O;if(O.choices&&(F.cursor=F.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(F);else{var L=this.editor.multiSelect;L.toSingleRange(F);for(var H=0;H<O.length;H++)O.hasLinkedRanges&&O[H].linked||L.addRange(O[H].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},k.prototype.addTabstops=function(E,O,F){var L=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!E[0]){var H=s.fromPoints(F,F);A(H.start,O),A(H.end,O),E[0]=[H],E[0].index=0}var P=this.index,I=[P+1,0],T=this.ranges,C=this.snippetId=(this.snippetId||0)+1;E.forEach(function(N,j){var U=this.$openTabstops[j]||N;U.snippetId=C;for(var K=0;K<N.length;K++){var Z=N[K],te=s.fromPoints(Z.start,Z.end||Z.start);M(te.start,O),M(te.end,O),te.original=Z,te.tabstop=U,T.push(te),U!=N?U.unshift(te):U[K]=te,Z.fmtString||U.firstNonLinked&&L?(te.linked=!0,U.hasLinkedRanges=!0):U.firstNonLinked||(U.firstNonLinked=te)}U.firstNonLinked||(U.hasLinkedRanges=!1),U===N&&(I.push(U),this.$openTabstops[j]=U),this.addTabstopMarkers(U),U.rangeList=U.rangeList||new a,U.rangeList.$bias=0,U.rangeList.addList(U)},this),I.length>2&&(this.tabstops.length&&I.push(I.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,I))},k.prototype.addTabstopMarkers=function(E){var O=this.session;E.forEach(function(F){F.markerId||(F.markerId=O.addMarker(F,"ace_snippet-marker","text"))})},k.prototype.removeTabstopMarkers=function(E){var O=this.session;E.forEach(function(F){O.removeMarker(F.markerId),F.markerId=null})},k.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var E=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&E--,this.tabstops.forEach(function(O){O.snippetId===E?this.addTabstopMarkers(O):this.removeTabstopMarkers(O)},this)}},k.prototype.removeRange=function(E){var O=E.tabstop.indexOf(E);O!=-1&&E.tabstop.splice(O,1),O=this.ranges.indexOf(E),O!=-1&&this.ranges.splice(O,1),O=E.tabstop.rangeList.ranges.indexOf(E),O!=-1&&E.tabstop.splice(O,1),this.session.removeMarker(E.markerId),E.tabstop.length||(O=this.tabstops.indexOf(E.tabstop),O!=-1&&this.tabstops.splice(O,1),this.tabstops.length||this.detach())},k}();x.prototype.keyboardHandler=new h,x.prototype.keyboardHandler.bindKeys({Tab:function(k){r.snippetManager&&r.snippetManager.expandWithTab(k)||(k.tabstopManager.tabNext(1),k.renderer.scrollCursorIntoView())},"Shift-Tab":function(k){k.tabstopManager.tabNext(-1),k.renderer.scrollCursorIntoView()},Esc:function(k){k.tabstopManager.detach()}});var M=function(k,E){k.row==0&&(k.column+=E.column),k.row+=E.row},A=function(k,E){k.row==E.row&&(k.column-=E.column),k.row-=E.row};p.importCssString(`
1131
+ .ace_snippet-marker {
1132
+ -moz-box-sizing: border-box;
1133
+ box-sizing: border-box;
1134
+ background: rgba(194, 193, 208, 0.09);
1135
+ border: 1px dotted rgba(211, 208, 235, 0.62);
1136
+ position: absolute;
1137
+ }`,"snippets.css",!1),r.snippetManager=new m;var _=n("./editor").Editor;(function(){this.insertSnippet=function(k,E){return r.snippetManager.insertSnippet(this,k,E)},this.expandSnippet=function(k){return r.snippetManager.expandWithTab(this,k)}}).call(_.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(n,r,u){var d=n("../virtual_renderer").VirtualRenderer,p=n("../editor").Editor,w=n("../range").Range,f=n("../lib/event"),g=n("../lib/lang"),s=n("../lib/dom"),a=n("../config").nls,h=n("./../lib/useragent"),c=function(M){return"suggest-aria-id:".concat(M)},i=h.isSafari?"menu":"listbox",l=h.isSafari?"menuitem":"option",m=h.isSafari?"aria-current":"aria-selected",b=function(M){var A=new d(M);A.$maxLines=4;var _=new p(A);return _.setHighlightActiveLine(!1),_.setShowPrintMargin(!1),_.renderer.setShowGutter(!1),_.renderer.setHighlightGutterLine(!1),_.$mouseHandler.$focusTimeout=0,_.$highlightTagPending=!0,_},x=function(){function M(A){var _=s.createElement("div"),k=b(_);A&&A.appendChild(_),_.style.display="none",k.renderer.content.style.cursor="default",k.renderer.setStyle("ace_autocomplete"),k.renderer.$textLayer.element.setAttribute("role",i),k.renderer.$textLayer.element.setAttribute("aria-roledescription",a("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),k.renderer.$textLayer.element.setAttribute("aria-label",a("autocomplete.popup.aria-label","Autocomplete suggestions")),k.renderer.textarea.setAttribute("aria-hidden","true"),k.setOption("displayIndentGuides",!1),k.setOption("dragDelay",150);var E=function(){};k.focus=E,k.$isFocused=!0,k.renderer.$cursorLayer.restartTimer=E,k.renderer.$cursorLayer.element.style.opacity="0",k.renderer.$maxLines=8,k.renderer.$keepTextAreaAtCursor=!1,k.setHighlightActiveLine(!1),k.session.highlight(""),k.session.$searchHighlight.clazz="ace_highlight-marker",k.on("mousedown",function(T){var C=T.getDocumentPosition();k.selection.moveToPosition(C),L.start.row=L.end.row=C.row,T.stop()});var O,F=new w(-1,0,-1,1/0),L=new w(-1,0,-1,1/0);L.id=k.session.addMarker(L,"ace_active-line","fullLine"),k.setSelectOnHover=function(T){T?F.id&&(k.session.removeMarker(F.id),F.id=null):F.id=k.session.addMarker(F,"ace_line-hover","fullLine")},k.setSelectOnHover(!1),k.on("mousemove",function(T){if(!O){O=T;return}if(!(O.x==T.x&&O.y==T.y)){O=T,O.scrollTop=k.renderer.scrollTop,k.isMouseOver=!0;var C=O.getDocumentPosition().row;F.start.row!=C&&(F.id||k.setRow(C),P(C))}}),k.renderer.on("beforeRender",function(){if(O&&F.start.row!=-1){O.$pos=null;var T=O.getDocumentPosition().row;F.id||k.setRow(T),P(T,!0)}}),k.renderer.on("afterRender",function(){for(var T=k.renderer.$textLayer,C=T.config.firstRow,N=T.config.lastRow;C<=N;C++){var j=T.element.childNodes[C-T.config.firstRow];j.setAttribute("role",l),j.setAttribute("aria-roledescription",a("autocomplete.popup.item.aria-roledescription","item")),j.setAttribute("aria-setsize",k.data.length),j.setAttribute("aria-describedby","doc-tooltip"),j.setAttribute("aria-posinset",C+1);var U=k.getData(C);if(U){var K="".concat(U.caption||U.value).concat(U.meta?", ".concat(U.meta):"");j.setAttribute("aria-label",K)}var Z=j.querySelectorAll(".ace_completion-highlight");Z.forEach(function(te){te.setAttribute("role","mark")})}}),k.renderer.on("afterRender",function(){var T=k.getRow(),C=k.renderer.$textLayer,N=C.element.childNodes[T-C.config.firstRow],j=document.activeElement;if(N!==k.selectedNode&&k.selectedNode&&(s.removeCssClass(k.selectedNode,"ace_selected"),k.selectedNode.removeAttribute(m),k.selectedNode.removeAttribute("id")),j.removeAttribute("aria-activedescendant"),k.selectedNode=N,N){var U=c(T);s.addCssClass(N,"ace_selected"),N.id=U,C.element.setAttribute("aria-activedescendant",U),j.setAttribute("aria-activedescendant",U),N.setAttribute(m,"true")}});var H=function(){P(-1)},P=function(T,C){T!==F.start.row&&(F.start.row=F.end.row=T,C||k.session._emit("changeBackMarker"),k._emit("changeHoverMarker"))};k.getHoveredRow=function(){return F.start.row},f.addListener(k.container,"mouseout",function(){k.isMouseOver=!1,H()}),k.on("hide",H),k.on("changeSelection",H),k.session.doc.getLength=function(){return k.data.length},k.session.doc.getLine=function(T){var C=k.data[T];return typeof C=="string"?C:C&&C.value||""};var I=k.session.bgTokenizer;return I.$tokenizeRow=function(T){function C(ue,ve){ue&&j.push({type:(N.className||"")+(ve||""),value:ue})}var N=k.data[T],j=[];if(!N)return j;typeof N=="string"&&(N={value:N});for(var U=N.caption||N.value||N.name,K=U.toLowerCase(),Z=(k.filterText||"").toLowerCase(),te=0,he=0,ne=0;ne<=Z.length;ne++)if(ne!=he&&(N.matchMask&1<<ne||ne==Z.length)){var ae=Z.slice(he,ne);he=ne;var ce=K.indexOf(ae,te);if(ce==-1)continue;C(U.slice(te,ce),""),te=ce+ae.length,C(U.slice(ce,te),"completion-highlight")}return C(U.slice(te,U.length),""),j.push({type:"completion-spacer",value:" "}),N.meta&&j.push({type:"completion-meta",value:N.meta}),N.message&&j.push({type:"completion-message",value:N.message}),j},I.$updateOnChange=E,I.start=E,k.session.$computeWidth=function(){return this.screenWidth=0},k.isOpen=!1,k.isTopdown=!1,k.autoSelect=!0,k.filterText="",k.isMouseOver=!1,k.data=[],k.setData=function(T,C){k.filterText=C||"",k.setValue(g.stringRepeat(`
1138
+ `,T.length),-1),k.data=T||[],k.setRow(0)},k.getData=function(T){return k.data[T]},k.getRow=function(){return L.start.row},k.setRow=function(T){T=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,T)),L.start.row!=T&&(k.selection.clearSelection(),L.start.row=L.end.row=T||0,k.session._emit("changeBackMarker"),k.moveCursorTo(T||0,0),k.isOpen&&k._signal("select"))},k.on("changeSelection",function(){k.isOpen&&k.setRow(k.selection.lead.row),k.renderer.scrollCursorIntoView()}),k.hide=function(){this.container.style.display="none",k.anchorPos=null,k.anchor=null,k.isOpen&&(k.isOpen=!1,this._signal("hide"))},k.tryShow=function(T,C,N,j){if(!j&&k.isOpen&&k.anchorPos&&k.anchor&&k.anchorPos.top===T.top&&k.anchorPos.left===T.left&&k.anchor===N)return!0;var U=this.container,K=this.renderer.scrollBar.width||10,Z=window.innerHeight-K,te=window.innerWidth-K,he=this.renderer,ne=he.$maxLines*C*1.4,ae={top:0,bottom:0},ce=Z-T.top-3*this.$borderSize-C,ue=T.top-3*this.$borderSize;N||(ue<=ce||ce>=ne?N="bottom":N="top"),N==="top"?(ae.bottom=T.top-this.$borderSize,ae.top=ae.bottom-ne):N==="bottom"&&(ae.top=T.top+C+this.$borderSize,ae.bottom=ae.top+ne);var ve=ae.top>=0&&ae.bottom<=Z;if(!j&&!ve)return!1;ve?he.$maxPixelHeight=null:N==="top"?he.$maxPixelHeight=ue:he.$maxPixelHeight=ce,N==="top"?(U.style.top="",U.style.bottom=Z+K-ae.bottom+"px",k.isTopdown=!1):(U.style.top=ae.top+"px",U.style.bottom="",k.isTopdown=!0),U.style.display="";var Ce=T.left;return Ce+U.offsetWidth>te&&(Ce=te-U.offsetWidth),U.style.left=Ce+"px",U.style.right="",k.isOpen||(k.isOpen=!0,this._signal("show"),O=null),k.anchorPos=T,k.anchor=N,!0},k.show=function(T,C,N){this.tryShow(T,C,N?"bottom":void 0,!0)},k.goTo=function(T){var C=this.getRow(),N=this.session.getLength()-1;switch(T){case"up":C=C<=0?N:C-1;break;case"down":C=C>=N?-1:C+1;break;case"start":C=0;break;case"end":C=N}this.setRow(C)},k.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},k.$imageSize=0,k.$borderSize=1,k}return M}();s.importCssString(`
1139
+ .ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1140
+ background-color: #CAD6FA;
1141
+ z-index: 1;
1142
+ }
1143
+ .ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1144
+ background-color: #3a674e;
1145
+ }
1146
+ .ace_editor.ace_autocomplete .ace_line-hover {
1147
+ border: 1px solid #abbffe;
1148
+ margin-top: -1px;
1149
+ background: rgba(233,233,253,0.4);
1150
+ position: absolute;
1151
+ z-index: 2;
1152
+ }
1153
+ .ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
1154
+ border: 1px solid rgba(109, 150, 13, 0.8);
1155
+ background: rgba(58, 103, 78, 0.62);
1156
+ }
1157
+ .ace_completion-meta {
1158
+ opacity: 0.5;
1159
+ margin-left: 0.9em;
1160
+ }
1161
+ .ace_completion-message {
1162
+ margin-left: 0.9em;
1163
+ color: blue;
1164
+ }
1165
+ .ace_editor.ace_autocomplete .ace_completion-highlight{
1166
+ color: #2d69c7;
1167
+ }
1168
+ .ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
1169
+ color: #93ca12;
1170
+ }
1171
+ .ace_editor.ace_autocomplete {
1172
+ width: 300px;
1173
+ z-index: 200000;
1174
+ border: 1px lightgray solid;
1175
+ position: fixed;
1176
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
1177
+ line-height: 1.4;
1178
+ background: #fefefe;
1179
+ color: #111;
1180
+ }
1181
+ .ace_dark.ace_editor.ace_autocomplete {
1182
+ border: 1px #484747 solid;
1183
+ box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
1184
+ line-height: 1.4;
1185
+ background: #25282c;
1186
+ color: #c1c1c1;
1187
+ }
1188
+ .ace_autocomplete .ace_text-layer {
1189
+ width: calc(100% - 8px);
1190
+ }
1191
+ .ace_autocomplete .ace_line {
1192
+ display: flex;
1193
+ align-items: center;
1194
+ }
1195
+ .ace_autocomplete .ace_line > * {
1196
+ min-width: 0;
1197
+ flex: 0 0 auto;
1198
+ }
1199
+ .ace_autocomplete .ace_line .ace_ {
1200
+ flex: 0 1 auto;
1201
+ overflow: hidden;
1202
+ text-overflow: ellipsis;
1203
+ }
1204
+ .ace_autocomplete .ace_completion-spacer {
1205
+ flex: 1;
1206
+ }
1207
+ .ace_autocomplete.ace_loading:after {
1208
+ content: "";
1209
+ position: absolute;
1210
+ top: 0px;
1211
+ height: 2px;
1212
+ width: 8%;
1213
+ background: blue;
1214
+ z-index: 100;
1215
+ animation: ace_progress 3s infinite linear;
1216
+ animation-delay: 300ms;
1217
+ transform: translateX(-100%) scaleX(1);
1218
+ }
1219
+ @keyframes ace_progress {
1220
+ 0% { transform: translateX(-100%) scaleX(1) }
1221
+ 50% { transform: translateX(625%) scaleX(2) }
1222
+ 100% { transform: translateX(1500%) scaleX(3) }
1223
+ }
1224
+ @media (prefers-reduced-motion) {
1225
+ .ace_autocomplete.ace_loading:after {
1226
+ transform: translateX(625%) scaleX(2);
1227
+ animation: none;
1228
+ }
1229
+ }
1230
+ `,"autocompletion.css",!1),r.AcePopup=x,r.$singleLineEditor=b,r.getAriaId=c}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(n,r,u){var d=function(){function p(w){this.editor=w,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return p.prototype.setScreenReaderContent=function(w){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",(function(){var g=this.popup.getRow(),s=this.popup.renderer.$textLayer,a=s.element.childNodes[g-s.config.firstRow];if(a){for(var h="doc-tooltip ",c=0;c<this._lines.length;c++)h+="ace-inline-screenreader-line-".concat(c," ");a.setAttribute("aria-describedby",h)}}).bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=w.split(/\r\n|\r|\n/);var f=this.createCodeBlock();this.screenReaderDiv.appendChild(f)},p.prototype.destroy=function(){this.screenReaderDiv.remove()},p.prototype.createCodeBlock=function(){var w=document.createElement("pre");w.setAttribute("id","ace-inline-screenreader");for(var f=0;f<this._lines.length;f++){var g=document.createElement("code");g.setAttribute("id","ace-inline-screenreader-line-".concat(f));var s=document.createTextNode(this._lines[f]);g.appendChild(s),w.appendChild(g)}return w},p}();r.AceInlineScreenReader=d}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(n,r,u){var d=n("../snippets").snippetManager,p=n("./inline_screenreader").AceInlineScreenReader,w=function(){function f(){this.editor=null}return f.prototype.show=function(g,s,a){if(a=a||"",g&&this.editor&&this.editor!==g&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!g||!s)return!1;this.inlineScreenReader||(this.inlineScreenReader=new p(g));var h=s.snippet?d.getDisplayTextForSnippet(g,s.snippet):s.value;return s.hideInlinePreview||!h||!h.startsWith(a)?!1:(this.editor=g,this.inlineScreenReader.setScreenReaderContent(h),h=h.slice(a.length),h===""?g.removeGhostText():g.setGhostText(h),!0)},f.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},f.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},f.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},f}();r.AceInline=w}),ace.define("ace/autocomplete/util",["require","exports","module"],function(n,r,u){r.parForEach=function(p,w,f){var g=0,s=p.length;s===0&&f();for(var a=0;a<s;a++)w(p[a],function(h,c){g++,g===s&&f(h,c)})};var d=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;r.retrievePrecedingIdentifier=function(p,w,f){f=f||d;for(var g=[],s=w-1;s>=0&&f.test(p[s]);s--)g.push(p[s]);return g.reverse().join("")},r.retrieveFollowingIdentifier=function(p,w,f){f=f||d;for(var g=[],s=w;s<p.length&&f.test(p[s]);s++)g.push(p[s]);return g},r.getCompletionPrefix=function(p){var w=p.getCursorPosition(),f=p.session.getLine(w.row),g;return p.completers.forEach((function(s){s.identifierRegexps&&s.identifierRegexps.forEach((function(a){!g&&a&&(g=this.retrievePrecedingIdentifier(f,w.column,a))}).bind(this))}).bind(this)),g||this.retrievePrecedingIdentifier(f,w.column)},r.triggerAutocomplete=function(p,f){var f=f??p.session.getPrecedingCharacter();return p.completers.some(function(g){if(g.triggerCharacters&&Array.isArray(g.triggerCharacters))return g.triggerCharacters.includes(f)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(n,r,u){var d=n("./keyboard/hash_handler").HashHandler,p=n("./autocomplete/popup").AcePopup,w=n("./autocomplete/inline").AceInline,f=n("./autocomplete/popup").getAriaId,g=n("./autocomplete/util"),s=n("./lib/lang"),a=n("./lib/dom"),h=n("./snippets").snippetManager,c=n("./config"),i=n("./lib/event"),l=n("./lib/scroll").preventParentScroll,m=function(A,_){_.completer&&_.completer.destroy()},b=function(){function A(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new d,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=s.delayedCall((function(){this.updateCompletions(!0)}).bind(this)),this.tooltipTimer=s.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=s.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=s.delayedCall((function(){this.stickySelection=!0}).bind(this),this.stickySelectionDelay),this.$firstOpenTimer=s.delayedCall((function(){var _=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!_||this.editor.completers.length===0||(this.completions=new M(A.completionsForLoading),this.openPopup(this.editor,_.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}).bind(this),this.stickySelectionDelay)}return Object.defineProperty(A,"completionsForLoading",{get:function(){return[{caption:c.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),A.prototype.$init=function(){return this.popup=new p(this.parentNode||document.body||document.documentElement),this.popup.on("click",(function(_){this.insertMatch(),_.stop()}).bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),i.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},A.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new w,this.inlineRenderer},A.prototype.getPopup=function(){return this.popup||this.$init()},A.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},A.prototype.$seen=function(_){!this.hasSeen.has(_)&&_&&_.completer&&_.completer.onSeen&&typeof _.completer.onSeen=="function"&&(_.completer.onSeen(this.editor,_),this.hasSeen.add(_))},A.prototype.$onPopupChange=function(_){if(this.inlineRenderer&&this.inlineEnabled){var k=_?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(k),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},A.prototype.$updateGhostText=function(_){var k=this.base.row,E=this.base.column,O=this.editor.getCursorPosition().column,F=this.editor.session.getLine(k).slice(E,O);this.inlineRenderer.show(this.editor,_,F)?this.$seen(_):this.inlineRenderer.hide()},A.prototype.$onPopupRender=function(){var _=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var k=this.popup.getFirstVisibleRow();k<=this.popup.getLastVisibleRow();k++){var E=this.popup.getData(k);E&&(!_||E.hideInlinePreview)&&this.$seen(E)}},A.prototype.$onPopupShow=function(_){this.$onPopupChange(_),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},A.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var _=this.editor.container.parentNode,k=[];_;)k.push(_),_.addEventListener("scroll",this.onLayoutChange,{passive:!0}),_=_.parentNode;this.$elements=k}},A.prototype.unObserveLayoutChanges=function(){var _=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(k){k.removeEventListener("scroll",_.onLayoutChange,{passive:!0})}),this.$elements=null},A.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},A.prototype.$updatePopupPosition=function(){var _=this.editor,k=_.renderer,E=k.layerConfig.lineHeight,O=k.$cursorLayer.getPixelPosition(this.base,!0);O.left-=this.popup.getTextLeftOffset();var F=_.container.getBoundingClientRect();O.top+=F.top-k.layerConfig.offset,O.left+=F.left-_.renderer.scrollLeft,O.left+=k.gutterWidth;var L={top:O.top,left:O.left};k.$ghostText&&k.$ghostTextWidget&&this.base.row===k.$ghostText.position.row&&(L.top+=k.$ghostTextWidget.el.offsetHeight);var H=_.container.getBoundingClientRect().bottom-E,P=H<L.top?{top:H,left:L.left}:L;this.popup.tryShow(P,E,"bottom")||this.popup.tryShow(O,E,"top")||this.popup.show(O,E)},A.prototype.openPopup=function(_,k,E){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var O=this.popup.getRow(),F=this.popup.data[O];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:f(this.popup.getRow()),inline:this.inlineEnabled}),_.keyBinding.addKeyboardHandler(this.keyboardHandler);var L;this.stickySelection&&(L=this.popup.data.indexOf(F)),(!L||L===-1)&&(L=0),this.popup.setRow(this.autoSelect?L:-1),L===O&&F!==this.completions.filtered[L]&&this.$onPopupChange();var H=this.inlineRenderer&&this.inlineEnabled;if(L===O&&H){var P=this.popup.getData(this.popup.getRow());this.$updateGhostText(P)}E||(this.popup.setTheme(_.getTheme()),this.popup.setFontSize(_.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},A.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},A.prototype.changeListener=function(_){var k=this.editor.selection.lead;(k.row!=this.base.row||k.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},A.prototype.blurListener=function(_){var k=document.activeElement,E=this.editor.textInput.getElement(),O=_.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(_.relatedTarget),F=this.popup&&this.popup.container;k!=E&&k.parentNode!=F&&!O&&k!=this.tooltipNode&&_.relatedTarget!=E&&this.detach()},A.prototype.mousedownListener=function(_){this.detach()},A.prototype.mousewheelListener=function(_){this.popup&&!this.popup.isMouseOver&&this.detach()},A.prototype.mouseOutListener=function(_){this.popup.isOpen&&this.$updatePopupPosition()},A.prototype.goTo=function(_){this.popup.goTo(_)},A.prototype.insertMatch=function(_,k){if(_||(_=this.popup.getData(this.popup.getRow())),!_)return!1;if(_.value==="")return this.detach();var E=this.completions,O=this.getCompletionProvider().insertMatch(this.editor,_,E.filterText,k);return this.completions==E&&this.detach(),O},A.prototype.showPopup=function(_,k){this.editor&&this.detach(),this.activated=!0,this.editor=_,_.completer!=this&&(_.completer&&_.completer.detach(),_.completer=this),_.on("changeSelection",this.changeListener),_.on("blur",this.blurListener),_.on("mousedown",this.mousedownListener),_.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,k)},A.prototype.getCompletionProvider=function(_){return this.completionProvider||(this.completionProvider=new x(_)),this.completionProvider},A.prototype.gatherCompletions=function(_,k){return this.getCompletionProvider().gatherCompletions(_,k)},A.prototype.updateCompletions=function(_,k){if(_&&this.base&&this.completions){var O=this.editor.getCursorPosition(),F=this.editor.session.getTextRange({start:this.base,end:O});if(F==this.completions.filterText)return;if(this.completions.setFilter(F),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==F&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,F,_);return}if(k&&k.matches){var O=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(O.row,O.column),this.base.$insertRight=!0,this.completions=new M(k.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",_)}var E=this.editor.getSession(),O=this.editor.getCursorPosition(),F=g.getCompletionPrefix(this.editor);this.base=E.doc.createAnchor(O.row,O.column-F.length),this.base.$insertRight=!0;var L={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:F,pos:O}).provideCompletions(this.editor,L,(function(H,P,I){var T=P.filtered,C=g.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),I){if(!T.length){var N=!this.autoShown&&this.emptyMessage;if(typeof N=="function"&&(N=this.emptyMessage(C)),N){var j=[{caption:N,value:""}];this.completions=new M(j),this.openPopup(this.editor,C,_),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(T.length==1&&T[0].value==C&&!T[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&T.length==1)return this.insertMatch(T[0])}this.completions=!I&&this.showLoadingState?new M(A.completionsForLoading.concat(T),P.filterText):P,this.openPopup(this.editor,C,_),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!I)}).bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},A.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},A.prototype.updateDocTooltip=function(){var _=this.popup,k=this.completions&&this.completions.filtered,E=k&&(k[_.getHoveredRow()]||k[_.getRow()]),O=null;if(!E||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var F=this.editor.completers.length,L=0;L<F;L++){var H=this.editor.completers[L];if(H.getDocTooltip&&E.completerId===H.id){O=H.getDocTooltip(E);break}}if(!O&&typeof E!="string"&&(O=E),typeof O=="string"&&(O={docText:O}),!O||!O.docHTML&&!O.docText)return this.hideDocTooltip();this.showDocTooltip(O)},A.prototype.showDocTooltip=function(_){this.tooltipNode||(this.tooltipNode=a.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",l));var k=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(k.isDark?"ace_dark ":"")+(k.cssClass||"");var E=this.tooltipNode;_.docHTML?E.innerHTML=_.docHTML:_.docText&&(E.textContent=_.docText),E.parentNode||this.popup.container.appendChild(this.tooltipNode);var O=this.popup,F=O.container.getBoundingClientRect(),L=400,H=300,P=O.renderer.scrollBar.width||10,I=F.left,T=window.innerWidth-F.right-P,C=O.isTopdown?F.top:window.innerHeight-P-F.bottom,N=[Math.min(T/L,1),Math.min(I/L,1),Math.min(C/H*.9)],j=Math.max.apply(Math,N),U=E.style;U.display="block",j==N[0]?(U.left=F.right+1+"px",U.right="",U.maxWidth=L*j+"px",U.top=F.top+"px",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-F.top,H)+"px"):j==N[1]?(U.right=window.innerWidth-F.left+"px",U.left="",U.maxWidth=L*j+"px",U.top=F.top+"px",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-F.top,H)+"px"):j==N[2]&&(U.left=window.innerWidth-F.left+"px",U.maxWidth=Math.min(L,window.innerWidth)+"px",O.isTopdown?(U.top=F.bottom+"px",U.left=F.left+"px",U.right="",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-F.bottom,H)+"px"):(U.top=O.container.offsetTop-E.offsetHeight+"px",U.left=F.left+"px",U.right="",U.bottom="",U.maxHeight=Math.min(O.container.offsetTop,H)+"px"))},A.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var _=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==_&&this.editor.focus(),this.tooltipNode=null,_.parentNode&&_.parentNode.removeChild(_)}},A.prototype.onTooltipClick=function(_){for(var k=_.target;k&&k!=this.tooltipNode;){if(k.nodeName=="A"&&k.href){k.rel="noreferrer",k.target="_blank";break}k=k.parentNode}},A.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var _=this.popup.container;_&&_.parentNode&&_.parentNode.removeChild(_)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",m),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},A.for=function(_){return _.completer instanceof A||(_.completer&&(_.completer.destroy(),_.completer=null),c.get("sharedPopups")?(A.$sharedInstance||(A.$sharedInstance=new A),_.completer=A.$sharedInstance):(_.completer=new A,_.once("destroy",m))),_.completer},A}();b.prototype.commands={Up:function(A){A.completer.goTo("up")},Down:function(A){A.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(A){A.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(A){A.completer.goTo("end")},Esc:function(A){A.completer.detach()},Return:function(A){return A.completer.insertMatch()},"Shift-Return":function(A){A.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(A){var _=A.completer.insertMatch();if(_||A.tabstopManager)return _;A.completer.goTo("down")},Backspace:function(A){A.execCommand("backspace");var _=g.getCompletionPrefix(A);!_&&A.completer&&A.completer.detach()},PageUp:function(A){A.completer.popup.gotoPageUp()},PageDown:function(A){A.completer.popup.gotoPageDown()}},b.startCommand={name:"startAutocomplete",exec:function(A,_){var k=b.for(A);k.autoInsert=!1,k.autoSelect=!0,k.autoShown=!1,k.showPopup(A,_),k.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var x=function(){function A(_){this.initialPosition=_,this.active=!0}return A.prototype.insertByIndex=function(_,k,E){return!this.completions||!this.completions.filtered?!1:this.insertMatch(_,this.completions.filtered[k],E)},A.prototype.insertMatch=function(_,k,E){if(!k)return!1;if(_.startOperation({command:{name:"insertMatch"}}),k.completer&&k.completer.insertMatch)k.completer.insertMatch(_,k);else{if(!this.completions)return!1;var O=this.completions.filterText.length,F=0;if(k.range&&k.range.start.row===k.range.end.row&&(O-=this.initialPosition.prefix.length,O+=this.initialPosition.pos.column-k.range.start.column,F+=k.range.end.column-this.initialPosition.pos.column),O||F){var L;_.selection.getAllRanges?L=_.selection.getAllRanges():L=[_.getSelectionRange()];for(var H=0,P;P=L[H];H++)P.start.column-=O,P.end.column+=F,_.session.remove(P)}k.snippet?h.insertSnippet(_,k.snippet):this.$insertString(_,k),k.completer&&k.completer.onInsert&&typeof k.completer.onInsert=="function"&&k.completer.onInsert(_,k),k.command&&k.command==="startAutocomplete"&&_.execCommand(k.command)}return _.endOperation(),!0},A.prototype.$insertString=function(_,k){var E=k.value||k;_.execCommand("insertstring",E)},A.prototype.gatherCompletions=function(_,k){var E=_.getSession(),O=_.getCursorPosition(),F=g.getCompletionPrefix(_),L=[];this.completers=_.completers;var H=_.completers.length;return _.completers.forEach(function(P,I){P.getCompletions(_,E,O,F,function(T,C){P.hideInlinePreview&&(C=C.map(function(N){return Object.assign(N,{hideInlinePreview:P.hideInlinePreview})})),!T&&C&&(L=L.concat(C)),k(null,{prefix:g.getCompletionPrefix(_),matches:L,finished:--H===0})})}),!0},A.prototype.provideCompletions=function(_,k,E){var O=(function(P){var I=P.prefix,T=P.matches;this.completions=new M(T),k.exactMatch&&(this.completions.exactMatch=!0),k.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(I),(P.finished||this.completions.filtered.length)&&E(null,this.completions,P.finished)}).bind(this),F=!0,L=null;if(this.gatherCompletions(_,(function(P,I){if(this.active){P&&(E(P,[],!0),this.detach());var T=I.prefix;if(T.indexOf(I.prefix)===0){if(F){L=I;return}O(I)}}}).bind(this)),F=!1,L){var H=L;L=null,O(H)}},A.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(_){typeof _.cancel=="function"&&_.cancel()})},A}(),M=function(){function A(_,k){this.all=_,this.filtered=_,this.filterText=k||"",this.exactMatch=!1,this.ignoreCaption=!1}return A.prototype.setFilter=function(_){if(_.length>this.filterText&&_.lastIndexOf(this.filterText,0)===0)var k=this.filtered;else var k=this.all;this.filterText=_,k=this.filterCompletions(k,this.filterText),k=k.sort(function(O,F){return F.exactMatch-O.exactMatch||F.$score-O.$score||(O.caption||O.value).localeCompare(F.caption||F.value)});var E=null;k=k.filter(function(O){var F=O.snippet||O.caption||O.value;return F===E?!1:(E=F,!0)}),this.filtered=k},A.prototype.filterCompletions=function(_,k){var E=[],O=k.toUpperCase(),F=k.toLowerCase();e:for(var L=0,H;H=_[L];L++){if(H.skipFilter){H.$score=H.score,E.push(H);continue}var P=!this.ignoreCaption&&H.caption||H.value||H.snippet;if(P){var I=-1,T=0,C=0,N,j;if(this.exactMatch){if(k!==P.substr(0,k.length))continue e}else{var U=P.toLowerCase().indexOf(F);if(U>-1)C=U;else for(var K=0;K<k.length;K++){var Z=P.indexOf(F[K],I+1),te=P.indexOf(O[K],I+1);if(N=Z>=0&&(te<0||Z<te)?Z:te,N<0)continue e;j=N-I-1,j>0&&(I===-1&&(C+=10),C+=j,T|=1<<K),I=N}}H.matchMask=T,H.exactMatch=C?0:1,H.$score=(H.score||0)-C,E.push(H)}}return E},A}();r.Autocomplete=b,r.CompletionProvider=x,r.FilteredList=M}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(n,r,u){function d(g,s){var a=g.getTextRange(w.fromPoints({row:0,column:0},s));return a.split(f).length-1}function p(g,s){var a=d(g,s),h=g.getValue().split(f),c=Object.create(null),i=h[a];return h.forEach(function(l,m){if(!(!l||l===i)){var b=Math.abs(a-m),x=h.length-b;c[l]?c[l]=Math.max(x,c[l]):c[l]=x}}),c}var w=n("../range").Range,f=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;r.getCompletions=function(g,s,a,h,c){var i=p(s,a),l=Object.keys(i);c(null,l.map(function(m){return{caption:m,value:m,score:i[m],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(n,r,u){var d=n("../snippets").snippetManager,p=n("../autocomplete").Autocomplete,w=n("../config"),f=n("../lib/lang"),g=n("../autocomplete/util"),s=n("../autocomplete/text_completer"),a={getCompletions:function(O,F,L,H,P){if(F.$mode.completer)return F.$mode.completer.getCompletions(O,F,L,H,P);var I=O.session.getState(L.row),T=F.$mode.getCompletions(I,F,L,H);T=T.map(function(C){return C.completerId=a.id,C}),P(null,T)},id:"keywordCompleter"},h=function(O){var F={};return O.replace(/\${(\d+)(:(.*?))?}/g,function(L,H,P,I){return F[H]=I||""}).replace(/\$(\d+?)/g,function(L,H){return F[H]})},c={getCompletions:function(O,F,L,H,P){var I=[],T=F.getTokenAt(L.row,L.column);T&&T.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?I.push("html-tag"):I=d.getActiveScopes(O);var C=d.snippetMap,N=[];I.forEach(function(j){for(var U=C[j]||[],K=U.length;K--;){var Z=U[K],te=Z.name||Z.tabTrigger;te&&N.push({caption:te,snippet:Z.content,meta:Z.tabTrigger&&!Z.name?Z.tabTrigger+"⇥ ":"snippet",completerId:c.id})}},this),P(null,N)},getDocTooltip:function(O){O.snippet&&!O.docHTML&&(O.docHTML=["<b>",f.escapeHTML(O.caption),"</b>","<hr></hr>",f.escapeHTML(h(O.snippet))].join(""))},id:"snippetCompleter"},i=[c,s,a];r.setCompleters=function(O){i.length=0,O&&i.push.apply(i,O)},r.addCompleter=function(O){i.push(O)},r.textCompleter=s,r.keyWordCompleter=a,r.snippetCompleter=c;var l={name:"expandSnippet",exec:function(O){return d.expandWithTab(O)},bindKey:"Tab"},m=function(O,F){b(F.session.$mode)},b=function(O){typeof O=="string"&&(O=w.$modes[O]),O&&(d.files||(d.files={}),x(O.$id,O.snippetFileId),O.modes&&O.modes.forEach(b))},x=function(O,F){!F||!O||d.files[O]||(d.files[O]={},w.loadModule(F,function(L){L&&(d.files[O]=L,!L.snippets&&L.snippetText&&(L.snippets=d.parseSnippetFile(L.snippetText)),d.register(L.snippets||[],L.scope),L.includeScopes&&(d.snippetMap[L.scope].includeScopes=L.includeScopes,L.includeScopes.forEach(function(H){b("ace/mode/"+H)})))}))},M=function(O){var F=O.editor,L=F.completer&&F.completer.activated;if(O.command.name==="backspace")L&&!g.getCompletionPrefix(F)&&F.completer.detach();else if(O.command.name==="insertstring"&&!L){A=O;var H=O.editor.$liveAutocompletionDelay;H?_.delay(H):k(O)}},A,_=f.delayedCall(function(){k(A)},0),k=function(O){var F=O.editor,L=g.getCompletionPrefix(F),H=O.args,P=g.triggerAutocomplete(F,H);if(L&&L.length>=F.$liveAutocompletionThreshold||P){var I=p.for(F);I.autoShown=!0,I.showPopup(F)}},E=n("../editor").Editor;n("../config").defineOptions(E.prototype,"editor",{enableBasicAutocompletion:{set:function(O){O?(this.completers||(this.completers=Array.isArray(O)?O:i),this.commands.addCommand(p.startCommand)):this.commands.removeCommand(p.startCommand)},value:!1},enableLiveAutocompletion:{set:function(O){O?(this.completers||(this.completers=Array.isArray(O)?O:i),this.commands.on("afterExec",M)):this.commands.off("afterExec",M)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(O){O?(this.commands.addCommand(l),this.on("changeMode",m),m(null,this)):(this.commands.removeCommand(l),this.off("changeMode",m))},value:!1}})}),function(){ace.require(["ace/ext/language_tools"],function(n){t&&(t.exports=n)})}()}(Ng)),Ng.exports}y_();var Fg={exports:{}},Pg;function v_(){return Pg||(Pg=1,function(t,e){ace.define("ace/ext/searchbox-css",["require","exports","module"],function(n,r,u){u.exports=`
1231
+
1232
+ /* ------------------------------------------------------------------------------------------
1233
+ * Editor Search Form
1234
+ * --------------------------------------------------------------------------------------- */
1235
+ .ace_search {
1236
+ background-color: #ddd;
1237
+ color: #666;
1238
+ border: 1px solid #cbcbcb;
1239
+ border-top: 0 none;
1240
+ overflow: hidden;
1241
+ margin: 0;
1242
+ padding: 4px 6px 0 4px;
1243
+ position: absolute;
1244
+ top: 0;
1245
+ z-index: 99;
1246
+ white-space: normal;
1247
+ }
1248
+ .ace_search.left {
1249
+ border-left: 0 none;
1250
+ border-radius: 0px 0px 5px 0px;
1251
+ left: 0;
1252
+ }
1253
+ .ace_search.right {
1254
+ border-radius: 0px 0px 0px 5px;
1255
+ border-right: 0 none;
1256
+ right: 0;
1257
+ }
1258
+
1259
+ .ace_search_form, .ace_replace_form {
1260
+ margin: 0 20px 4px 0;
1261
+ overflow: hidden;
1262
+ line-height: 1.9;
1263
+ }
1264
+ .ace_replace_form {
1265
+ margin-right: 0;
1266
+ }
1267
+ .ace_search_form.ace_nomatch {
1268
+ outline: 1px solid red;
1269
+ }
1270
+
1271
+ .ace_search_field {
1272
+ border-radius: 3px 0 0 3px;
1273
+ background-color: white;
1274
+ color: black;
1275
+ border: 1px solid #cbcbcb;
1276
+ border-right: 0 none;
1277
+ outline: 0;
1278
+ padding: 0;
1279
+ font-size: inherit;
1280
+ margin: 0;
1281
+ line-height: inherit;
1282
+ padding: 0 6px;
1283
+ min-width: 17em;
1284
+ vertical-align: top;
1285
+ min-height: 1.8em;
1286
+ box-sizing: content-box;
1287
+ }
1288
+ .ace_searchbtn {
1289
+ border: 1px solid #cbcbcb;
1290
+ line-height: inherit;
1291
+ display: inline-block;
1292
+ padding: 0 6px;
1293
+ background: #fff;
1294
+ border-right: 0 none;
1295
+ border-left: 1px solid #dcdcdc;
1296
+ cursor: pointer;
1297
+ margin: 0;
1298
+ position: relative;
1299
+ color: #666;
1300
+ }
1301
+ .ace_searchbtn:last-child {
1302
+ border-radius: 0 3px 3px 0;
1303
+ border-right: 1px solid #cbcbcb;
1304
+ }
1305
+ .ace_searchbtn:disabled {
1306
+ background: none;
1307
+ cursor: default;
1308
+ }
1309
+ .ace_searchbtn:hover {
1310
+ background-color: #eef1f6;
1311
+ }
1312
+ .ace_searchbtn.prev, .ace_searchbtn.next {
1313
+ padding: 0px 0.7em
1314
+ }
1315
+ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {
1316
+ content: "";
1317
+ border: solid 2px #888;
1318
+ width: 0.5em;
1319
+ height: 0.5em;
1320
+ border-width: 2px 0 0 2px;
1321
+ display:inline-block;
1322
+ transform: rotate(-45deg);
1323
+ }
1324
+ .ace_searchbtn.next:after {
1325
+ border-width: 0 2px 2px 0 ;
1326
+ }
1327
+ .ace_searchbtn_close {
1328
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;
1329
+ border-radius: 50%;
1330
+ border: 0 none;
1331
+ color: #656565;
1332
+ cursor: pointer;
1333
+ font: 16px/16px Arial;
1334
+ padding: 0;
1335
+ height: 14px;
1336
+ width: 14px;
1337
+ top: 9px;
1338
+ right: 7px;
1339
+ position: absolute;
1340
+ }
1341
+ .ace_searchbtn_close:hover {
1342
+ background-color: #656565;
1343
+ background-position: 50% 100%;
1344
+ color: white;
1345
+ }
1346
+
1347
+ .ace_button {
1348
+ margin-left: 2px;
1349
+ cursor: pointer;
1350
+ -webkit-user-select: none;
1351
+ -moz-user-select: none;
1352
+ -o-user-select: none;
1353
+ -ms-user-select: none;
1354
+ user-select: none;
1355
+ overflow: hidden;
1356
+ opacity: 0.7;
1357
+ border: 1px solid rgba(100,100,100,0.23);
1358
+ padding: 1px;
1359
+ box-sizing: border-box!important;
1360
+ color: black;
1361
+ }
1362
+
1363
+ .ace_button:hover {
1364
+ background-color: #eee;
1365
+ opacity:1;
1366
+ }
1367
+ .ace_button:active {
1368
+ background-color: #ddd;
1369
+ }
1370
+
1371
+ .ace_button.checked {
1372
+ border-color: #3399ff;
1373
+ opacity:1;
1374
+ }
1375
+
1376
+ .ace_search_options{
1377
+ margin-bottom: 3px;
1378
+ text-align: right;
1379
+ -webkit-user-select: none;
1380
+ -moz-user-select: none;
1381
+ -o-user-select: none;
1382
+ -ms-user-select: none;
1383
+ user-select: none;
1384
+ clear: both;
1385
+ }
1386
+
1387
+ .ace_search_counter {
1388
+ float: left;
1389
+ font-family: arial;
1390
+ padding: 0 8px;
1391
+ }`}),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(n,r,u){var d=n("../lib/dom"),p=n("../lib/lang"),w=n("../lib/event"),f=n("./searchbox-css"),g=n("../keyboard/hash_handler").HashHandler,s=n("../lib/keys"),a=n("../config").nls,h=999;d.importCssString(f,"ace_searchbox",!1);var c=function(){function m(b,x,M){this.activeInput,this.element=d.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:a("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},a("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:a("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},a("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},a("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:a("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:a("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:a("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:a("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:a("search-box.toggle-in-selection.title","Search In Selection")},"S"]]]),this.setSession=this.setSession.bind(this),this.$onEditorInput=this.onEditorInput.bind(this),this.$init(),this.setEditor(b),d.importCssString(f,"ace_searchbox",b.container),w.addListener(this.element,"touchstart",function(A){A.stopPropagation()},b)}return m.prototype.setEditor=function(b){b.searchBox=this,b.renderer.scroller.appendChild(this.element),this.editor=b},m.prototype.setSession=function(b){this.searchRange=null,this.$syncOptions(!0)},m.prototype.onEditorInput=function(){this.find(!1,!1,!0)},m.prototype.$initElements=function(b){this.searchBox=b.querySelector(".ace_search_form"),this.replaceBox=b.querySelector(".ace_replace_form"),this.searchOption=b.querySelector("[action=searchInSelection]"),this.replaceOption=b.querySelector("[action=toggleReplace]"),this.regExpOption=b.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=b.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=b.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=b.querySelector(".ace_search_counter")},m.prototype.$init=function(){var b=this.element;this.$initElements(b);var x=this;w.addListener(b,"mousedown",function(M){setTimeout(function(){x.activeInput.focus()},0),w.stopPropagation(M)}),w.addListener(b,"click",function(M){var A=M.target||M.srcElement,_=A.getAttribute("action");_&&x[_]?x[_]():x.$searchBarKb.commands[_]&&x.$searchBarKb.commands[_].exec(x),w.stopPropagation(M)}),w.addCommandKeyListener(b,function(M,A,_){var k=s.keyCodeToString(_),E=x.$searchBarKb.findKeyCommand(A,k);E&&E.exec&&(E.exec(x),w.stopEvent(M))}),this.$onChange=p.delayedCall(function(){x.find(!1,!1)}),w.addListener(this.searchInput,"input",function(){x.$onChange.schedule(20)}),w.addListener(this.searchInput,"focus",function(){x.activeInput=x.searchInput,x.searchInput.value&&x.highlight()}),w.addListener(this.replaceInput,"focus",function(){x.activeInput=x.replaceInput,x.searchInput.value&&x.highlight()})},m.prototype.setSearchRange=function(b){this.searchRange=b,b?this.searchRangeMarker=this.editor.session.addMarker(b,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},m.prototype.$syncOptions=function(b){d.setCssClass(this.replaceOption,"checked",this.searchRange),d.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",d.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),d.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),d.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var x=this.editor.getReadOnly();this.replaceOption.style.display=x?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!x?"":"none",this.find(!1,!1,b)},m.prototype.highlight=function(b){this.editor.session.highlight(b||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},m.prototype.find=function(b,x,M){var A=this.editor.find(this.searchInput.value,{skipCurrent:b,backwards:x,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:M,range:this.searchRange}),_=!A&&this.searchInput.value;d.setCssClass(this.searchBox,"ace_nomatch",_),this.editor._emit("findSearchBox",{match:!_}),this.highlight(),this.updateCounter()},m.prototype.updateCounter=function(){var b=this.editor,x=b.$search.$options.re,M=x.unicode,A=0,_=0;if(x){var k=this.searchRange?b.session.getTextRange(this.searchRange):b.getValue();b.$search.$isMultilineSearch(b.getLastSearchOptions())&&(k=k.replace(/\r\n|\r|\n/g,`
1392
+ `),b.session.doc.$autoNewLine=`
1393
+ `);var E=b.session.doc.positionToIndex(b.selection.anchor);this.searchRange&&(E-=b.session.doc.positionToIndex(this.searchRange.start));for(var O=x.lastIndex=0,F;(F=x.exec(k))&&(A++,O=F.index,O<=E&&_++,!(A>h||!F[0]&&(x.lastIndex=O+=p.skipEmptyMatch(k,O,M),O>=k.length))););}this.searchCounter.textContent=a("search-box.search-counter","$0 of $1",[_,A>h?h+"+":A])},m.prototype.findNext=function(){this.find(!0,!1)},m.prototype.findPrev=function(){this.find(!0,!0)},m.prototype.findAll=function(){var b=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),x=!b&&this.searchInput.value;d.setCssClass(this.searchBox,"ace_nomatch",x),this.editor._emit("findSearchBox",{match:!x}),this.highlight(),this.hide()},m.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},m.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},m.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},m.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.editor.off("input",this.$onEditorInput),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},m.prototype.show=function(b,x){this.active=!0,this.editor.on("changeSession",this.setSession),this.editor.on("input",this.$onEditorInput),this.element.style.display="",this.replaceOption.checked=x,this.editor.$search.$options.regExp&&(b=p.escapeRegExp(b)),b&&(this.searchInput.value=b),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},m.prototype.isFocused=function(){var b=document.activeElement;return b==this.searchInput||b==this.replaceInput},m}(),i=new g;i.bindKeys({"Ctrl-f|Command-f":function(m){var b=m.isReplace=!m.isReplace;m.replaceBox.style.display=b?"":"none",m.replaceOption.checked=!1,m.$syncOptions(),m.searchInput.focus()},"Ctrl-H|Command-Option-F":function(m){m.editor.getReadOnly()||(m.replaceOption.checked=!0,m.$syncOptions(),m.replaceInput.focus())},"Ctrl-G|Command-G":function(m){m.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(m){m.findPrev()},esc:function(m){setTimeout(function(){m.hide()})},Return:function(m){m.activeInput==m.replaceInput&&m.replace(),m.findNext()},"Shift-Return":function(m){m.activeInput==m.replaceInput&&m.replace(),m.findPrev()},"Alt-Return":function(m){m.activeInput==m.replaceInput&&m.replaceAll(),m.findAll()},Tab:function(m){(m.activeInput==m.replaceInput?m.searchInput:m.replaceInput).focus()}}),i.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(m){m.regExpOption.checked=!m.regExpOption.checked,m.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(m){m.caseSensitiveOption.checked=!m.caseSensitiveOption.checked,m.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(m){m.wholeWordOption.checked=!m.wholeWordOption.checked,m.$syncOptions()}},{name:"toggleReplace",exec:function(m){m.replaceOption.checked=!m.replaceOption.checked,m.$syncOptions()}},{name:"searchInSelection",exec:function(m){m.searchOption.checked=!m.searchRange,m.setSearchRange(m.searchOption.checked&&m.editor.getSelectionRange()),m.$syncOptions()}}]);var l=new g([{bindKey:"Esc",name:"closeSearchBar",exec:function(m){m.searchBox.hide()}}]);c.prototype.$searchBarKb=i,c.prototype.$closeSearchBarKb=l,r.SearchBox=c,r.Search=function(m,b){var x=m.searchBox||new c(m);x.show(m.session.getTextRange(),b)}}),function(){ace.require(["ace/ext/searchbox"],function(n){t&&(t.exports=n)})}()}(Fg)),Fg.exports}v_();var w_=Object.defineProperty,b_=(t,e,n)=>e in t?w_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tc=(t,e,n)=>b_(t,typeof e!="symbol"?e+"":e,n);function Bg(t,e){return function(){return t.apply(e,arguments)}}const{toString:x_}=Object.prototype,{getPrototypeOf:lh}=Object,nc=(t=>e=>{const n=x_.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Hi=t=>(t=t.toLowerCase(),e=>nc(e)===t),rc=t=>e=>typeof e===t,{isArray:ha}=Array,Qa=rc("undefined");function k_(t){return t!==null&&!Qa(t)&&t.constructor!==null&&!Qa(t.constructor)&&ci(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const jg=Hi("ArrayBuffer");function __(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&jg(t.buffer),e}const S_=rc("string"),ci=rc("function"),Wg=rc("number"),ic=t=>t!==null&&typeof t=="object",C_=t=>t===!0||t===!1,oc=t=>{if(nc(t)!=="object")return!1;const e=lh(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},T_=Hi("Date"),$_=Hi("File"),A_=Hi("Blob"),R_=Hi("FileList"),E_=t=>ic(t)&&ci(t.pipe),M_=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||ci(t.append)&&((e=nc(t))==="formdata"||e==="object"&&ci(t.toString)&&t.toString()==="[object FormData]"))},L_=Hi("URLSearchParams"),[O_,I_,N_,D_]=["ReadableStream","Request","Response","Headers"].map(Hi),F_=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Za(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,u;if(typeof t!="object"&&(t=[t]),ha(t))for(r=0,u=t.length;r<u;r++)e.call(null,t[r],r,t);else{const d=n?Object.getOwnPropertyNames(t):Object.keys(t),p=d.length;let w;for(r=0;r<p;r++)w=d[r],e.call(null,t[w],w,t)}}function zg(t,e){e=e.toLowerCase();const n=Object.keys(t);let r=n.length,u;for(;r-- >0;)if(u=n[r],e===u.toLowerCase())return u;return null}const Ss=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Hg=t=>!Qa(t)&&t!==Ss;function ch(){const{caseless:t}=Hg(this)&&this||{},e={},n=(r,u)=>{const d=t&&zg(e,u)||u;oc(e[d])&&oc(r)?e[d]=ch(e[d],r):oc(r)?e[d]=ch({},r):ha(r)?e[d]=r.slice():e[d]=r};for(let r=0,u=arguments.length;r<u;r++)arguments[r]&&Za(arguments[r],n);return e}const P_=(t,e,n,{allOwnKeys:r}={})=>(Za(e,(u,d)=>{n&&ci(u)?t[d]=Bg(u,n):t[d]=u},{allOwnKeys:r}),t),B_=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),j_=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},W_=(t,e,n,r)=>{let u,d,p;const w={};if(e=e||{},t==null)return e;do{for(u=Object.getOwnPropertyNames(t),d=u.length;d-- >0;)p=u[d],(!r||r(p,t,e))&&!w[p]&&(e[p]=t[p],w[p]=!0);t=n!==!1&&lh(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},z_=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},H_=t=>{if(!t)return null;if(ha(t))return t;let e=t.length;if(!Wg(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},U_=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&lh(Uint8Array)),q_=(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const u=r.value;e.call(t,u[0],u[1])}},V_=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},K_=Hi("HTMLFormElement"),G_=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,r){return n.toUpperCase()+r}),Ug=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Y_=Hi("RegExp"),qg=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};Za(n,(u,d)=>{let p;(p=e(u,d,t))!==!1&&(r[d]=p||u)}),Object.defineProperties(t,r)},X_=t=>{qg(t,(e,n)=>{if(ci(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(ci(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Q_=(t,e)=>{const n={},r=u=>{u.forEach(d=>{n[d]=!0})};return ha(t)?r(t):r(String(t).split(e)),n},Z_=()=>{},J_=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function eS(t){return!!(t&&ci(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const tS=t=>{const e=new Array(10),n=(r,u)=>{if(ic(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[u]=r;const d=ha(r)?[]:{};return Za(r,(p,w)=>{const f=n(p,u+1);!Qa(f)&&(d[w]=f)}),e[u]=void 0,d}}return r};return n(t,0)},nS=Hi("AsyncFunction"),rS=t=>t&&(ic(t)||ci(t))&&ci(t.then)&&ci(t.catch),Vg=((t,e)=>t?setImmediate:e?((n,r)=>(Ss.addEventListener("message",({source:u,data:d})=>{u===Ss&&d===n&&r.length&&r.shift()()},!1),u=>{r.push(u),Ss.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ci(Ss.postMessage)),iS=typeof queueMicrotask<"u"?queueMicrotask.bind(Ss):typeof process<"u"&&process.nextTick||Vg,$e={isArray:ha,isArrayBuffer:jg,isBuffer:k_,isFormData:M_,isArrayBufferView:__,isString:S_,isNumber:Wg,isBoolean:C_,isObject:ic,isPlainObject:oc,isReadableStream:O_,isRequest:I_,isResponse:N_,isHeaders:D_,isUndefined:Qa,isDate:T_,isFile:$_,isBlob:A_,isRegExp:Y_,isFunction:ci,isStream:E_,isURLSearchParams:L_,isTypedArray:U_,isFileList:R_,forEach:Za,merge:ch,extend:P_,trim:F_,stripBOM:B_,inherits:j_,toFlatObject:W_,kindOf:nc,kindOfTest:Hi,endsWith:z_,toArray:H_,forEachEntry:q_,matchAll:V_,isHTMLForm:K_,hasOwnProperty:Ug,hasOwnProp:Ug,reduceDescriptors:qg,freezeMethods:X_,toObjectSet:Q_,toCamelCase:G_,noop:Z_,toFiniteNumber:J_,findKey:zg,global:Ss,isContextDefined:Hg,isSpecCompliantForm:eS,toJSONObject:tS,isAsyncFn:nS,isThenable:rS,setImmediate:Vg,asap:iS};function Mt(t,e,n,r,u){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),u&&(this.response=u,this.status=u.status?u.status:null)}$e.inherits(Mt,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:$e.toJSONObject(this.config),code:this.code,status:this.status}}});const Kg=Mt.prototype,Gg={};["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(t=>{Gg[t]={value:t}}),Object.defineProperties(Mt,Gg),Object.defineProperty(Kg,"isAxiosError",{value:!0}),Mt.from=(t,e,n,r,u,d)=>{const p=Object.create(Kg);return $e.toFlatObject(t,p,function(w){return w!==Error.prototype},w=>w!=="isAxiosError"),Mt.call(p,t.message,e,n,r,u),p.cause=t,p.name=t.name,d&&Object.assign(p,d),p};const oS=null;function uh(t){return $e.isPlainObject(t)||$e.isArray(t)}function Yg(t){return $e.endsWith(t,"[]")?t.slice(0,-2):t}function Xg(t,e,n){return t?t.concat(e).map(function(r,u){return r=Yg(r),!n&&u?"["+r+"]":r}).join(n?".":""):e}function sS(t){return $e.isArray(t)&&!t.some(uh)}const aS=$e.toFlatObject($e,{},null,function(t){return/^is[A-Z]/.test(t)});function sc(t,e,n){if(!$e.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=$e.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(c,i){return!$e.isUndefined(i[c])});const r=n.metaTokens,u=n.visitor||g,d=n.dots,p=n.indexes,w=(n.Blob||typeof Blob<"u"&&Blob)&&$e.isSpecCompliantForm(e);if(!$e.isFunction(u))throw new TypeError("visitor must be a function");function f(c){if(c===null)return"";if($e.isDate(c))return c.toISOString();if(!w&&$e.isBlob(c))throw new Mt("Blob is not supported. Use a Buffer instead.");return $e.isArrayBuffer(c)||$e.isTypedArray(c)?w&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function g(c,i,l){let m=c;if(c&&!l&&typeof c=="object"){if($e.endsWith(i,"{}"))i=r?i:i.slice(0,-2),c=JSON.stringify(c);else if($e.isArray(c)&&sS(c)||($e.isFileList(c)||$e.endsWith(i,"[]"))&&(m=$e.toArray(c)))return i=Yg(i),m.forEach(function(b,x){!($e.isUndefined(b)||b===null)&&e.append(p===!0?Xg([i],x,d):p===null?i:i+"[]",f(b))}),!1}return uh(c)?!0:(e.append(Xg(l,i,d),f(c)),!1)}const s=[],a=Object.assign(aS,{defaultVisitor:g,convertValue:f,isVisitable:uh});function h(c,i){if(!$e.isUndefined(c)){if(s.indexOf(c)!==-1)throw Error("Circular reference detected in "+i.join("."));s.push(c),$e.forEach(c,function(l,m){(!($e.isUndefined(l)||l===null)&&u.call(e,l,$e.isString(m)?m.trim():m,i,a))===!0&&h(l,i?i.concat(m):[m])}),s.pop()}}if(!$e.isObject(t))throw new TypeError("data must be an object");return h(t),e}function Qg(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function hh(t,e){this._pairs=[],t&&sc(t,this,e)}const Zg=hh.prototype;Zg.append=function(t,e){this._pairs.push([t,e])},Zg.toString=function(t){const e=t?function(n){return t.call(this,n,Qg)}:Qg;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function lS(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Jg(t,e,n){if(!e)return t;const r=n&&n.encode||lS;$e.isFunction(n)&&(n={serialize:n});const u=n&&n.serialize;let d;if(u?d=u(e,n):d=$e.isURLSearchParams(e)?e.toString():new hh(e,n).toString(r),d){const p=t.indexOf("#");p!==-1&&(t=t.slice(0,p)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}class em{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){$e.forEach(this.handlers,function(n){n!==null&&e(n)})}}const tm={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},cS=typeof URLSearchParams<"u"?URLSearchParams:hh,uS=typeof FormData<"u"?FormData:null,hS=typeof Blob<"u"?Blob:null,dS={isBrowser:!0,classes:{URLSearchParams:cS,FormData:uS,Blob:hS},protocols:["http","https","file","blob","url","data"]},dh=typeof window<"u"&&typeof document<"u",ph=typeof navigator=="object"&&navigator||void 0,pS=dh&&(!ph||["ReactNative","NativeScript","NS"].indexOf(ph.product)<0),fS=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",gS=dh&&window.location.href||"http://localhost",mS=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:dh,hasStandardBrowserEnv:pS,hasStandardBrowserWebWorkerEnv:fS,navigator:ph,origin:gS},Symbol.toStringTag,{value:"Module"})),$r={...mS,...dS};function yS(t,e){return sc(t,new $r.classes.URLSearchParams,Object.assign({visitor:function(n,r,u,d){return $r.isNode&&$e.isBuffer(n)?(this.append(r,n.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)}},e))}function vS(t){return $e.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function wS(t){const e={},n=Object.keys(t);let r;const u=n.length;let d;for(r=0;r<u;r++)d=n[r],e[d]=t[d];return e}function nm(t){function e(n,r,u,d){let p=n[d++];if(p==="__proto__")return!0;const w=Number.isFinite(+p),f=d>=n.length;return p=!p&&$e.isArray(u)?u.length:p,f?($e.hasOwnProp(u,p)?u[p]=[u[p],r]:u[p]=r,!w):((!u[p]||!$e.isObject(u[p]))&&(u[p]=[]),e(n,r,u[p],d)&&$e.isArray(u[p])&&(u[p]=wS(u[p])),!w)}if($e.isFormData(t)&&$e.isFunction(t.entries)){const n={};return $e.forEachEntry(t,(r,u)=>{e(vS(r),u,n,0)}),n}return null}function bS(t,e,n){if($e.isString(t))try{return(e||JSON.parse)(t),$e.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const Ja={transitional:tm,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,u=$e.isObject(t);if(u&&$e.isHTMLForm(t)&&(t=new FormData(t)),$e.isFormData(t))return r?JSON.stringify(nm(t)):t;if($e.isArrayBuffer(t)||$e.isBuffer(t)||$e.isStream(t)||$e.isFile(t)||$e.isBlob(t)||$e.isReadableStream(t))return t;if($e.isArrayBufferView(t))return t.buffer;if($e.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let d;if(u){if(n.indexOf("application/x-www-form-urlencoded")>-1)return yS(t,this.formSerializer).toString();if((d=$e.isFileList(t))||n.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return sc(d?{"files[]":t}:t,p&&new p,this.formSerializer)}}return u||r?(e.setContentType("application/json",!1),bS(t)):t}],transformResponse:[function(t){const e=this.transitional||Ja.transitional,n=e&&e.forcedJSONParsing,r=this.responseType==="json";if($e.isResponse(t)||$e.isReadableStream(t))return t;if(t&&$e.isString(t)&&(n&&!this.responseType||r)){const u=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(d){if(u)throw d.name==="SyntaxError"?Mt.from(d,Mt.ERR_BAD_RESPONSE,this,null,this.response):d}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:$r.classes.FormData,Blob:$r.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};$e.forEach(["delete","get","head","post","put","patch"],t=>{Ja.headers[t]={}});const xS=$e.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"]),kS=t=>{const e={};let n,r,u;return t&&t.split(`
1394
+ `).forEach(function(d){u=d.indexOf(":"),n=d.substring(0,u).trim().toLowerCase(),r=d.substring(u+1).trim(),!(!n||e[n]&&xS[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},rm=Symbol("internals");function el(t){return t&&String(t).trim().toLowerCase()}function ac(t){return t===!1||t==null?t:$e.isArray(t)?t.map(ac):String(t)}function _S(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const SS=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function fh(t,e,n,r,u){if($e.isFunction(r))return r.call(this,e,n);if(u&&(e=n),!!$e.isString(e)){if($e.isString(r))return e.indexOf(r)!==-1;if($e.isRegExp(r))return r.test(e)}}function CS(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function TS(t,e){const n=$e.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(u,d,p){return this[r].call(this,e,u,d,p)},configurable:!0})})}let Qr=class{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function u(p,w,f){const g=el(w);if(!g)throw new Error("header name must be a non-empty string");const s=$e.findKey(r,g);(!s||r[s]===void 0||f===!0||f===void 0&&r[s]!==!1)&&(r[s||w]=ac(p))}const d=(p,w)=>$e.forEach(p,(f,g)=>u(f,g,w));if($e.isPlainObject(t)||t instanceof this.constructor)d(t,e);else if($e.isString(t)&&(t=t.trim())&&!SS(t))d(kS(t),e);else if($e.isHeaders(t))for(const[p,w]of t.entries())u(w,p,n);else t!=null&&u(e,t,n);return this}get(t,e){if(t=el(t),t){const n=$e.findKey(this,t);if(n){const r=this[n];if(!e)return r;if(e===!0)return _S(r);if($e.isFunction(e))return e.call(this,r,n);if($e.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=el(t),t){const n=$e.findKey(this,t);return!!(n&&this[n]!==void 0&&(!e||fh(this,this[n],n,e)))}return!1}delete(t,e){const n=this;let r=!1;function u(d){if(d=el(d),d){const p=$e.findKey(n,d);p&&(!e||fh(n,n[p],p,e))&&(delete n[p],r=!0)}}return $e.isArray(t)?t.forEach(u):u(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const u=e[n];(!t||fh(this,this[u],u,t,!0))&&(delete this[u],r=!0)}return r}normalize(t){const e=this,n={};return $e.forEach(this,(r,u)=>{const d=$e.findKey(n,u);if(d){e[d]=ac(r),delete e[u];return}const p=t?CS(u):String(u).trim();p!==u&&delete e[u],e[p]=ac(r),n[p]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return $e.forEach(this,(n,r)=>{n!=null&&n!==!1&&(e[r]=t&&$e.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
1395
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach(r=>n.set(r)),n}static accessor(t){const e=(this[rm]=this[rm]={accessors:{}}).accessors,n=this.prototype;function r(u){const d=el(u);e[d]||(TS(n,u),e[d]=!0)}return $e.isArray(t)?t.forEach(r):r(t),this}};Qr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),$e.reduceDescriptors(Qr.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),$e.freezeMethods(Qr);function gh(t,e){const n=this||Ja,r=e||n,u=Qr.from(r.headers);let d=r.data;return $e.forEach(t,function(p){d=p.call(n,d,u.normalize(),e?e.status:void 0)}),u.normalize(),d}function im(t){return!!(t&&t.__CANCEL__)}function da(t,e,n){Mt.call(this,t??"canceled",Mt.ERR_CANCELED,e,n),this.name="CanceledError"}$e.inherits(da,Mt,{__CANCEL__:!0});function om(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new Mt("Request failed with status code "+n.status,[Mt.ERR_BAD_REQUEST,Mt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function $S(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function AS(t,e){t=t||10;const n=new Array(t),r=new Array(t);let u=0,d=0,p;return e=e!==void 0?e:1e3,function(w){const f=Date.now(),g=r[d];p||(p=f),n[u]=w,r[u]=f;let s=d,a=0;for(;s!==u;)a+=n[s++],s=s%t;if(u=(u+1)%t,u===d&&(d=(d+1)%t),f-p<e)return;const h=g&&f-g;return h?Math.round(a*1e3/h):void 0}}function RS(t,e){let n=0,r=1e3/e,u,d;const p=(w,f=Date.now())=>{n=f,u=null,d&&(clearTimeout(d),d=null),t.apply(null,w)};return[(...w)=>{const f=Date.now(),g=f-n;g>=r?p(w,f):(u=w,d||(d=setTimeout(()=>{d=null,p(u)},r-g)))},()=>u&&p(u)]}const lc=(t,e,n=3)=>{let r=0;const u=AS(50,250);return RS(d=>{const p=d.loaded,w=d.lengthComputable?d.total:void 0,f=p-r,g=u(f),s=p<=w;r=p;const a={loaded:p,total:w,progress:w?p/w:void 0,bytes:f,rate:g||void 0,estimated:g&&w&&s?(w-p)/g:void 0,event:d,lengthComputable:w!=null,[e?"download":"upload"]:!0};t(a)},n)},sm=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},am=t=>(...e)=>$e.asap(()=>t(...e)),ES=$r.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,$r.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL($r.origin),$r.navigator&&/(msie|trident)/i.test($r.navigator.userAgent)):()=>!0,MS=$r.hasStandardBrowserEnv?{write(t,e,n,r,u,d){const p=[t+"="+encodeURIComponent(e)];$e.isNumber(n)&&p.push("expires="+new Date(n).toGMTString()),$e.isString(r)&&p.push("path="+r),$e.isString(u)&&p.push("domain="+u),d===!0&&p.push("secure"),document.cookie=p.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function LS(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function OS(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function lm(t,e,n){let r=!LS(e);return t&&(r||n==!1)?OS(t,e):e}const cm=t=>t instanceof Qr?{...t}:t;function Cs(t,e){e=e||{};const n={};function r(g,s,a,h){return $e.isPlainObject(g)&&$e.isPlainObject(s)?$e.merge.call({caseless:h},g,s):$e.isPlainObject(s)?$e.merge({},s):$e.isArray(s)?s.slice():s}function u(g,s,a,h){if($e.isUndefined(s)){if(!$e.isUndefined(g))return r(void 0,g,a,h)}else return r(g,s,a,h)}function d(g,s){if(!$e.isUndefined(s))return r(void 0,s)}function p(g,s){if($e.isUndefined(s)){if(!$e.isUndefined(g))return r(void 0,g)}else return r(void 0,s)}function w(g,s,a){if(a in e)return r(g,s);if(a in t)return r(void 0,g)}const f={url:d,method:d,data:d,baseURL:p,transformRequest:p,transformResponse:p,paramsSerializer:p,timeout:p,timeoutMessage:p,withCredentials:p,withXSRFToken:p,adapter:p,responseType:p,xsrfCookieName:p,xsrfHeaderName:p,onUploadProgress:p,onDownloadProgress:p,decompress:p,maxContentLength:p,maxBodyLength:p,beforeRedirect:p,transport:p,httpAgent:p,httpsAgent:p,cancelToken:p,socketPath:p,responseEncoding:p,validateStatus:w,headers:(g,s,a)=>u(cm(g),cm(s),a,!0)};return $e.forEach(Object.keys(Object.assign({},t,e)),function(g){const s=f[g]||u,a=s(t[g],e[g],g);$e.isUndefined(a)&&s!==w||(n[g]=a)}),n}const um=t=>{const e=Cs({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:u,xsrfCookieName:d,headers:p,auth:w}=e;e.headers=p=Qr.from(p),e.url=Jg(lm(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),w&&p.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let f;if($e.isFormData(n)){if($r.hasStandardBrowserEnv||$r.hasStandardBrowserWebWorkerEnv)p.setContentType(void 0);else if((f=p.getContentType())!==!1){const[g,...s]=f?f.split(";").map(a=>a.trim()).filter(Boolean):[];p.setContentType([g||"multipart/form-data",...s].join("; "))}}if($r.hasStandardBrowserEnv&&(r&&$e.isFunction(r)&&(r=r(e)),r||r!==!1&&ES(e.url))){const g=u&&d&&MS.read(d);g&&p.set(u,g)}return e},IS=typeof XMLHttpRequest<"u",NS=IS&&function(t){return new Promise(function(e,n){const r=um(t);let u=r.data;const d=Qr.from(r.headers).normalize();let{responseType:p,onUploadProgress:w,onDownloadProgress:f}=r,g,s,a,h,c;function i(){h&&h(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(g),r.signal&&r.signal.removeEventListener("abort",g)}let l=new XMLHttpRequest;l.open(r.method.toUpperCase(),r.url,!0),l.timeout=r.timeout;function m(){if(!l)return;const x=Qr.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),M={data:!p||p==="text"||p==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:x,config:t,request:l};om(function(A){e(A),i()},function(A){n(A),i()},M),l=null}"onloadend"in l?l.onloadend=m:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(m)},l.onabort=function(){l&&(n(new Mt("Request aborted",Mt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new Mt("Network Error",Mt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const M=r.transitional||tm;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),n(new Mt(x,M.clarifyTimeoutError?Mt.ETIMEDOUT:Mt.ECONNABORTED,t,l)),l=null},u===void 0&&d.setContentType(null),"setRequestHeader"in l&&$e.forEach(d.toJSON(),function(x,M){l.setRequestHeader(M,x)}),$e.isUndefined(r.withCredentials)||(l.withCredentials=!!r.withCredentials),p&&p!=="json"&&(l.responseType=r.responseType),f&&([a,c]=lc(f,!0),l.addEventListener("progress",a)),w&&l.upload&&([s,h]=lc(w),l.upload.addEventListener("progress",s),l.upload.addEventListener("loadend",h)),(r.cancelToken||r.signal)&&(g=x=>{l&&(n(!x||x.type?new da(null,t,l):x),l.abort(),l=null)},r.cancelToken&&r.cancelToken.subscribe(g),r.signal&&(r.signal.aborted?g():r.signal.addEventListener("abort",g)));const b=$S(r.url);if(b&&$r.protocols.indexOf(b)===-1){n(new Mt("Unsupported protocol "+b+":",Mt.ERR_BAD_REQUEST,t));return}l.send(u||null)})},DS=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,u;const d=function(g){if(!u){u=!0,w();const s=g instanceof Error?g:this.reason;r.abort(s instanceof Mt?s:new da(s instanceof Error?s.message:s))}};let p=e&&setTimeout(()=>{p=null,d(new Mt(`timeout ${e} of ms exceeded`,Mt.ETIMEDOUT))},e);const w=()=>{t&&(p&&clearTimeout(p),p=null,t.forEach(g=>{g.unsubscribe?g.unsubscribe(d):g.removeEventListener("abort",d)}),t=null)};t.forEach(g=>g.addEventListener("abort",d));const{signal:f}=r;return f.unsubscribe=()=>$e.asap(w),f}},FS=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,u;for(;r<n;)u=r+e,yield t.slice(r,u),r=u},PS=async function*(t,e){for await(const n of BS(t))yield*FS(n,e)},BS=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},hm=(t,e,n,r)=>{const u=PS(t,e);let d=0,p,w=f=>{p||(p=!0,r&&r(f))};return new ReadableStream({async pull(f){try{const{done:g,value:s}=await u.next();if(g){w(),f.close();return}let a=s.byteLength;if(n){let h=d+=a;n(h)}f.enqueue(new Uint8Array(s))}catch(g){throw w(g),g}},cancel(f){return w(f),u.return()}},{highWaterMark:2})},cc=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",dm=cc&&typeof ReadableStream=="function",jS=cc&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),pm=(t,...e)=>{try{return!!t(...e)}catch{return!1}},WS=dm&&pm(()=>{let t=!1;const e=new Request($r.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),fm=64*1024,mh=dm&&pm(()=>$e.isReadableStream(new Response("").body)),uc={stream:mh&&(t=>t.body)};cc&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!uc[e]&&(uc[e]=$e.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new Mt(`Response type '${e}' is not supported`,Mt.ERR_NOT_SUPPORT,r)})})})(new Response);const zS=async t=>{if(t==null)return 0;if($e.isBlob(t))return t.size;if($e.isSpecCompliantForm(t))return(await new Request($r.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if($e.isArrayBufferView(t)||$e.isArrayBuffer(t))return t.byteLength;if($e.isURLSearchParams(t)&&(t=t+""),$e.isString(t))return(await jS(t)).byteLength},HS=async(t,e)=>$e.toFiniteNumber(t.getContentLength())??zS(e),US=cc&&(async t=>{let{url:e,method:n,data:r,signal:u,cancelToken:d,timeout:p,onDownloadProgress:w,onUploadProgress:f,responseType:g,headers:s,withCredentials:a="same-origin",fetchOptions:h}=um(t);g=g?(g+"").toLowerCase():"text";let c=DS([u,d&&d.toAbortSignal()],p),i;const l=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(f&&WS&&n!=="get"&&n!=="head"&&(m=await HS(s,r))!==0){let _=new Request(e,{method:"POST",body:r,duplex:"half"}),k;if($e.isFormData(r)&&(k=_.headers.get("content-type"))&&s.setContentType(k),_.body){const[E,O]=sm(m,lc(am(f)));r=hm(_.body,fm,E,O)}}$e.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;i=new Request(e,{...h,signal:c,method:n.toUpperCase(),headers:s.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(i);const M=mh&&(g==="stream"||g==="response");if(mh&&(w||M&&l)){const _={};["status","statusText","headers"].forEach(F=>{_[F]=x[F]});const k=$e.toFiniteNumber(x.headers.get("content-length")),[E,O]=w&&sm(k,lc(am(w),!0))||[];x=new Response(hm(x.body,fm,E,()=>{O&&O(),l&&l()}),_)}g=g||"text";let A=await uc[$e.findKey(uc,g)||"text"](x,t);return!M&&l&&l(),await new Promise((_,k)=>{om(_,k,{data:A,headers:Qr.from(x.headers),status:x.status,statusText:x.statusText,config:t,request:i})})}catch(b){throw l&&l(),b&&b.name==="TypeError"&&/fetch/i.test(b.message)?Object.assign(new Mt("Network Error",Mt.ERR_NETWORK,t,i),{cause:b.cause||b}):Mt.from(b,b&&b.code,t,i)}}),yh={http:oS,xhr:NS,fetch:US};$e.forEach(yh,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const gm=t=>`- ${t}`,qS=t=>$e.isFunction(t)||t===null||t===!1,mm={getAdapter:t=>{t=$e.isArray(t)?t:[t];const{length:e}=t;let n,r;const u={};for(let d=0;d<e;d++){n=t[d];let p;if(r=n,!qS(n)&&(r=yh[(p=String(n)).toLowerCase()],r===void 0))throw new Mt(`Unknown adapter '${p}'`);if(r)break;u[p||"#"+d]=r}if(!r){const d=Object.entries(u).map(([w,f])=>`adapter ${w} `+(f===!1?"is not supported by the environment":"is not available in the build"));let p=e?d.length>1?`since :
1396
+ `+d.map(gm).join(`
1397
+ `):" "+gm(d[0]):"as no adapter specified";throw new Mt("There is no suitable adapter to dispatch the request "+p,"ERR_NOT_SUPPORT")}return r},adapters:yh};function vh(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new da(null,t)}function ym(t){return vh(t),t.headers=Qr.from(t.headers),t.data=gh.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),mm.getAdapter(t.adapter||Ja.adapter)(t).then(function(e){return vh(t),e.data=gh.call(t,t.transformResponse,e),e.headers=Qr.from(e.headers),e},function(e){return im(e)||(vh(t),e&&e.response&&(e.response.data=gh.call(t,t.transformResponse,e.response),e.response.headers=Qr.from(e.response.headers))),Promise.reject(e)})}const vm="1.8.4",hc={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{hc[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const wm={};hc.transitional=function(t,e,n){function r(u,d){return"[Axios v"+vm+"] Transitional option '"+u+"'"+d+(n?". "+n:"")}return(u,d,p)=>{if(t===!1)throw new Mt(r(d," has been removed"+(e?" in "+e:"")),Mt.ERR_DEPRECATED);return e&&!wm[d]&&(wm[d]=!0,console.warn(r(d," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(u,d,p):!0}},hc.spelling=function(t){return(e,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function VS(t,e,n){if(typeof t!="object")throw new Mt("options must be an object",Mt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let u=r.length;for(;u-- >0;){const d=r[u],p=e[d];if(p){const w=t[d],f=w===void 0||p(w,d,t);if(f!==!0)throw new Mt("option "+d+" must be "+f,Mt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Mt("Unknown option "+d,Mt.ERR_BAD_OPTION)}}const dc={assertOptions:VS,validators:hc},lo=dc.validators;let Ts=class{constructor(t){this.defaults=t,this.interceptors={request:new em,response:new em}}async request(t,e){try{return await this._request(t,e)}catch(n){if(n instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const u=r.stack?r.stack.replace(/^.+\n/,""):"";try{n.stack?u&&!String(n.stack).endsWith(u.replace(/^.+\n.+\n/,""))&&(n.stack+=`
1398
+ `+u):n.stack=u}catch{}}throw n}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=Cs(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:u}=e;n!==void 0&&dc.assertOptions(n,{silentJSONParsing:lo.transitional(lo.boolean),forcedJSONParsing:lo.transitional(lo.boolean),clarifyTimeoutError:lo.transitional(lo.boolean)},!1),r!=null&&($e.isFunction(r)?e.paramsSerializer={serialize:r}:dc.assertOptions(r,{encode:lo.function,serialize:lo.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),dc.assertOptions(e,{baseUrl:lo.spelling("baseURL"),withXsrfToken:lo.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let d=u&&$e.merge(u.common,u[e.method]);u&&$e.forEach(["delete","get","head","post","put","patch","common"],c=>{delete u[c]}),e.headers=Qr.concat(d,u);const p=[];let w=!0;this.interceptors.request.forEach(function(c){typeof c.runWhen=="function"&&c.runWhen(e)===!1||(w=w&&c.synchronous,p.unshift(c.fulfilled,c.rejected))});const f=[];this.interceptors.response.forEach(function(c){f.push(c.fulfilled,c.rejected)});let g,s=0,a;if(!w){const c=[ym.bind(this),void 0];for(c.unshift.apply(c,p),c.push.apply(c,f),a=c.length,g=Promise.resolve(e);s<a;)g=g.then(c[s++],c[s++]);return g}a=p.length;let h=e;for(s=0;s<a;){const c=p[s++],i=p[s++];try{h=c(h)}catch(l){i.call(this,l);break}}try{g=ym.call(this,h)}catch(c){return Promise.reject(c)}for(s=0,a=f.length;s<a;)g=g.then(f[s++],f[s++]);return g}getUri(t){t=Cs(this.defaults,t);const e=lm(t.baseURL,t.url,t.allowAbsoluteUrls);return Jg(e,t.params,t.paramsSerializer)}};$e.forEach(["delete","get","head","options"],function(t){Ts.prototype[t]=function(e,n){return this.request(Cs(n||{},{method:t,url:e,data:(n||{}).data}))}}),$e.forEach(["post","put","patch"],function(t){function e(n){return function(r,u,d){return this.request(Cs(d||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:r,data:u}))}}Ts.prototype[t]=e(),Ts.prototype[t+"Form"]=e(!0)});let KS=class Rx{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(u){n=u});const r=this;this.promise.then(u=>{if(!r._listeners)return;let d=r._listeners.length;for(;d-- >0;)r._listeners[d](u);r._listeners=null}),this.promise.then=u=>{let d;const p=new Promise(w=>{r.subscribe(w),d=w}).then(u);return p.cancel=function(){r.unsubscribe(d)},p},e(function(u,d,p){r.reason||(r.reason=new da(u,d,p),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Rx(function(n){e=n}),cancel:e}}};function GS(t){return function(e){return t.apply(null,e)}}function YS(t){return $e.isObject(t)&&t.isAxiosError===!0}const wh={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(wh).forEach(([t,e])=>{wh[e]=t});function bm(t){const e=new Ts(t),n=Bg(Ts.prototype.request,e);return $e.extend(n,Ts.prototype,e,{allOwnKeys:!0}),$e.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return bm(Cs(t,r))},n}const qn=bm(Ja);qn.Axios=Ts,qn.CanceledError=da,qn.CancelToken=KS,qn.isCancel=im,qn.VERSION=vm,qn.toFormData=sc,qn.AxiosError=Mt,qn.Cancel=qn.CanceledError,qn.all=function(t){return Promise.all(t)},qn.spread=GS,qn.isAxiosError=YS,qn.mergeConfig=Cs,qn.AxiosHeaders=Qr,qn.formToJSON=t=>nm($e.isHTMLForm(t)?new FormData(t):t),qn.getAdapter=mm.getAdapter,qn.HttpStatusCode=wh,qn.default=qn;const{Axios:RB,AxiosError:EB,CanceledError:MB,isCancel:LB,CancelToken:OB,VERSION:IB,all:NB,Cancel:DB,isAxiosError:FB,spread:PB,toFormData:BB,AxiosHeaders:jB,HttpStatusCode:WB,formToJSON:zB,getAdapter:HB,mergeConfig:UB}=qn,bh=qn.create({baseURL:location.origin,timeout:6e4,params:{}});bh.interceptors.response.use(t=>t,t=>{var e,n,r,u,d,p,w,f,g,s,a;if(t.response){if(t.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(i){i&&OpenC3Auth.setTokens()}),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let h=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(h+=`${t.response.statusText} `),(r=(n=t.response)==null?void 0:n.config)!=null&&r.data&&(h+=`${t.response.config.data} `),(d=(u=t.response)==null?void 0:u.data)!=null&&d.message?h+=`${t.response.data.message}`:(w=(p=t.response)==null?void 0:p.data)!=null&&w.exception?h+=`${t.response.data.exception}`:(s=(g=(f=t.response)==null?void 0:f.data)==null?void 0:g.error)!=null&&s.message?(t.response.data.error.class&&(h+=`${t.response.data.error.class} `),h+=`${t.response.data.error.message}`):h+=`${(a=t.response)==null?void 0:a.data}`;const{$cosmosNotify:c}=window;throw c&&c.serious({title:"Network error",body:h}),t}else throw t});const pc=async function(t,e,{data:n,params:r={},headers:u,noAuth:d=!1,noScope:p=!1,onUploadProgress:w=!1}={}){if(!d){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}u.Authorization=localStorage.openc3Token}return u.manual=!0,!p&&!r.scope&&(r.scope=window.openc3Scope),bh({method:t,url:e,data:n,params:r,headers:u,onUploadProgress:w})},xh={Accept:"application/json"},xm={...xh,"Content-Type":"application/json"},qB=Wi("O",{get:function(t,{params:e,headers:n=xh,noScope:r,noAuth:u,onUploadProgress:d}={}){return pc("get",t,{params:e,headers:n,noScope:r,noAuth:u,onUploadProgress:d})},put:function(t,{data:e,params:n,headers:r=xm,noScope:u,noAuth:d,onUploadProgress:p}={}){return pc("put",t,{data:e,params:n,headers:r,noScope:u,noAuth:d,onUploadProgress:p})},post:function(t,{data:e,params:n,headers:r=xm,noScope:u,noAuth:d,onUploadProgress:p}={}){return pc("post",t,{data:e,params:n,headers:r,noScope:u,noAuth:d,onUploadProgress:p})},delete:function(t,{params:e,headers:n=xh,noScope:r,noAuth:u,onUploadProgress:d}={}){return pc("delete",t,{params:e,headers:n,noScope:r,noAuth:u,onUploadProgress:d})}});let fc=()=>({emit(t,...e){for(let n=this.events[t]||[],r=0,u=n.length;r<u;r++)n[r](...e)},events:{},on(t,e){var n;return((n=this.events)[t]||(n[t]=[])).push(e),()=>{var r;this.events[t]=(r=this.events[t])==null?void 0:r.filter(u=>e!==u)}}});class tl extends Error{constructor(e,n){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=n,this.name="ReasonError"}}class kh extends tl{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class XS extends tl{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class Ui extends tl{constructor(e,n){n?super(e,n):super("Disconnected",e),this.name="DisconnectedError"}}class QS extends Ui{constructor(e){super(e,"stale_connection"),this.name="StaleConnectionError"}}function km(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let n=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${n}`}).join(",")}}`:""}class ZS{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,n){if(!this._info)return this._info={id:e,info:n},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((n,{id:r,info:u})=>(n[r]=u,n),{})}}const $s=Symbol("state");class _m{constructor(e={}){this.emitter=fc(),this.params=Object.freeze(e),this.presence=new ZS(this),this.initialConnect=!0,this[$s]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=km({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[$s]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[$s]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[$s]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[$s]="connected";let e=!0,n=!0;this.initialConnect=!1,this.emit("connect",{reconnect:n,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[$s]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[$s]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,n){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,n)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(n){let r=this.receiver?this.receiver.logger:null;r&&r.warn("whisper failed: ",n)}}receive(e,n){this.emit("message",e,n)}on(e,n){return this.emitter.on(e,n)}once(e,n){let r=this.emitter.on(e,(...u)=>{r(),n(...u)});return r}emit(e,...n){return this.emitter.emit(e,...n)}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((e,n)=>{let r=[()=>delete this._pendingSubscribe];r.push(this.on("connect",()=>{r.forEach(u=>u()),e()})),r.push(this.on("close",u=>{r.forEach(d=>d()),n(u||new tl("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class JS{constructor(e){this.id=e,this.intent="unsubscribed",this.state="idle",this.channels=[],this.disposed=!1,this._pendings=[]}add(e){this.channels.includes(e)||this.channels.push(e)}remove(e){let n=this.channels.indexOf(e);n>-1&&this.channels.splice(n,1)}notify(e,...n){this.state=e==="restored"?"connected":e,n.length===1?this.channels.forEach(r=>r[e](n[0])):this.channels.forEach(r=>r[e]())}pending(e){this._checkIntent(e);let n=this._pendings[0];return!n||n.intent!==e?Promise.resolve():n.promise}ensureResubscribed(){this.disposed||(this.intent=void 0,this.ensureSubscribed())}ensureSubscribed(){if(this.intent!=="subscribed"){if(this.disposed)throw Error("Subscription is disposed");this.intent="subscribed",!this._mergeWithPending("unsubscribed")&&this.subscriber(this)}}maybeUnsubscribe(){this.disposed||this.intent==="unsubscribed"||this.channels.length>0||(this.intent="unsubscribed",this._mergeWithPending("subscribed"))||this.unsubscriber(this)}async acquire(e){this._checkIntent(e);let n,r={promise:new Promise(d=>{n=d}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(r),1),n(r)},canceled:!1,acquired:!1},u=this._pendingTop;return this._pendings.push(r),u&&await u.promise,this.gvl&&await this.gvl.acquire(r,e),r.acquired=!0,r}close(e){this.disposed=!0,this.intent=void 0,this.notify("closed",e)}_checkIntent(e){if(!(e==="unsubscribed"||e==="subscribed"))throw Error(`Unknown subscription intent: ${e}`)}get _pendingTop(){return this._pendings.length?this._pendings[this._pendings.length-1]:void 0}_mergeWithPending(e){let n=this._pendingTop;return!n||n.acquired||n.intent!==e?!1:(this._pendings.pop(),n.canceled=!0,!0)}}class eC{constructor(){this.queue=[]}async acquire(e,n){n==="subscribed"&&(this.queue.push(e.promise.then(()=>{this.queue.splice(this.queue.indexOf(e),1)})),this.queue.length>1&&await this.queue[this.queue.length-2])}}class tC{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new eC),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:n,unsubscribe:r}){let u=this._subscriptions[e]=new JS(e);return u.remoteId=this._localToRemote[e],u.subscriber=n,u.unsubscriber=r,u.gvl=this.glv,u}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,n){this._localToRemote[e]=n;let r=this.get(e);r&&(r.remoteId=n)}}class nC{constructor(e={}){this.subscriptions=new tC(e),this._pendingMessages=[],this._remoteToLocal={}}subscribe(e,n){this._remoteToLocal[n]=e,this.subscriptions.storeRemoteId(e,n),this.flush(n)}unsubscribe(e){let n=this.subscriptions.get(e);if(!n)return;let r=n.remoteId;r&&delete this._remoteToLocal[r],this.subscriptions.remove(e)}transmit(e,n,r){let u=this._remoteToLocal[e];if(!u){this._pendingMessages.push([e,n,r]);return}let d=this.subscriptions.get(u);d&&d.channels.forEach(p=>{p.receive(n,r)})}notify(e,n,r){let u=this._remoteToLocal[e];if(!u)return;let d=this.subscriptions.get(u);d&&d.channels.forEach(p=>p.emit(n,r))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(e=>e.channels)}flush(e){let n=[];for(let r of this._pendingMessages)r[0]===e?this.transmit(r[0],r[1],r[2]):n.push(r);this._pendingMessages=n}}const Sm={debug:0,info:1,warn:2,error:3};class Cm{constructor(e){this.level=e||"warn"}log(e,n,r){Sm[e]<Sm[this.level]||this.writeLogEntry(e,n,r)}writeLogEntry(){throw Error("Not implemented")}debug(e,n){this.log("debug",e,n)}info(e,n){this.log("info",e,n)}warn(e,n){this.log("warn",e,n)}error(e,n){this.log("error",e,n)}}class nl extends Cm{writeLogEntry(){}}class rC{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let iC=0;class Tm{constructor(e={}){let{logger:n}=e;this.logger=n||new nl,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,n){let r={channel:e};n&&Object.assign(r,n);let u=km(r);if(this.pendingUnsubscriptions[u]){let p=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${p}`,u),new Promise(w=>{setTimeout(()=>{w(this.subscribe(e,n))},p)})}if(this.pendingSubscriptions[u])return this.logger.warn("subscription is already pending, skipping",u),Promise.reject(Error("Already subscribing"));let d=this.subscribeRetryInterval;return new Promise((p,w)=>{let f=++iC;this.pendingSubscriptions[u]={resolve:p,reject:w,id:f},this.cable.send(this.buildSubscribeRequest(u)),this.maybeRetrySubscribe(f,u,d)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,n,r){setTimeout(()=>{let u=this.pendingSubscriptions[n];u&&u.id===e&&(this.logger.warn(`no subscription ack received in ${r}ms, retrying subscribe`,n),this.cable.send(this.buildSubscribeRequest(n)),this.maybeExpireSubscribe(e,n,r))},r)}maybeExpireSubscribe(e,n,r){setTimeout(()=>{let u=this.pendingSubscriptions[n];u&&u.id===e&&(delete this.pendingSubscriptions[n],u.reject(new XS(`Haven't received subscription ack in ${r*2}ms for ${n}`)))},r)}unsubscribe(e){return this.cable.send({command:"unsubscribe",identifier:e}),this.pendingUnsubscriptions[e]=!0,setTimeout(()=>{delete this.pendingUnsubscriptions[e]},this.subscribeCooldownInterval),Promise.resolve()}perform(e,n,r){return n==="$whisper"?this.whisper(e,r):(r||(r={}),r.action=n,this.cable.send({command:"message",identifier:e,data:JSON.stringify(r)}),Promise.resolve())}whisper(e,n){return this.cable.send({command:"whisper",identifier:e,data:n}),Promise.resolve()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:n,identifier:r,message:u,reason:d,reconnect:p}=e;if(n==="ping")return this.cable.keepalive(e.message);if(this.cable.keepalive(),n==="welcome"){let w=e.sid;return w&&this.cable.setSessionId(w),this.cable.connected()}if(n==="disconnect"){let w=new Ui(d);this.reset(w),p===!1?this.cable.closed(w):this.cable.disconnected(w);return}if(n==="confirm_subscription"){let w=this.pendingSubscriptions[r];if(!w){this.logger.error("subscription not found, unsubscribing",{type:n,identifier:r}),this.unsubscribe(r);return}return delete this.pendingSubscriptions[r],w.resolve(r)}if(n==="reject_subscription"){let w=this.pendingSubscriptions[r];return w?(delete this.pendingSubscriptions[r],w.reject(new kh)):this.logger.error("subscription not found",{type:n,identifier:r})}if(u)return{identifier:r,message:u};this.logger.warn(`unknown message type: ${n}`,{message:e})}reset(e){for(let n in this.pendingSubscriptions)this.pendingSubscriptions[n].reject(e);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const $m=()=>Date.now()/1e3|0;class oC extends Tm{constructor(e={}){super(e),this.streamsPositions={},this.subscriptionStreams={},this.pendingHistory={},this.pendingPresence={},this.presenceInfo={},this.restoreSince=e.historyTimestamp,this.restoreSince===void 0&&(this.restoreSince=$m()),this.sessionId=void 0,this.sendPongs=e.pongs}reset(e){for(let n in this.pendingPresence)this.pendingPresence[n].reject(e);return this.pendingPresence={},super.reset()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:n,identifier:r,message:u}=e;if(n==="disconnect"||n==="reject_subscription")return super.receive(e);if(n==="confirm_subscription")return this.subscriptionStreams[r]||(this.subscriptionStreams[r]=new Set),super.receive(e);if(n==="ping")return this.restoreSince&&(this.restoreSince=$m()),this.sendPongs&&this.sendPong(),this.cable.keepalive(e.message);if(this.cable.keepalive(),n==="confirm_history"){this.logger.debug("history result received",e),this.cable.notify("history_received",r);return}if(n==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",r);return}if(n==="welcome"){if(this.sessionId=e.sid,this.sessionId&&this.cable.setSessionId(this.sessionId),e.restored){let d=e.restored_ids||Object.keys(this.subscriptionStreams);for(let p of d)this.cable.send({identifier:p,command:"history",history:this.historyRequestFor(p)}),this.presenceInfo[p]&&this.cable.send({identifier:p,command:"join",presence:this.presenceInfo[p]});return this.cable.restored(d)}return this.cable.connected(this.sessionId)}if(n==="presence"){let d=u.type;if(d==="info"){let p=this.pendingPresence[r];p&&(delete this.pendingPresence[r],p.resolve(u))}else if(d==="error"){let p=this.pendingPresence[r];p&&(delete this.pendingPresence[r],p.reject(new Error("failed to retrieve presence")))}return{type:n,identifier:r,message:u}}if(u){let d=this.trackStreamPosition(r,e.stream_id,e.epoch,e.offset);return{identifier:r,message:u,meta:d}}this.logger.warn(`unknown message type: ${n}`,{message:e})}perform(e,n,r){switch(n){case"$presence:join":return this.join(e,r);case"$presence:leave":return this.leave(e,r);case"$presence:info":return this.presence(e,r)}return super.perform(e,n,r)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let n=super.buildSubscribeRequest(e),r=this.historyRequestFor(e);r&&(n.history=r,this.pendingHistory[e]=!0);let u=this.presenceInfo[e];return u&&(n.presence=u),n}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let n={},r=!1;if(this.subscriptionStreams[e])for(let u of this.subscriptionStreams[e]){let d=this.streamsPositions[u];d&&(r=!0,n[u]=d)}if(!(!r&&!this.restoreSince))return{since:this.restoreSince,streams:n}}trackStreamPosition(e,n,r,u){if(!(!n||!r))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(n),this.streamsPositions[n]={epoch:r,offset:u},{stream:n,epoch:r,offset:u}}async sendPong(){await new Promise(e=>setTimeout(e,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(e,n){return this.presenceInfo[e]=n,this.cable.send({command:"join",identifier:e,presence:n}),Promise.resolve()}async leave(e,n){return delete this.presenceInfo[e],this.cable.send({command:"leave",identifier:e,presence:n}),Promise.resolve()}presence(e,n){return this.pendingPresence[e]?(this.logger.warn("presence is already pending, skipping",e),Promise.reject(Error("presence request is already pending"))):new Promise((r,u)=>{this.pendingPresence[e]={resolve:r,reject:u},this.cable.send({command:"presence",identifier:e,data:n})})}}class sC extends tl{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class _h extends _m{constructor(e,n){super(n),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}tc(_h,"identifier","__ghost__");const aC="$pubsub";class Sh extends _m{async perform(e,n){if(e.startsWith("$"))return super.perform(e,n);throw Error("not implemented")}}tc(Sh,"identifier",aC);const As=Symbol("state");let lC=class{constructor({transport:t,protocol:e,encoder:n,logger:r,lazy:u,hubOptions:d,performFailures:p,transportConfigurator:w}){this.emitter=fc(),this.transport=t,this.encoder=n,this.logger=r||new nl,this.protocol=e,this.performFailures=p||"throw",this.protocol.attached(this),this.hub=new nC(d||{}),this[As]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=w,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,u===!1&&this.connect().catch(()=>{})}get state(){return this[As]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let t=this.state==="idle";this[As]="connecting";let e=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:t}),await this.transport.open()}catch(n){this.handleClose(n)}return e}setSessionId(t){this.sessionId=t,this.transport.setParam("sid",t)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[As]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new Ui("recovery_failed"))),this.hub.subscriptions.all().forEach(e=>this._resubscribe(e));let t=!1;this.recovering=!1,this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:t})):this.emit("connect",{reconnect:!0,restored:t})}restored(t){this.logger.info("connection recovered",{remoteIds:t}),this[As]="connected",this.hub.subscriptions.all().forEach(r=>{t&&r.remoteId&&t.includes(r.remoteId)?r.notify("restored"):(r.notify("disconnected",new Ui("recovery_failed")),this._resubscribe(r))});let e=!this.initialConnect,n=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:n})}notify(t,e,n){e&&typeof e!="string"&&(n=e,e=void 0),e?this.hub.notify(e,"info",{type:t,data:n}):this.emit("info",{type:t,data:n})}handleClose(t){this.logger.debug("transport closed",{error:t}),this.disconnected(new Ui(t,"transport_closed"))}disconnected(t){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:t}),this[As]="disconnected",this.recovering=this.protocol.recoverableClosure(t),this.recovering?this.hub.subscriptions.all().forEach(e=>e.notify("connecting")):this.hub.subscriptions.all().forEach(e=>{e.notify("disconnected",t)}),this.protocol.reset(t),this.hub.close(),this.transport.close(),this.emit("disconnect",t))}closed(t){if(this.state==="closed"||this.state==="idle")return;let e;t&&(e=t instanceof Ui?t:new Ui(t,void 0)),this.logger.info("closed",{reason:t||"user"}),this[As]="closed";let n=e||new Ui("cable_closed");this.hub.subscriptions.all().forEach(r=>r.notify("disconnected",n)),this.hub.close(),this.protocol.reset(),this.transport.close(),this.initialConnect=!0,this.emit("close",e)}disconnect(){this.closed()}handleIncoming(t){if(this.state==="closed"||this.state==="idle")return;let e=this.encoder.decode(t);if(e===void 0){this.logger.error("failed to decode message",{message:t});return}this.logger.debug("incoming data",e);let n=this.protocol.receive(e);if(n){this.logger.debug("processed incoming message",n);let{type:r,identifier:u,message:d,meta:p}=n;r?this.hub.notify(u,r,d):this.hub.transmit(u,d,p)}}send(t){if(this.state==="closed")throw Error("Cable is closed");let e=this.encoder.encode(t);if(e===void 0){this.logger.error("failed to encode message",{message:t});return}this.logger.debug("outgoing message",t),this.transport.send(e)}keepalive(t){this.emit("keepalive",t)}streamFrom(t){let e=new Sh({stream_name:t});return this.subscribe(e)}streamFromSigned(t){let e=new Sh({signed_stream_name:t});return this.subscribe(e)}subscribeTo(t,e){let n,r;return typeof t=="string"&&(r=t,t=_h),n=r?new t(r,e):new t(e),this.subscribe(n)}subscribe(t){if(!t.attached(this))return t;let e=t.identifier;t.connecting();let n=this.hub.subscriptions.get(e)||this.hub.subscriptions.create(e,{subscribe:r=>this._subscribe(r,t.channelId,t.params),unsubscribe:r=>this._unsubscribe(r)});return n.add(t),n.intent==="subscribed"&&n.state==="connected"&&t.connected(),n.ensureSubscribed(),t}async _resubscribe(t){t.intent!=="subscribed"||!t.channels[0]||(t.notify("connecting"),t.ensureResubscribed())}async _subscribe(t,e,n){let r=t.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r});return}this.logger.debug("acquiring subscribe lock",{identifier:r});let u=await t.acquire("subscribed");if(u.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:r}),u.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:r}),t.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),u.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r}),u.release();return}if(t.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:r}),t.notify("connected"),u.release();return}let d={identifier:e,params:n};this.logger.debug("subscribing",d);try{let p=await this.protocol.subscribe(e,n);this.hub.subscribe(r,p),this.logger.debug("subscribed",{...d,remoteId:p}),t.notify("connected")}catch(p){if(p){if(p instanceof kh&&this.logger.warn("rejected",d),p instanceof Ui){this.logger.debug("disconnected during subscription; will retry on connect",d),u.release();return}this.logger.error("failed to subscribe",{error:p,...d})}t.close(p),this.hub.unsubscribe(r)}u.release()}unsubscribe(t){let e=t.identifier,n=this.hub.subscriptions.get(e);if(!n)throw Error(`Subscription not found: ${e}`);n.remove(t),t.closed(),n.maybeUnsubscribe()}async _unsubscribe(t){let e=t.id;this.logger.debug("acquiring unsubscribe lock",{identifier:e});let n=await t.acquire("unsubscribed");if(n.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:e}),n.release();return}if(this.logger.debug("unsubscribe lock has been acquired",{identifier:e}),t.intent!=="unsubscribed"){this.logger.debug("cancel unsubscribe, no longer needed",{identifier:e,intent:t.intent}),n.release();return}if(t.state==="disconnected"||t.state==="closed"){this.logger.debug(`already ${t.state} connected, skip unsubscribe command`,{identifier:e}),n.release();return}let r=t.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:r}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:e}),t.close(),this.hub.unsubscribe(e),n.release();return}try{await this.protocol.unsubscribe(r),this.logger.debug("unsubscribed remotely",{id:e})}catch(u){u&&(u instanceof Ui?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:u}):this.logger.error("unsubscribe failed",{id:e,error:u}))}t.intent==="unsubscribed"?(t.close(),this.hub.unsubscribe(e)):t.state="closed",n.release()}async perform(t,e,n){if(this.performFailures==="throw")return this._perform(t,e,n);try{return await this._perform(t,e,n)}catch(r){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:r});return}}async _perform(t,e,n){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new sC;let r=this.hub.subscriptions.get(t);if(!r)throw Error(`Subscription not found: ${t}`);if(await r.pending("subscribed"),r.intent!=="subscribed")throw Error(`Subscription is closed: ${t}`);let u=r.remoteId,d={id:u,action:e,payload:n};this.logger.debug("perform",d);try{let p=await this.protocol.perform(u,e,n);return p&&this.logger.debug("perform result",{message:p,request:d}),p}catch(p){throw this.logger.error("perform failed",{error:p,request:d}),p}}on(t,e){return this.emitter.on(t,e)}once(t,e){let n=this.emitter.on(t,(...r)=>{n(),e(...r)});return n}emit(t,...e){return this.emitter.emit(t,...e)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((t,e)=>{let n=[()=>delete this._pendingConnect];n.push(this.on("connect",()=>{n.forEach(r=>r()),t()})),n.push(this.on("close",r=>{n.forEach(u=>u()),e(r)})),n.push(this.on("disconnect",r=>{n.forEach(u=>u()),e(r)}))}),this._pendingConnect)}};const cC={maxMissingPings:2,maxReconnectAttempts:1/0},pa=()=>Date.now(),Am=(t,e)=>{e=e||{};let{backoffRate:n,jitterRatio:r,maxInterval:u}=e;return n=n||2,r===void 0&&(r=.5),d=>{let p=t*n**d,w=p*n,f=p+(w-p)*Math.random(),g=2*(Math.random()-.5)*r;return f=f*(1+g),u&&u<f&&(f=u),f}};let Rm=class{constructor({pingInterval:t,...e}){if(this.pingInterval=t,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${t}`);if(e=Object.assign({},cC,e),this.strategy=e.reconnectStrategy,!this.strategy)throw Error("Reconnect strategy must be provided");this.maxMissingPings=e.maxMissingPings,this.maxReconnectAttempts=e.maxReconnectAttempts,this.logger=e.logger||new nl,this.state="pending_connect",this.attempts=0,this.disconnectedAt=pa()}watch(t){this.target=t,this.initListeners()}reconnectNow(){return this.state==="connected"||this.state==="pending_connect"||this.state==="closed"?!1:(this.cancelReconnect(),this.state="pending_connect",this.target.connect().catch(t=>{this.logger.info("Failed at reconnecting: "+t)}),!0)}initListeners(){this.unbind=[],this.unbind.push(this.target.on("connect",()=>{this.attempts=0,this.pingedAt=pa(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=pa(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=pa(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=pa()})),this.unbind.push(()=>{this.cancelReconnect(),this.stopPolling()})}dispose(){delete this.target,this.unbind&&this.unbind.forEach(t=>t()),delete this.unbind}startPolling(){this.pollId&&clearTimeout(this.pollId);let t=this.pingInterval+(Math.random()-.5)*this.pingInterval*.5;this.pollId=setTimeout(()=>{this.checkStale(),this.state==="connected"&&this.startPolling()},t)}stopPolling(){this.pollId&&clearTimeout(this.pollId)}checkStale(){let t=pa()-this.pingedAt;t>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${t}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new QS))}scheduleReconnect(){if(this.attempts>=this.maxReconnectAttempts){this.target.close();return}let t=this.strategy(this.attempts);this.attempts++,this.logger.info(`Reconnecting in ${t}ms (${this.attempts} attempt)`),this.state="pending_reconnect",this.reconnnectId=setTimeout(()=>this.reconnectNow(),t)}cancelReconnect(){this.reconnnectId&&(clearTimeout(this.reconnnectId),delete this.reconnnectId)}};class uC{constructor(e,n={}){this.transports=e,this.transport=null,this.emitter=fc(),this.unbind=[],this.logger=n.logger||new nl}displayName(){return"fallbacked transport"}async open(){for(let e=0;e<this.transports.length;e++){let n=this.transports[e];try{this.transport=n,this.resetListeners(),this.logger.debug(`Trying to connect via ${n.displayName()}`),await n.open(),this.logger.debug(`Connected via ${n.displayName()}`);return}catch(r){this.logger.debug(`Failed to connect via ${n.displayName()}: ${r.message}`)}}throw this.transport=null,this.resetListeners(),new Error("Couldn't connect via any available transport")}send(e){if(!this.transport)throw new Error("No transport is open");this.transport.send(e)}async close(){if(!this.transport)throw new Error("No transport is open");await this.transport.close(),this.transport=null}setURL(){throw new Error("Not implemented. Set URL for each transport separately")}setParam(e,n){this.transports.forEach(r=>{r.setParam(e,n)})}setToken(e,n){this.transports.forEach(r=>{r.setToken(e,n)})}on(e,n){return this.emitter.on(e,n)}once(e,n){let r=this.emitter.on(e,(...u)=>{r(),n(...u)});return r}get url(){return this.transport?this.transport.url:""}resetListeners(){this.unbind.forEach(e=>e()),this.unbind.length=0,this.transport&&this.unbind.push(this.transport.on("open",()=>{this.emitter.emit("open")}),this.transport.on("data",e=>{this.emitter.emit("data",e)}),this.transport.on("close",e=>{this.emitter.emit("close",e)}),this.transport.on("error",e=>{this.emitter.emit("error",e)}))}}class hC{constructor(e,n={}){this.url=e;let r=n.websocketImplementation;if(r)this.Impl=r;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=fc();let{format:u,subprotocol:d,authStrategy:p}=n;this.format=u||"text",this.connectionOptions=n.websocketOptions,this.authStrategy=p||"param",this.authProtocol="",this.subprotocol=d}displayName(){return"WebSocket("+this.url+")"}open(){let e=this.subprotocol;return this.authStrategy==="sub-protocol"&&(e=[this.subprotocol,this.authProtocol]),this.connectionOptions?this.ws=new this.Impl(this.url,e,this.connectionOptions):this.ws=new this.Impl(this.url,e),this.ws.binaryType="arraybuffer",this.initListeners(),new Promise((n,r)=>{let u=[];u.push(this.once("open",()=>{u.forEach(d=>d()),n()})),u.push(this.once("close",()=>{u.forEach(d=>d()),r(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,n){let r=new URL(this.url);r.searchParams.set(e,n);let u=`${r.protocol}//${r.host}${r.pathname}?${r.searchParams}`;this.setURL(u)}setToken(e,n="jid"){if(this.authStrategy==="param")this.setParam(n,e);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let r=`x-${n}`.toLowerCase();r=Object.keys(this.connectionOptions.headers).find(u=>u.toLowerCase()===r)||r,this.connectionOptions.headers[r]=e}else if(this.authStrategy==="sub-protocol")this.authProtocol=`anycable-token.${e}`;else throw new Error("Unknown auth strategy: "+this.authStrategy)}send(e){if(!this.ws||!this.connected)throw Error("WebSocket is not connected");this.ws.send(e)}close(){this.ws?this.onclose():this.connected=!1}on(e,n){return this.emitter.on(e,n)}once(e,n){let r=this.emitter.on(e,(...u)=>{r(),n(...u)});return r}initListeners(){this.ws.onerror=e=>{this.connected&&this.emitter.emit("error",e.error||new Error("WS Error"))},this.ws.onclose=()=>{this.onclose()},this.ws.onmessage=e=>{let n=e.data;this.format==="binary"&&(n=new Uint8Array(n)),this.emitter.emit("data",n)},this.ws.onopen=()=>{this.connected=!0,this.emitter.emit("open")}}onclose(){this.ws.onclose=void 0,this.ws.onmessage=void 0,this.ws.onopen=void 0,this.ws.close(),delete this.ws,this.connected=!1,this.emitter.emit("close")}}const Em={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function dC(t,e){if(typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),e=e||{},!t&&!e.transport)throw Error("URL or transport must be specified");e=Object.assign({},Em,e);let{protocol:n,websocketImplementation:r,websocketFormat:u,websocketOptions:d,websocketAuthStrategy:p,fallbacks:w,logLevel:f,logger:g,transport:s,encoder:a,lazy:h,monitor:c,pingInterval:i,reconnectStrategy:l,maxMissingPings:m,maxReconnectAttempts:b,subprotocol:x,tokenRefresher:M,historyTimestamp:A,protocolOptions:_,concurrentSubscribes:k,performFailures:E,transportConfigurator:O,auth:F}=e;if(g=g||new nl(f),typeof n=="string"){x=x||n;let P=n.substring(0,n.lastIndexOf("-")),I=n.substring(n.lastIndexOf("-")+1);if(_=_||{},P==="actioncable-v1")n=new Tm({logger:g,..._});else if(P==="actioncable-v1-ext")n=new oC({logger:g,historyTimestamp:A,..._});else throw Error(`Protocol is not supported yet: ${n}`);if(I==="json")a=a||new rC,u=u||"text";else if(I==="msgpack"){if(u="binary",!a)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(I==="protobuf"){if(u=u||"binary",!a)throw Error("Protobuf encoder must be specified explicitly. Use `@anycable/protobuf-encoder` package or build your own")}else throw Error(`Protocol is not supported yet: ${n}`)}if(!n)throw Error("Protocol must be specified");s=s||new hC(t,{websocketImplementation:r,websocketOptions:d,subprotocol:x,authStrategy:p,format:u}),w&&(s=new uC([s,...w],{logger:g})),F&&F.token&&s.setToken(F.token,F.param||"jid"),l=l||Am(i),c!==!1&&(c=c||new Rm({pingInterval:i,reconnectStrategy:l,maxMissingPings:m,maxReconnectAttempts:b,logger:g}));let L={concurrentSubscribes:k},H=new lC({protocol:n,transport:s,encoder:a,logger:g,lazy:h,hubOptions:L,performFailures:E,transportConfigurator:O});return c&&(c.watch(H),H.monitor=c),M&&pC(H,async()=>{try{await M(s)}catch(P){return g.error("Failed to refresh authentication token: "+P),!1}return H.connect().catch(()=>{}),!0}),H}function pC(t,e){let n=!1;t.on("connect",()=>n=!1),t.on("close",async r=>{if(r){if(n){t.logger.warn("Token auto-refresh is disabled",r);return}r.reason==="token_expired"&&(n=!0,await e())}})}class fC{constructor(e){this.channel=e}notify(e,...n){typeof this[e]=="function"&&this[e](...n)}perform(e,n={}){this.channel.perform(e,n)}send(e){this.channel.send(e)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class gC extends _h{constructor(e,n,r){super(e,n),this.subscription=new fC(this),Object.assign(this.subscription,r),this.on("connect",({reconnect:u})=>this.subscription.notify("connected",{reconnected:u})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",u=>this.subscription.notify("received",u)),this.on("close",u=>{u&&u instanceof kh?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class mC{constructor(e){this.cable=e}create(e,n){let r,u;typeof e=="object"?(r=e.channel,delete e.channel,u=e):(r=e,u={});let d=new gC(r,u,n);return d.subscription.notify("initialized"),this.cable.subscribe(d),d.subscription}findAll(e){return this.cable.hub.channels.filter(n=>n.identifier===e).map(n=>n.subscription)}}class yC{constructor(e){this.cable=e,this.subscriptions=new mC(e)}}class vC extends Cm{writeLogEntry(e,n,r){r?console[e](n,r):console[e](n)}}class wC extends Rm{watch(e){super.watch(e),this.initActivityListeners()}initActivityListeners(){if(typeof document<"u"&&typeof window<"u"&&document.addEventListener&&window.addEventListener){let e=()=>{document.hidden||this.reconnectNow()&&this.logger.debug("Trigger reconnect due to visibility change")},n=u=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:u})},r=()=>this.disconnect(new Ui("page_frozen"));document.addEventListener("visibilitychange",e,!1),window.addEventListener("focus",n,!1),window.addEventListener("online",n,!1),window.addEventListener("resume",n,!1),window.addEventListener("freeze",r,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",e,!1),window.removeEventListener("focus",n,!1),window.removeEventListener("online",n,!1),window.removeEventListener("resume",n,!1),window.removeEventListener("freeze",r,!1)})}}disconnect(e){this.state==="disconnected"||this.state==="closed"||(this.logger.info("Disconnecting",{reason:e.message}),this.cancelReconnect(),this.stopPolling(),this.state="pending_disconnect",this.target.disconnected(e))}}const bC=["cable","action-cable"],xC="/cable",gc=(t,e)=>{for(let n of bC){let r=t.head.querySelector(`meta[name='${n}-${e}']`);if(r)return r.getAttribute("content")}},Mm=t=>t.match(/wss?:\/\//)?t:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${t}`:t,kC=()=>{if(typeof document<"u"&&document.head){let t=gc(document,"url");if(t)return Mm(t)}return Mm(xC)},_C=()=>{if(typeof document<"u"&&document.head){let t=gc(document,"history-timestamp");if(t)return t|0}},SC=()=>{if(typeof document<"u"&&document.head)return gc(document,"token")},CC=()=>{if(typeof document<"u"&&document.head)return gc(document,"token-param")};function TC(t,e){typeof t=="object"&&typeof e>"u"&&(e=t,t=void 0),t=t||kC(),e=e||{},e.historyTimestamp||(e.historyTimestamp=_C());let n=SC();if(n){let g=CC();e.auth=Object.assign({token:n,param:g},e.auth||{})}e=Object.assign({},Em,e);let{logLevel:r,logger:u,pingInterval:d,reconnectStrategy:p,maxMissingPings:w,maxReconnectAttempts:f}=e;return u=e.logger=e.logger||new vC(r),p=e.reconnectStrategy=e.reconnectStrategy||Am(d),e.monitor!==!1&&(e.monitor=e.monitor||new wC({pingInterval:d,reconnectStrategy:p,maxMissingPings:w,maxReconnectAttempts:f,logger:u})),dC(t,e)}function $C(t,e){let n=TC(t,e);return new yC(n)}class AC{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,n,r={},u={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(d=>{if(d&&OpenC3Auth.setTokens(),this._cable==null){let p=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);p=new URL(p,document.baseURI).href,this._cable=$C(p)}return this._cable.subscriptions.create({channel:e,...u},r)})}recordPing(){}}Wi("D",AC);class RC{constructor(e,n,r="",u=""){this.keyword=e.keyword,this.parameters=e.parameters,this.filename=e.filename,this.line=e.line,this.lineNumber=e.lineNumber,this.message=n,this.usage=r,this.url=u}}Wi("b",RC);function Ch(t){return EC.test(t)}const EC=/^-?[0-9]+$/;function Lm(t){return MC.test(t)}const MC=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Om(t,e){const n=Number.parseFloat(t),r=String(n),u=Im(t),d=Im(r);return!!(u===d||(e==null?void 0:e.approx)===!0&&!Ch(t)&&d.length>=14&&u.startsWith(d.substring(0,14)))}let rl=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function LC(t){if(Om(t,{approx:!1}))return;if(Ch(t))return rl.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?rl.underflow:rl.truncate_float:rl.overflow}function Im(t){return t.replace(OC,"").replace(NC,"").replace(DC,"").replace(IC,"")}const OC=/[eE][+-]?\d+$/,IC=/^-?(0*)?/,NC=/\./,DC=/0+$/;class FC{constructor(e){if(tc(this,"isLosslessNumber",!0),!Lm(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=LC(this.value);if(e===void 0||e===rl.truncate_float)return Number.parseFloat(this.value);if(Ch(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${e} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function PC(t){return t&&typeof t=="object"&&t.isLosslessNumber===!0||!1}function BC(t){return new FC(t)}function jC(t,e){return Th({"":t},"",t,e)}function Th(t,e,n,r){return Array.isArray(n)?r.call(t,e,zC(n,r)):n&&typeof n=="object"&&!PC(n)?r.call(t,e,WC(n,r)):r.call(t,e,n)}function WC(t,e){for(const n of Object.keys(t)){const r=Th(t,n,t[n],e);r!==void 0?t[n]=r:delete t[n]}return t}function zC(t,e){for(let n=0;n<t.length;n++)t[n]=Th(t,String(n),t[n],e);return t}function HC(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:BC,r=0;const u=w();return i(u),m(),e?jC(u,e):u;function d(){if(t.charCodeAt(r)===YC){r++,g();const T={};let C=!0;for(;r<t.length&&t.charCodeAt(r)!==Dm;){C?C=!1:(h(),g());const N=r,j=s();if(j===void 0){M();return}g(),c();const U=w();if(U===void 0){F();return}Object.prototype.hasOwnProperty.call(T,j)&&!$h(U,T[j])&&A(j,N+1),T[j]=U}return t.charCodeAt(r)!==Dm&&_(),r++,T}}function p(){if(t.charCodeAt(r)===XC){r++,g();const T=[];let C=!0;for(;r<t.length&&t.charCodeAt(r)!==Fm;){C?C=!1:h();const N=w();l(N),T.push(N)}return t.charCodeAt(r)!==Fm&&k(),r++,T}}function w(){g();const T=s()??a()??d()??p()??f("true",!0)??f("false",!1)??f("null",null);return g(),T}function f(T,C){if(t.slice(r,r+T.length)===T)return r+=T.length,C}function g(){for(;UC(t.charCodeAt(r));)r++}function s(){if(t.charCodeAt(r)===Ah){r++;let T="";for(;r<t.length&&t.charCodeAt(r)!==Ah;){if(t.charCodeAt(r)===GC){const C=t[r+1],N=KC[C];N!==void 0?(T+=N,r++):C==="u"?mc(t.charCodeAt(r+2))&&mc(t.charCodeAt(r+3))&&mc(t.charCodeAt(r+4))&&mc(t.charCodeAt(r+5))?(T+=String.fromCharCode(Number.parseInt(t.slice(r+2,r+6),16)),r+=5):L(r):O(r)}else VC(t.charCodeAt(r))?T+=t[r]:E(t[r]);r++}return x(),r++,T}}function a(){const T=r;if(t.charCodeAt(r)===Pm&&(r++,b(T)),t.charCodeAt(r)===Rh)r++;else if(qC(t.charCodeAt(r)))for(r++;yc(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===iT)for(r++,b(T);yc(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===cT||t.charCodeAt(r)===lT)for(r++,(t.charCodeAt(r)===Pm||t.charCodeAt(r)===tT)&&r++,b(T);yc(t.charCodeAt(r));)r++;if(r>T)return n(t.slice(T,r))}function h(){if(t.charCodeAt(r)!==rT)throw new SyntaxError(`Comma ',' expected after value ${I()}`);r++}function c(){if(t.charCodeAt(r)!==oT)throw new SyntaxError(`Colon ':' expected after property name ${I()}`);r++}function i(T){if(T===void 0)throw new SyntaxError(`JSON value expected ${I()}`)}function l(T){if(T===void 0)throw new SyntaxError(`Array item expected ${I()}`)}function m(){if(r<t.length)throw new SyntaxError(`Expected end of input ${I()}`)}function b(T){if(!yc(t.charCodeAt(r))){const C=t.slice(T,r);throw new SyntaxError(`Invalid number '${C}', expecting a digit ${I()}`)}}function x(){if(t.charCodeAt(r)!==Ah)throw new SyntaxError(`End of string '"' expected ${I()}`)}function M(){throw new SyntaxError(`Quoted object key expected ${I()}`)}function A(T,C){throw new SyntaxError(`Duplicate key '${T}' encountered at position ${C}`)}function _(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${I()}`)}function k(){throw new SyntaxError(`Array item or end of array ']' expected ${I()}`)}function E(T){throw new SyntaxError(`Invalid character '${T}' ${H()}`)}function O(T){const C=t.slice(T,T+2);throw new SyntaxError(`Invalid escape character '${C}' ${H()}`)}function F(){throw new SyntaxError(`Object value expected after ':' ${H()}`)}function L(T){const C=t.slice(T,T+6);throw new SyntaxError(`Invalid unicode character '${C}' ${H()}`)}function H(){return`at position ${r}`}function P(){return r<t.length?`but got '${t[r]}'`:"but reached end of input"}function I(){return`${P()} ${H()}`}}function UC(t){return t===QC||t===ZC||t===JC||t===eT}function mc(t){return t>=Rh&&t<=Eh||t>=sT&&t<=uT||t>=aT&&t<=hT}function yc(t){return t>=Rh&&t<=Eh}function qC(t){return t>=nT&&t<=Eh}function VC(t){return t>=32&&t<=1114111}function $h(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((n,r)=>$h(n,e[r])):Nm(t)&&Nm(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(n=>$h(t[n],e[n])):!1}function Nm(t){return typeof t=="object"&&t!==null}const KC={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
1399
+ `,r:"\r",t:" "},GC=92,YC=123,Dm=125,XC=91,Fm=93,QC=32,ZC=10,JC=9,eT=13,Ah=34,tT=43,Pm=45,Rh=48,nT=49,Eh=57,rT=44,iT=46,oT=58,sT=65,aT=97,lT=69,cT=101,uT=70,hT=102;function Bm(t,e,n,r){return u(t);function u(f,g){if(Array.isArray(r)){const s=r.find(a=>a.test(f));if(s){const a=s.stringify(f);if(typeof a!="string"||!Lm(a))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${a})`);return a}}if(typeof f=="boolean"||typeof f=="number"||typeof f=="string"||f===null||f instanceof Date||f instanceof Boolean||f instanceof Number||f instanceof String)return JSON.stringify(f);if(f!=null&&f.isLosslessNumber||typeof f=="bigint")return f.toString();if(Array.isArray(f))return d(f);if(f&&typeof f=="object")return p(f)}function d(f,g){if(f.length===0)return"[]";let s="[";for(let a=0;a<f.length;a++){const h=f[a];typeof h<"u"&&typeof h!="function"?s+=u(h):s+="null",a<f.length-1&&(s+=",")}return s+="]",s}function p(f,g){if(typeof f.toJSON=="function")return Bm(f.toJSON(),e,n,void 0);const s=Array.isArray(e)?e.map(String):Object.keys(f);if(s.length===0)return"{}";let a=!0,h="{";for(const c of s){const i=f[c];if(w(c,i)){a?a=!1:h+=",";const l=JSON.stringify(c);h+=`${l}:`,h+=u(i)}}return h+="}",h}function w(f,g){return typeof g<"u"&&typeof g!="function"&&typeof g!="symbol"}}function dT(t){return Om(t)?parseFloat(t):BigInt(t)}class jm{constructor(){tc(this,"id",1)}async exec(e,n,r={},u={},d=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return r.scope=window.openc3Scope,u.manual=!0,(await bh.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...u},timeout:d,transformRequest:[(p,w)=>Bm(p)],transformResponse:[p=>HC(p,void 0,dT)]})).data.result}catch(p){let w=new Error;throw p.response?(w.name=p.response.data.error.data.class,w.message=p.response.data.error.data.message,w.object=p.response.data.error):p.request?(w.name="Request error",w.message="Request error, no response received"):w.name="Unknown error",w}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(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(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...r){return this.exec("interface_cmd",[e,n,...r])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,r){return this.exec("get_item",[e,n,r])}get_param(e,n,r){return this.exec("get_param",[e,n,r])}get_parameter(e,n,r){return this.exec("get_param",[e,n,r])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_tlm",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,n=!1){return this.exec("get_all_tlm_names",[e],{hidden:n})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,n,r,u=30){const d=await this.exec("get_tlm_packet",[e,n],{type:r,stale_time:u});if(d!=null){let p=d.length,w=null;for(let f=0;f<p;f++)w=this.decode_openc3_type(d[f][1]),w!==null&&(d[f][1]=w)}return d}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,r=null){let u={stale_time:n};r!==null&&(u.cache_timeout=r);const d=await this.exec("get_tlm_values",[e],u,{},1e4);let p=d[0].length,w=null;for(let f=0;f<p;f++)w=this.decode_openc3_type(d[0][f]),w!==null&&(d[0][f]=w);return d}get_limits(e,n,r){return this.exec("get_limits",[e,n,r])}async tlm(e,n,r,u="CONVERTED"){let d=null;if(n===void 0)d=await this.exec("tlm",[e]);else if(r===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n))d=await this.exec("tlm",[e],{type:n});else{let w=new Error;throw w.name="TypeError",w.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,w}else d=await this.exec("tlm",[e,n,r],{type:u});let p=this.decode_openc3_type(d);return p!==null&&(d=p),d}async inject_tlm(e,n,r=null,u="CONVERTED"){await this.exec("inject_tlm",[e,n,r],{type:u})}set_tlm(e,n,r,u){return this.exec("set_tlm",[e,n,r],{type:u})}override_tlm(e,n,r,u){return this.exec("override_tlm",[e,n,r],{type:u})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,r,u){return this.exec("normalize_tlm",[e,n,r],{type:u})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,n=!1){return this.exec("get_all_cmd_names",[e],{hidden:n})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_cmd",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,r,u="CONVERTED"){return this.exec("get_cmd_value",[e,n,r,u])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,r,u,d){let p=null;for(let w in u)Object.prototype.hasOwnProperty.call(u,w)&&(p=this.encode_openc3_type(u[w]),p!==null&&(u[w]=p));return this.exec(e,[n,r,u],{},d)}get_cmd_hazardous(e,n,r,u={}){return n===void 0?this.exec("get_cmd_hazardous",e,{},u):this._cmd("get_cmd_hazardous",e,n,r,u)}cmd(e,n,r,u={}){return n===void 0?this.exec("cmd",e,{},u):this._cmd("cmd",e,n,r,u)}cmd_no_range_check(e,n,r,u={}){return n===void 0?this.exec("cmd_no_range_check",e,{},u):this._cmd("cmd_no_range_check",e,n,r,u)}cmd_raw(e,n,r,u={}){return n===void 0?this.exec("cmd_raw",e,{},u):this._cmd("cmd_raw",e,n,r,u)}cmd_raw_no_range_check(e,n,r,u={}){return n===void 0?this.exec("cmd_raw_no_range_check",e,{},u):this._cmd("cmd_raw_no_range_check",e,n,r,u)}cmd_no_hazardous_check(e,n,r,u={}){return n===void 0?this.exec("cmd_no_hazardous_check",e,{},u):this._cmd("cmd_no_hazardous_check",e,n,r,u)}cmd_no_checks(e,n,r,u={}){return n===void 0?this.exec("cmd_no_checks",e,{},u):this._cmd("cmd_no_checks",e,n,r,u)}cmd_raw_no_hazardous_check(e,n,r,u={}){return n===void 0?this.exec("cmd_raw_no_hazardous_check",e,{},u):this._cmd("cmd_raw_no_hazardous_check",e,n,r,u)}cmd_raw_no_checks(e,n,r,u={}){return n===void 0?this.exec("cmd_raw_no_checks",e,{},u):this._cmd("cmd_raw_no_checks",e,n,r,u)}build_cmd(e,n,r){return n===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,r)}build_command(e,n,r){return n===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,r)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,r){return this.exec("save_config",[e,n,r])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,r){return this.exec("enable_limits",[e,n,r])}disable_limits(e,n,r){return this.exec("disable_limits",[e,n,r])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,n){return this.exec("set_setting",[e,n])}update_news(){return this.exec("update_news",[])}save_setting(e,n){return this.exec("set_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",n),u=new Uint8Array(r);return Array.from(u).map(d=>d.toString(16).padStart(2,"0")).join("")}}}Wi("F",jm);var Wm={exports:{}},zm;function pT(){return zm||(zm=1,function(t,e){ace.define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"],function(n,r,u){function d(g,s){function a(F,L,H){if(!(F.length<L)){var P=F.slice(0,L),I=F.slice(L),T=/^(?:(\s+)|(\S+)(\s+))/.exec(I),C=/(?:(\s+)|(\s+)(\S+))$/.exec(P),N=0,j=0;if(C&&!C[2]&&(N=L-C[1].length,j=L),T&&!T[2]&&(N||(N=L),j=L+T[1].length),N)return{start:N,end:j};if(C&&C[2]&&C.index>H)return{start:C.index,end:C.index+C[2].length};if(T&&T[2])return N=L+T[2].length,{start:N,end:N+T[3].length}}}for(var h=s.column||g.getOption("printMarginColumn"),c=s.allowMerge!=0,i=Math.min(s.startRow,s.endRow),l=Math.max(s.startRow,s.endRow),m=g.session;i<=l;){var b=m.getLine(i);if(b.length>h){var x=a(b,h,5);if(x){var M=/^\s*/.exec(b)[0];m.replace(new w(i,x.start,i,x.end),`
1400
+ `+M)}l++}else if(c&&/\S/.test(b)&&i!=l){var A=m.getLine(i+1);if(A&&/\S/.test(A)){var _=b.replace(/\s+$/,""),k=A.replace(/^\s+/,""),E=_+" "+k,x=a(E,h,5);if(x&&x.start>_.length||E.length<h){var O=new w(i,_.length,i+1,A.length-k.length);m.replace(O," "),i--,l--}else _.length<b.length&&m.remove(new w(i,_.length,i,b.length))}}i++}}function p(g){if(g.command.name=="insertstring"&&/\S/.test(g.args)){var s=g.editor,a=s.selection.cursor;if(a.column<=s.renderer.$printMarginColumn)return;var h=s.session.$undoManager.$lastDelta;d(s,{startRow:a.row,endRow:a.row,allowMerge:!1}),h!=s.session.$undoManager.$lastDelta&&s.session.markUndoGroup()}}var w=n("../range").Range,f=n("../editor").Editor;n("../config").defineOptions(f.prototype,"editor",{hardWrap:{set:function(g){g?this.commands.on("afterExec",p):this.commands.off("afterExec",p)},value:!1}}),r.hardWrap=d}),ace.define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/mode/text","ace/ext/hardwrap","ace/multi_select"],function(n,r,u){function d(v){return{row:v.line,column:v.ch}}function p(v){return new Fe(v.row,v.column)}function w(v,$,S){if($.line===S.line&&$.ch>=S.ch-1){var D=v.getLine($.line),B=D.charCodeAt($.ch);55296<=B&&B<=55551&&(S.ch+=1)}return{start:$,end:S}}function f(v){v.setOption("disableInput",!0),v.setOption("showCursorWhenSelecting",!1),je.signal(v,"vim-mode-change",{mode:"normal"}),v.on("cursorActivity",is),E(v),je.on(v.getInputField(),"paste",s(v))}function g(v){v.setOption("disableInput",!1),v.off("cursorActivity",is),je.off(v.getInputField(),"paste",s(v)),v.state.vim=null,mr&&clearTimeout(mr)}function s(v){var $=v.state.vim;return $.onPasteFn||($.onPasteFn=function(){$.insertMode||(v.setCursor(ve(v.getCursor(),0,1)),Wn.enterInsertMode(v,{},$))}),$.onPasteFn}function a(v,$){return $>=v.firstLine()&&$<=v.lastLine()}function h(v){return/^[a-z]$/.test(v)}function c(v){return"()[]{}".indexOf(v)!=-1}function i(v){return Da.test(v)}function l(v){return ln.test(v)}function m(v){return/^\s*$/.test(v)}function b(v){return".?!".indexOf(v)!=-1}function x(v,$){for(var S=0;S<$.length;S++)if($[S]==v)return!0;return!1}function M(v,$,S,D,B){if($===void 0&&!B)throw Error("defaultValue is required unless callback is provided");if(S||(S="string"),Gt[v]={type:S,defaultValue:$,callback:B},D)for(var W=0;W<D.length;W++)Gt[D[W]]=Gt[v];$&&A(v,$)}function A(v,$,S,D){var B=Gt[v];D=D||{};var W=D.scope;if(!B)return new Error("Unknown option: "+v);if(B.type=="boolean"){if($&&$!==!0)return new Error("Invalid argument: "+v+"="+$);$!==!1&&($=!0)}B.callback?(W!=="local"&&B.callback($,void 0),W!=="global"&&S&&B.callback($,S)):(W!=="local"&&(B.value=B.type=="boolean"?!!$:$),W!=="global"&&S&&(S.state.vim.options[v]={value:$}))}function _(v,$,S){var D=Gt[v];S=S||{};var B=S.scope;if(!D)return new Error("Unknown option: "+v);if(D.callback){var W=$&&D.callback(void 0,$);return B!=="global"&&W!==void 0?W:B!=="local"?D.callback():void 0}var W=B!=="global"&&$&&$.state.vim.options[v];return(W||B!=="local"&&D||{}).value}function k(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Bn()}function E(v){return v.state.vim||(v.state.vim={inputState:new T,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{},expectLiteralNext:!1}),v.state.vim}function O(){ze={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:Li(),macroModeState:new k,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new K({}),searchHistoryController:new Z,exCommandHistoryController:new Z};for(var v in Gt){var $=Gt[v];$.value=$.defaultValue}}function F(v){function $(Y){typeof Y=="string"?Sn.value=Y:Sn=null}if(v[0]=="<"){var S=v.toLowerCase().slice(1,-1),D=S.split("-");if(S=D.pop()||"",S=="lt")v="<";else if(S=="space")v=" ";else if(S=="cr")v=`
1401
+ `;else if(Oi[S]){var B=Sn.value,W={key:Oi[S],target:{value:B,selectionEnd:B.length,selectionStart:B.length}};Sn.onKeyDown&&Sn.onKeyDown(W,Sn.value,$),Sn&&Sn.onKeyUp&&Sn.onKeyUp(W,Sn.value,$);return}}if(v==`
1402
+ `){var V=Sn;Sn=null,V.onClose&&V.onClose(V.value)}else Sn.value=(Sn.value||"")+v}function L(v,$,S){var D=fn;if(S){if(Hr.indexOf(S)!=-1)return;Hr.push(S),fn=S.noremap!=0}try{for(var B=E(v),W=/<(?:[CSMA]-)*\w+>|./gi,V;V=W.exec($);){var Y=V[0],Q=B.insertMode;if(Sn){F(Y);continue}var re=_t.handleKey(v,Y,"mapping");if(!re&&Q&&B.insertMode){if(Y[0]=="<"){var se=Y.toLowerCase().slice(1,-1),ye=se.split("-");if(se=ye.pop()||"",se=="lt")Y="<";else if(se=="space")Y=" ";else if(se=="cr")Y=`
1403
+ `;else{if(Oi.hasOwnProperty(se)){Y=Oi[se],ss(v,Y);continue}Y=Y[0],W.lastIndex=V.index+1}}v.replaceSelection(Y)}}}finally{if(Hr.pop(),fn=Hr.length?D:!1,!Hr.length&&Sn){var ke=Sn;Sn=null,Ir(v,ke)}}}function H(v,$){var S=v.key;if(!Ur[S]){S.length>1&&S[0]=="n"&&(S=S.replace("Numpad","")),S=or[S]||S;var D="";if(v.ctrlKey&&(D+="C-"),v.altKey&&(D+="A-"),v.metaKey&&(D+="M-"),je.isMac&&v.altKey&&!v.metaKey&&!v.ctrlKey&&(D=D.slice(2)),(D||S.length>1)&&v.shiftKey&&(D+="S-"),$&&!$.expectLiteralNext&&S.length==1){if(Qn.keymap&&S in Qn.keymap)(Qn.remapCtrl!=0||!D)&&(S=Qn.keymap[S]);else if(S.charCodeAt(0)>255){var B=v.code&&v.code.slice(-1)||"";v.shiftKey||(B=B.toLowerCase()),B&&(S=B)}}return D+=S,D.length>1&&(D="<"+D+">"),D}}function P(v,$){Qn.string!==v&&(Qn=I(v)),Qn.remapCtrl=$}function I(v){function $(D){return D.split(/\\?(.)/).filter(Boolean)}var S={};return v?(v.split(/((?:[^\\,]|\\.)+),/).map(function(D){if(D){var B=D.split(/((?:[^\\;]|\\.)+);/);if(B.length==3){var W=$(B[1]),V=$(B[2]);if(W.length!==V.length)return;for(var Y=0;Y<W.length;++Y)S[W[Y]]=V[Y]}else if(B.length==1){var Q=$(D);if(Q.length%2!==0)return;for(var Y=0;Y<Q.length;Y+=2)S[Q[Y]]=Q[Y+1]}}}),{keymap:S,string:v}):{keymap:S,string:""}}function T(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null,this.changeQueue=null}function C(v,$){v.state.vim.inputState=new T,v.state.vim.expectLiteralNext=!1,je.signal(v,"vim-command-done",$)}function N(){this.removed=[],this.inserted=""}function j(v,$,S){this.clear(),this.keyBuffer=[v||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!$,this.blockwise=!!S}function U(v,$){var S=ze.registerController.registers;if(!v||v.length!=1)throw Error("Register name must be 1 character");S[v]=$,an.push(v)}function K(v){this.registers=v,this.unnamedRegister=v['"']=new j,v["."]=new j,v[":"]=new j,v["/"]=new j,v["+"]=new j}function Z(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function te(v,$){ri[v]=$}function he(v,$){for(var S=[],D=0;D<$;D++)S.push(v);return S}function ne(v,$){us[v]=$}function ae(v,$){Wn[v]=$}function ce(v,$,S){var D=v.state.vim,B=D.insertMode||D.visualMode,W=Math.min(Math.max(v.firstLine(),$.line),v.lastLine()),V=v.getLine(W),Y=V.length-1+ +!!B,Q=Math.min(Math.max(0,$.ch),Y),re=V.charCodeAt(Q);if(56320<=re&&re<=57343){var se=1;S&&S.line==W&&S.ch>Q&&(se=-1),Q+=se,Q>Y&&(Q-=2)}return new Fe(W,Q)}function ue(v){var $={};for(var S in v)v.hasOwnProperty(S)&&($[S]=v[S]);return $}function ve(v,$,S){return typeof $=="object"&&(S=$.ch,$=$.line),new Fe(v.line+$,v.ch+S)}function Ce(v,$,S,D){D.operator&&(S="operatorPending");for(var B,W=[],V=[],Y=fn?$.length-No:0,Q=Y;Q<$.length;Q++){var re=$[Q];S=="insert"&&re.context!="insert"||re.context&&re.context!=S||D.operator&&re.type=="action"||!(B=Ee(v,re.keys))||(B=="partial"&&W.push(re),B=="full"&&V.push(re))}return{partial:W.length&&W,full:V.length&&V}}function Ee(v,$){var S=$.slice(-11)=="<character>",D=$.slice(-10)=="<register>";if(S||D){var B=$.length-(S?11:10),W=v.slice(0,B),V=$.slice(0,B);return W==V&&v.length>B?"full":V.indexOf(W)==0?"partial":!1}return v==$?"full":$.indexOf(v)==0?"partial":!1}function Le(v){var $=/^.*(<[^>]+>)$/.exec(v),S=$?$[1]:v.slice(-1);if(S.length>1)switch(S){case"<CR>":S=`
1404
+ `;break;case"<Space>":S=" ";break;default:S=""}return S}function Xe(v,$,S){return function(){for(var D=0;D<S;D++)$(v)}}function Ge(v){return new Fe(v.line,v.ch)}function ft(v,$){return v.ch==$.ch&&v.line==$.line}function it(v,$){return v.line<$.line?!0:v.line==$.line&&v.ch<$.ch}function gt(v,$){return arguments.length>2&&($=gt.apply(void 0,Array.prototype.slice.call(arguments,1))),it(v,$)?v:$}function sn(v,$){return arguments.length>2&&($=sn.apply(void 0,Array.prototype.slice.call(arguments,1))),it(v,$)?$:v}function vn(v,$,S){var D=it(v,$),B=it($,S);return D&&B}function Jt(v,$){return v.getLine($).length}function xr(v){return v.trim?v.trim():v.replace(/^\s+|\s+$/g,"")}function wn(v){return v.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function Dn(v,$,S){var D=Jt(v,$),B=new Array(S-D+1).join(" ");v.setCursor(new Fe($,D)),v.replaceRange(B,v.getCursor())}function Fn(v,$){var S=[],D=v.listSelections(),B=Ge(v.clipPos($)),W=!ft($,B),V=v.getCursor("head"),Y=xt(D,V),Q=ft(D[Y].head,D[Y].anchor),re=D.length-1,se=re-Y>Y?re:0,ye=D[se].anchor,ke=Math.min(ye.line,B.line),ge=Math.max(ye.line,B.line),we=ye.ch,De=B.ch,Ne=D[se].head.ch-we,Ve=De-we;Ne>0&&Ve<=0?(we++,W||De--):Ne<0&&Ve>=0?(we--,Q||De++):Ne<0&&Ve==-1&&(we--,De++);for(var ct=ke;ct<=ge;ct++){var Je={anchor:new Fe(ct,we),head:new Fe(ct,De)};S.push(Je)}return v.setSelections(S),$.ch=De,ye.ch=we,ye}function ir(v,$,S){for(var D=[],B=0;B<S;B++){var W=ve($,B,0);D.push({anchor:W,head:W})}v.setSelections(D,0)}function xt(v,$,S){for(var D=0;D<v.length;D++){var B=ft(v[D].anchor,$),W=ft(v[D].head,$);if(B||W)return D}return-1}function qe(v,$){var S=$.lastSelection,D=function(){var W=v.listSelections(),V=W[0],Y=W[W.length-1],Q=it(V.anchor,V.head)?V.anchor:V.head,re=it(Y.anchor,Y.head)?Y.head:Y.anchor;return[Q,re]},B=function(){var W=v.getCursor(),V=v.getCursor(),Y=S.visualBlock;if(Y){var Q=Y.width,re=Y.height;V=new Fe(W.line+re,W.ch+Q);for(var se=[],ye=W.line;ye<V.line;ye++){var ke=new Fe(ye,W.ch),ge=new Fe(ye,V.ch),we={anchor:ke,head:ge};se.push(we)}v.setSelections(se)}else{var De=S.anchorMark.find(),Ne=S.headMark.find(),Ve=Ne.line-De.line,ct=Ne.ch-De.ch;V={line:V.line+Ve,ch:Ve?V.ch:ct+V.ch},S.visualLine&&(W=new Fe(W.line,0),V=new Fe(V.line,Jt(v,V.line))),v.setSelection(W,V)}return[W,V]};return $.visualMode?D():B()}function _e(v,$){var S=$.sel.anchor,D=$.sel.head;$.lastPastedText&&(D=v.posFromIndex(v.indexFromPos(S)+$.lastPastedText.length),$.lastPastedText=null),$.lastSelection={anchorMark:v.setBookmark(S),headMark:v.setBookmark(D),anchor:Ge(S),head:Ge(D),visualMode:$.visualMode,visualLine:$.visualLine,visualBlock:$.visualBlock}}function He(v,$,S,D){var B=v.state.vim.sel,W=D?$:B.head,V=D?$:B.anchor,Y;return it(S,$)&&(Y=S,S=$,$=Y),it(W,V)?(W=gt($,W),V=sn(V,S)):(V=gt($,V),W=sn(W,S),W=ve(W,0,-1),W.ch==-1&&W.line!=v.firstLine()&&(W=new Fe(W.line-1,Jt(v,W.line-1)))),[V,W]}function Qe(v,$,B){var D=v.state.vim;$=$||D.sel;var B=B||D.visualLine?"line":D.visualBlock?"block":"char",W=mt(v,$,B);v.setSelections(W.ranges,W.primary)}function mt(v,$,S,D){var B=Ge($.head),W=Ge($.anchor);if(S=="char"){var V=!D&&!it($.head,$.anchor)?1:0,Y=it($.head,$.anchor)?1:0;return B=ve($.head,0,V),W=ve($.anchor,0,Y),{ranges:[{anchor:W,head:B}],primary:0}}if(S=="line"){if(it($.head,$.anchor))B.ch=0,W.ch=Jt(v,W.line);else{W.ch=0;var Q=v.lastLine();B.line>Q&&(B.line=Q),B.ch=Jt(v,B.line)}return{ranges:[{anchor:W,head:B}],primary:0}}if(S=="block"){var re=Math.min(W.line,B.line),se=W.ch,ye=Math.max(W.line,B.line),ke=B.ch;se<ke?ke+=1:se+=1;for(var ge=ye-re+1,we=B.line==re?0:ge-1,De=[],Ne=0;Ne<ge;Ne++)De.push({anchor:new Fe(re+Ne,se),head:new Fe(re+Ne,ke)});return{ranges:De,primary:we}}}function Tt(v){var $=v.getCursor("head");return v.getSelection().length==1&&($=gt($,v.getCursor("anchor"))),$}function Ct(v,$){var S=v.state.vim;$!==!1&&v.setCursor(ce(v,S.sel.head)),_e(v,S),S.visualMode=!1,S.visualLine=!1,S.visualBlock=!1,S.insertMode||je.signal(v,"vim-mode-change",{mode:"normal"})}function Pt(v,$,S){var D=v.getRange($,S);if(/\n\s*$/.test(D)){var B=D.split(`
1405
+ `);B.pop();for(var W,W=B.pop();B.length>0&&W&&m(W);W=B.pop())S.line--,S.ch=0;W?(S.line--,S.ch=Jt(v,S.line)):S.ch=0}}function Dt(v,$,S){$.ch=0,S.ch=0,S.line++}function pt(v){if(!v)return 0;var $=v.search(/\S/);return $==-1?v.length:$}function kt(v,$,S){var D=$.inclusive,B=$.innerWord,W=$.bigWord,V=$.noSymbol,Y=$.multiline,Q=S||Tt(v),re=v.getLine(Q.line),se=re,ye=Q.line,ke=ye,ge=Q.ch,we,De=V?Do[0]:Mi[0];if(B&&/\s/.test(re.charAt(ge)))De=function(kn){return/\s/.test(kn)};else{for(;!De(re.charAt(ge));)if(ge++,ge>=re.length){if(!Y)return null;ge--,we=$o(v,Q,!0,W,!0);break}W?De=Mi[0]:(De=Do[0],De(re.charAt(ge))||(De=Do[1]))}for(var Ne=ge,Ve=ge;De(re.charAt(Ve))&&Ve>=0;)Ve--;if(Ve++,we)Ne=we.to,ke=we.line,se=v.getLine(ke),!se&&Ne==0&&Ne++;else for(;De(re.charAt(Ne))&&Ne<re.length;)Ne++;if(D){var ct=Ne,Je=Q.ch<=Ve&&/\s/.test(re.charAt(Q.ch));if(!Je)for(;/\s/.test(se.charAt(Ne))&&Ne<se.length;)Ne++;if(ct==Ne||Je){for(var rt=Ve;/\s/.test(re.charAt(Ve-1))&&Ve>0;)Ve--;!Ve&&!Je&&(Ve=rt)}}return{start:new Fe(ye,Ve),end:new Fe(ke,Ne)}}function Tn(v,$,S){var D=$;if(!je.findMatchingTag||!je.findEnclosingTag)return{start:D,end:D};var B=je.findMatchingTag(v,$)||je.findEnclosingTag(v,$);return!B||!B.open||!B.close?{start:D,end:D}:S?{start:B.open.from,end:B.close.to}:{start:B.open.to,end:B.close.from}}function Mr(v,$,S){ft($,S)||ze.jumpList.add(v,$,S)}function ei(v,$){ze.lastCharacterSearch.increment=v,ze.lastCharacterSearch.forward=$.forward,ze.lastCharacterSearch.selectedCharacter=$.selectedCharacter}function Xi(v,$,S,D){var B=Ge(v.getCursor()),W=S?1:-1,V=S?v.lineCount():-1,Y=B.ch,Q=B.line,re=v.getLine(Q),se={lineText:re,nextCh:re.charAt(Y),lastCh:null,index:Y,symb:D,reverseSymb:(S?{")":"(","}":"{"}:{"(":")","{":"}"})[D],forward:S,depth:0,curMoveThrough:!1},ye=vi[D];if(!ye)return B;var ke=wi[ye].init,ge=wi[ye].isComplete;for(ke&&ke(se);Q!==V&&$;){if(se.index+=W,se.nextCh=se.lineText.charAt(se.index),!se.nextCh){if(Q+=W,se.lineText=v.getLine(Q)||"",W>0)se.index=0;else{var we=se.lineText.length;se.index=we>0?we-1:0}se.nextCh=se.lineText.charAt(se.index)}ge(se)&&(B.line=Q,B.ch=se.index,$--)}return se.nextCh||se.curMoveThrough?new Fe(Q,se.index):B}function $o(v,$,S,D,B){var W=$.line,V=$.ch,Y=v.getLine(W),Q=S?1:-1,re=D?Mi:Do;if(B&&Y==""){if(W+=Q,Y=v.getLine(W),!a(v,W))return null;V=S?0:Y.length}for(;;){if(B&&Y=="")return{from:0,to:0,line:W};for(var se=Q>0?Y.length:-1,ye=se,ke=se;V!=se;){for(var ge=!1,we=0;we<re.length&&!ge;++we)if(re[we](Y.charAt(V))){for(ye=V;V!=se&&re[we](Y.charAt(V));)V+=Q;if(ke=V,ge=ye!=ke,ye==$.ch&&W==$.line&&ke==ye+Q)continue;return{from:Math.min(ye,ke+1),to:Math.max(ye,ke),line:W}}ge||(V+=Q)}if(W+=Q,!a(v,W))return null;Y=v.getLine(W),V=Q>0?0:Y.length}}function kr(v,$,S,D,B,W){var V=Ge($),Y=[];(D&&!B||!D&&B)&&S++;for(var Q=!D||!B,re=0;re<S;re++){var se=$o(v,$,D,W,Q);if(!se){var ye=Jt(v,v.lastLine());Y.push(D?{line:v.lastLine(),from:ye,to:ye}:{line:0,from:0,to:0});break}Y.push(se),$=new Fe(se.line,D?se.to-1:se.from)}var ke=Y.length!=S,ge=Y[0],we=Y.pop();return D&&!B?(!ke&&(ge.from!=V.ch||ge.line!=V.line)&&(we=Y.pop()),new Fe(we.line,we.from)):D&&B?new Fe(we.line,we.to-1):!D&&B?(!ke&&(ge.to!=V.ch||ge.line!=V.line)&&(we=Y.pop()),new Fe(we.line,we.to)):new Fe(we.line,we.from)}function Ao(v,$,S,D,B){var W=$,V=new Fe(W.line+S.repeat-1,1/0),Y=v.clipPos(V);return Y.ch--,B||(D.lastHPos=1/0,D.lastHSPos=v.charCoords(Y,"div").left),V}function Jo(v,$,S,D,B){for(var W=B||v.getCursor(),V=W.ch,Y,Q=0;Q<$;Q++){var re=v.getLine(W.line);if(Y=kl(V,re,D,S),Y==-1)return null;V=Y}return new Fe(v.getCursor().line,Y)}function xl(v,$){var S=v.getCursor().line;return ce(v,new Fe(S,$-1))}function gi(v,$,S,D){!x(S,bo)&&!nn.test(S)||($.marks[S]&&$.marks[S].clear(),$.marks[S]=v.setBookmark(D))}function kl(v,$,S,D,B){var W;return D?(W=$.indexOf(S,v+1),W!=-1):(W=$.lastIndexOf(S,v-1),W!=-1),W}function Ws(v,$,S,D,B){function W(Ve){return!/\S/.test(v.getLine(Ve))}function V(Ve,ct,Je){return Je?W(Ve)!=W(Ve+ct):!W(Ve)&&W(Ve+ct)}function Y(Ve){D=D>0?1:-1;var ct=v.ace.session.getFoldLine(Ve);ct&&Ve+D>ct.start.row&&Ve+D<ct.end.row&&(D=(D>0?ct.end.row:ct.start.row)-Ve)}var Q=$.line,re=v.firstLine(),se=v.lastLine(),ye,ke,ge=Q;if(D){for(;re<=ge&&ge<=se&&S>0;)Y(ge),V(ge,D)&&S--,ge+=D;return new Fe(ge,0)}var we=v.state.vim;if(we.visualLine&&V(Q,1,!0)){var De=we.sel.anchor;V(De.line,-1,!0)&&(!B||De.line!=Q)&&(Q+=1)}var Ne=W(Q);for(ge=Q;ge<=se&&S;ge++)V(ge,1,!0)&&(!B||W(ge)!=Ne)&&S--;for(ke=new Fe(ge,0),ge>se&&!Ne?Ne=!0:B=!1,ge=Q;ge>re&&!((!B||W(ge)==Ne||ge==Q)&&V(ge,-1,!0));ge--);return ye=new Fe(ge,0),{start:ye,end:ke}}function Ra(v,$,S,D,B){function W(re){re.pos+re.dir<0||re.pos+re.dir>=re.line.length?re.line=null:re.pos+=re.dir}function V(re,se,ye,ke){var ge=re.getLine(se),we={line:ge,ln:se,pos:ye,dir:ke};if(we.line==="")return{ln:we.ln,pos:we.pos};var De=we.pos;for(W(we);we.line!==null;){if(De=we.pos,b(we.line[we.pos])){if(!B)return{ln:we.ln,pos:we.pos+1};for(W(we);we.line!==null&&m(we.line[we.pos]);)De=we.pos,W(we);return{ln:we.ln,pos:De+1}}W(we)}return{ln:we.ln,pos:De+1}}function Y(re,se,ye,ke){var ge=re.getLine(se),we={line:ge,ln:se,pos:ye,dir:ke};if(we.line==="")return{ln:we.ln,pos:we.pos};var De=we.pos;for(W(we);we.line!==null;){if(!m(we.line[we.pos])&&!b(we.line[we.pos]))De=we.pos;else if(b(we.line[we.pos]))return B?m(we.line[we.pos+1])?{ln:we.ln,pos:we.pos+1}:{ln:we.ln,pos:De}:{ln:we.ln,pos:De};W(we)}return we.line=ge,B&&m(we.line[we.pos])?{ln:we.ln,pos:we.pos}:{ln:we.ln,pos:De}}for(var Q={ln:$.line,pos:$.ch};S>0;)D<0?Q=Y(v,Q.ln,Q.pos,D):Q=V(v,Q.ln,Q.pos,D),S--;return new Fe(Q.ln,Q.pos)}function Qi(v,$,S,D){function B(Q,re){if(re.pos+re.dir<0||re.pos+re.dir>=re.line.length){if(re.ln+=re.dir,!a(Q,re.ln)){re.line=null,re.ln=null,re.pos=null;return}re.line=Q.getLine(re.ln),re.pos=re.dir>0?0:re.line.length-1}else re.pos+=re.dir}function W(Q,re,se,ye){var Ne=Q.getLine(re),ke=Ne==="",ge={line:Ne,ln:re,pos:se,dir:ye},we={ln:ge.ln,pos:ge.pos},De=ge.line==="";for(B(Q,ge);ge.line!==null;){if(we.ln=ge.ln,we.pos=ge.pos,ge.line===""&&!De)return{ln:ge.ln,pos:ge.pos};if(ke&&ge.line!==""&&!m(ge.line[ge.pos]))return{ln:ge.ln,pos:ge.pos};b(ge.line[ge.pos])&&!ke&&(ge.pos===ge.line.length-1||m(ge.line[ge.pos+1]))&&(ke=!0),B(Q,ge)}var Ne=Q.getLine(we.ln);we.pos=0;for(var Ve=Ne.length-1;Ve>=0;--Ve)if(!m(Ne[Ve])){we.pos=Ve;break}return we}function V(Q,re,se,ye){var De=Q.getLine(re),ke={line:De,ln:re,pos:se,dir:ye},ge={ln:ke.ln,pos:null},we=ke.line==="";for(B(Q,ke);ke.line!==null;){if(ke.line===""&&!we)return ge.pos!==null?ge:{ln:ke.ln,pos:ke.pos};if(!(!b(ke.line[ke.pos])||ge.pos===null||ke.ln===ge.ln&&ke.pos+1===ge.pos))return ge;ke.line!==""&&!m(ke.line[ke.pos])&&(we=!1,ge={ln:ke.ln,pos:ke.pos}),B(Q,ke)}var De=Q.getLine(ge.ln);ge.pos=0;for(var Ne=0;Ne<De.length;++Ne)if(!m(De[Ne])){ge.pos=Ne;break}return ge}for(var Y={ln:$.line,pos:$.ch};S>0;)D<0?Y=V(v,Y.ln,Y.pos,D):Y=W(v,Y.ln,Y.pos,D),S--;return new Fe(Y.ln,Y.pos)}function Yn(v,$,S,D){var B=$,W,V,Y={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[S],Q={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[S],re=v.getLine(B.line).charAt(B.ch),se=re===Q?1:0;if(W=v.scanForBracket(new Fe(B.line,B.ch+se),-1,void 0,{bracketRegex:Y}),V=v.scanForBracket(new Fe(B.line,B.ch+se),1,void 0,{bracketRegex:Y}),!W||!V)return null;if(W=W.pos,V=V.pos,W.line==V.line&&W.ch>V.ch||W.line>V.line){var ye=W;W=V,V=ye}return D?V.ch+=1:W.ch+=1,{start:W,end:V}}function Lr(v,$,S,D){var B=Ge($),W=v.getLine(B.line),V=W.split(""),Y,Q,re,se,ye=V.indexOf(S);if(B.ch<ye)B.ch=ye;else if(ye<B.ch&&V[B.ch]==S){var ke=/string/.test(v.getTokenTypeAt(ve($,0,1))),ge=/string/.test(v.getTokenTypeAt($)),we=ke&&!ge;we||(Q=B.ch,--B.ch)}if(V[B.ch]==S&&!Q)Y=B.ch+1;else for(re=B.ch;re>-1&&!Y;re--)V[re]==S&&(Y=re+1);if(Y&&!Q)for(re=Y,se=V.length;re<se&&!Q;re++)V[re]==S&&(Q=re);return!Y||!Q?{start:B,end:B}:(D&&(--Y,++Q),{start:new Fe(B.line,Y),end:new Fe(B.line,Q)})}function Zi(){}function Ln(v){var $=v.state.vim;return $.searchState_||($.searchState_=new Zi)}function Or(v){return Ji(v,"/")}function go(v){return zs(v,"/")}function Ji(v,$){var S=zs(v,$)||[];if(!S.length)return[];var D=[];if(S[0]===0){for(var B=0;B<S.length;B++)typeof S[B]=="number"&&D.push(v.substring(S[B]+1,S[B+1]));return D}}function zs(v,$){$||($="/");for(var S=!1,D=[],B=0;B<v.length;B++){var W=v.charAt(B);!S&&W==$&&D.push(B),S=!S&&W=="\\"}return D}function Ea(v){for(var $="|(){",S="}",D=!1,B=[],W=-1;W<v.length;W++){var V=v.charAt(W)||"",Y=v.charAt(W+1)||"",Q=Y&&$.indexOf(Y)!=-1;D?((V!=="\\"||!Q)&&B.push(V),D=!1):V==="\\"?(D=!0,Y&&S.indexOf(Y)!=-1&&(Q=!0),(!Q||Y==="\\")&&B.push(V)):(B.push(V),Q&&Y!=="\\"&&B.push("\\"))}return B.join("")}function _l(v){for(var $=!1,S=[],D=-1;D<v.length;D++){var B=v.charAt(D)||"",W=v.charAt(D+1)||"";Ii[B+W]?(S.push(Ii[B+W]),D++):$?(S.push(B),$=!1):B==="\\"?($=!0,i(W)||W==="$"?S.push("$"):W!=="/"&&W!=="\\"&&S.push("\\")):(B==="$"&&S.push("$"),S.push(B),W==="/"&&S.push("\\"))}return S.join("")}function Sl(v){for(var $=new je.StringStream(v),S=[];!$.eol();){for(;$.peek()&&$.peek()!="\\";)S.push($.next());var D=!1;for(var B in gr)if($.match(B,!0)){D=!0,S.push(gr[B]);break}D||S.push($.next())}return S.join("")}function eo(v,$,S){var D=ze.registerController.getRegister("/");if(D.setText(v),v instanceof RegExp)return v;var B=go(v),W,V;if(!B.length)W=v;else{W=v.substring(0,B[0]);var Y=v.substring(B[0]);V=Y.indexOf("i")!=-1}if(!W)return null;_("pcre")||(W=Ea(W)),S&&($=/^[^A-Z]*$/.test(W));var Q=new RegExp(W,$||V?"im":"m");return Q}function mi(v){typeof v=="string"&&(v=document.createElement(v));for(var $,S=1;S<arguments.length;S++)if($=arguments[S])if(typeof $!="object"&&($=document.createTextNode($)),$.nodeType)v.appendChild($);else for(var D in $)Object.prototype.hasOwnProperty.call($,D)&&(D[0]==="$"?v.style[D.slice(1)]=$[D]:v.setAttribute(D,$[D]));return v}function Kt(v,$){var S=mi("div",{$color:"red",$whiteSpace:"pre",class:"cm-vim-message"},$);v.openNotification?v.openNotification(S,{bottom:!0,duration:5e3}):alert(S.innerText)}function Ma(v,$){return mi("div",{$display:"flex"},mi("span",{$fontFamily:"monospace",$whiteSpace:"pre",$flex:1},v,mi("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",$width:"100%"})),$&&mi("span",{$color:"#888"},$))}function Ir(v,$){if(Hr.length){$.value||($.value=""),Sn=$;return}var S=Ma($.prefix,$.desc);if(v.openDialog)v.openDialog(S,$.onClose,{onKeyDown:$.onKeyDown,onKeyUp:$.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:$.value});else{var D="";typeof $.prefix!="string"&&$.prefix&&(D+=$.prefix.textContent),$.desc&&(D+=" "+$.desc),$.onClose(prompt(D,""))}}function Xn(v,$){if(v instanceof RegExp&&$ instanceof RegExp){for(var S=["global","multiline","ignoreCase","source"],D=0;D<S.length;D++){var B=S[D];if(v[B]!==$[B])return!1}return!0}return!1}function bn(v,$,S,D){if($){var B=Ln(v),W=eo($,!!S,!!D);if(W)return Ai(v,W),Xn(W,B.getQuery())||B.setQuery(W),W}}function Pn(v){if(v.source.charAt(0)=="^")var $=!0;return{token:function(S){if($&&!S.sol()){S.skipToEnd();return}var D=S.match(v,!1);if(D)return D[0].length==0?(S.next(),"searching"):!S.sol()&&(S.backUp(1),!v.exec(S.next()+D[0]))?(S.next(),null):(S.match(v),"searching");for(;!S.eol()&&(S.next(),!S.match(v,!1)););},query:v}}function Ai(v,$){clearTimeout(mr);var S=Ln(v);S.highlightTimeout=mr,mr=setTimeout(function(){if(v.state.vim){var D=Ln(v);D.highlightTimeout=null;var B=D.getOverlay();(!B||$!=B.query)&&(B&&v.removeOverlay(B),B=Pn($),v.addOverlay(B),v.showMatchesOnScrollbar&&(D.getScrollbarAnnotate()&&D.getScrollbarAnnotate().clear(),D.setScrollbarAnnotate(v.showMatchesOnScrollbar($))),D.setOverlay(B))}},50)}function Nr(v,$,S,D){return D===void 0&&(D=1),v.operation(function(){for(var B=v.getCursor(),W=v.getSearchCursor(S,B),V=0;V<D;V++){var Y=W.find($);if(V==0&&Y&&ft(W.from(),B)){var Q=$?W.from():W.to();Y=W.find($),Y&&!Y[0]&&ft(W.from(),Q)&&v.getLine(Q.line).length==Q.ch&&(Y=W.find($))}if(!Y&&(W=v.getSearchCursor(S,$?new Fe(v.lastLine()):new Fe(v.firstLine(),0)),!W.find($)))return}return W.from()})}function Ri(v,$,S,D,B){return D===void 0&&(D=1),v.operation(function(){var W=v.getCursor(),V=v.getSearchCursor(S,W),Y=V.find(!$);!B.visualMode&&Y&&ft(V.from(),W)&&V.find(!$);for(var Q=0;Q<D;Q++)if(Y=V.find($),!Y&&(V=v.getSearchCursor(S,$?new Fe(v.lastLine()):new Fe(v.firstLine(),0)),!V.find($)))return;return[V.from(),V.to()]})}function es(v){var $=Ln(v);$.highlightTimeout&&(clearTimeout($.highlightTimeout),$.highlightTimeout=null),v.removeOverlay(Ln(v).getOverlay()),$.setOverlay(null),$.getScrollbarAnnotate()&&($.getScrollbarAnnotate().clear(),$.setScrollbarAnnotate(null))}function Hs(v,$,S){return typeof v!="number"&&(v=v.line),$ instanceof Array?x(v,$):typeof S=="number"?v>=$&&v<=S:v==$}function mo(v){var $=v.ace.renderer;return{top:$.getFirstFullyVisibleRow(),bottom:$.getLastFullyVisibleRow()}}function ti(v,$,S){if(S=="'"||S=="`")return ze.jumpList.find(v,-1)||new Fe(0,0);if(S==".")return Ro(v);var D=$.marks[S];return D&&D.find()}function Ro(v){if(v.getLastEditEnd)return v.getLastEditEnd();for(var $=v.doc.history.done,S=$.length;S--;)if($[S].changes)return Ge($[S].changes[0].to)}function ts(v,$,S,D,B,W,V,Y,Q){function re(){v.operation(function(){for(;!De;)se(),ke();ge()})}function se(){var Je=v.getRange(W.from(),W.to()),rt=Je.replace(V,Y),kn=W.to().line;W.replace(rt),Ve=W.to().line,B+=Ve-kn,ct=Ve<kn}function ye(){var Je=Ne&&Ge(W.to()),rt=W.findNext();return rt&&!rt[0]&&Je&&ft(W.from(),Je)&&(rt=W.findNext()),rt}function ke(){for(;ye()&&Hs(W.from(),D,B);)if(!(!S&&W.from().line==Ve&&!ct)){v.scrollIntoView(W.from(),30),v.setSelection(W.from(),W.to()),Ne=W.from(),De=!1;return}De=!0}function ge(Je){if(Je&&Je(),v.focus(),Ne){v.setCursor(Ne);var rt=v.state.vim;rt.exMode=!1,rt.lastHPos=rt.lastHSPos=Ne.ch}Q&&Q()}function we(Je,rt,kn){je.e_stop(Je);var ht=H(Je);switch(ht){case"y":se(),ke();break;case"n":ke();break;case"a":var $n=Q;Q=void 0,v.operation(re),Q=$n;break;case"l":se();case"q":case"<Esc>":case"<C-c>":case"<C-[>":ge(kn)}return De&&ge(kn),!0}v.state.vim.exMode=!0;var De=!1,Ne,Ve,ct;if(ke(),De){Kt(v,"No matches for "+V.source);return}if(!$){re(),Q&&Q();return}Ir(v,{prefix:mi("span","replace with ",mi("strong",Y)," (y/n/a/q/l)"),onKeyDown:we})}function ni(v,$){var S=v.state.vim,D=ze.macroModeState,B=ze.registerController.getRegister("."),W=D.isPlaying,V=D.lastInsertModeChanges;W||(v.off("change",Eo),S.insertEnd&&S.insertEnd.clear(),S.insertEnd=null,je.off(v.getInputField(),"keydown",Ks)),!W&&S.insertModeRepeat>1&&(La(v,S,S.insertModeRepeat-1,!0),S.lastEditInputState.repeatOverride=S.insertModeRepeat),delete S.insertModeRepeat,S.insertMode=!1,$||v.setCursor(v.getCursor().line,v.getCursor().ch-1),v.setOption("keyMap","vim"),v.setOption("disableInput",!0),v.toggleOverwrite(!1),B.setText(V.changes.join("")),je.signal(v,"vim-mode-change",{mode:"normal"}),D.isRecording&&dr(D)}function ns(v){On.unshift(v)}function Us(v,$,S,D,B){var W={keys:v,type:$};W[$]=S,W[$+"Args"]=D;for(var V in B)W[V]=B[V];ns(W)}function qs(v,$,S,D){var B=ze.registerController.getRegister(D);if(D==":"){B.keyBuffer[0]&&Sr.processCommand(v,B.keyBuffer[0]),S.isPlaying=!1;return}var W=B.keyBuffer,V=0;S.isPlaying=!0,S.replaySearchQueries=B.searchQueries.slice(0);for(var Y=0;Y<W.length;Y++)for(var Q=W[Y],re,se;Q;)if(re=/<\w+-.+?>|<\w+>|./.exec(Q),se=re[0],Q=Q.substring(re.index+se.length),_t.handleKey(v,se,"macro"),$.insertMode){var ye=B.insertModeChanges[V++].changes;ze.macroModeState.lastInsertModeChanges.changes=ye,as(v,ye,1),ni(v)}S.isPlaying=!1}function rs(v,$){if(!v.isPlaying){var S=v.latestRegister,D=ze.registerController.getRegister(S);D&&D.pushText($)}}function dr(v){if(!v.isPlaying){var $=v.latestRegister,S=ze.registerController.getRegister($);S&&S.pushInsertModeChanges&&S.pushInsertModeChanges(v.lastInsertModeChanges)}}function Vs(v,$){if(!v.isPlaying){var S=v.latestRegister,D=ze.registerController.getRegister(S);D&&D.pushSearchQuery&&D.pushSearchQuery($)}}function Eo(v,$){var S=ze.macroModeState,D=S.lastInsertModeChanges;if(!S.isPlaying)for(var B=v.state.vim;$;){if(D.expectCursorActivityForChange=!0,D.ignoreCount>1)D.ignoreCount--;else if($.origin=="+input"||$.origin=="paste"||$.origin===void 0){var W=v.listSelections().length;W>1&&(D.ignoreCount=W);var V=$.text.join(`
1406
+ `);if(D.maybeReset&&(D.changes=[],D.maybeReset=!1),V)if(v.state.overwrite&&!/\n/.test(V))D.changes.push([V]);else{if(V.length>1){var Y=B&&B.insertEnd&&B.insertEnd.find(),Q=v.getCursor();if(Y&&Y.line==Q.line){var re=Y.ch-Q.ch;re>0&&re<V.length&&(D.changes.push([V,re]),V="")}}V&&D.changes.push(V)}}$=$.next}}function is(v){var $=v.state.vim;if($.insertMode){var S=ze.macroModeState;if(S.isPlaying)return;var D=S.lastInsertModeChanges;D.expectCursorActivityForChange?D.expectCursorActivityForChange=!1:(D.maybeReset=!0,$.insertEnd&&$.insertEnd.clear(),$.insertEnd=v.setBookmark(v.getCursor(),{insertLeft:!0}))}else v.curOp.isVimOp||os(v,$)}function os(v,$,S){var D=v.getCursor("anchor"),B=v.getCursor("head");if($.visualMode&&!v.somethingSelected()?Ct(v,!1):!$.visualMode&&!$.insertMode&&v.somethingSelected()&&($.visualMode=!0,$.visualLine=!1,je.signal(v,"vim-mode-change",{mode:"visual"})),$.visualMode){var W=it(B,D)?0:-1,V=it(B,D)?-1:0;B=ve(B,0,W),D=ve(D,0,V),$.sel={anchor:D,head:B},gi(v,$,"<",gt(B,D)),gi(v,$,">",sn(B,D))}else!$.insertMode&&!S&&($.lastHPos=v.getCursor().ch)}function yo(v,$){this.keyName=v,this.key=$.key,this.ctrlKey=$.ctrlKey,this.altKey=$.altKey,this.metaKey=$.metaKey,this.shiftKey=$.shiftKey}function Ks(v){var $=ze.macroModeState,S=$.lastInsertModeChanges,D=je.keyName?je.keyName(v):v.key;D&&(D.indexOf("Delete")!=-1||D.indexOf("Backspace")!=-1)&&(S.maybeReset&&(S.changes=[],S.maybeReset=!1),S.changes.push(new yo(D,v)))}function La(v,$,S,D){function B(){Y?jn.processAction(v,$,$.lastEditActionCommand):jn.evalInput(v,$)}function W(se){if(V.lastInsertModeChanges.changes.length>0){se=$.lastEditActionCommand?se:1;var ye=V.lastInsertModeChanges;as(v,ye.changes,se)}}var V=ze.macroModeState;V.isPlaying=!0;var Y=!!$.lastEditActionCommand,Q=$.inputState;if($.inputState=$.lastEditInputState,Y&&$.lastEditActionCommand.interlaceInsertRepeat)for(var re=0;re<S;re++)B(),W(1);else D||B(),W(S);$.inputState=Q,$.insertMode&&!D&&ni(v),V.isPlaying=!1}function ss(v,$){je.lookupKey($,"vim-insert",function(S){return typeof S=="string"?je.commands[S](v):S(v),!0})}function as(v,$,S){var D=v.getCursor("head"),B=ze.macroModeState.lastInsertModeChanges.visualBlock;B&&(ir(v,D,B+1),S=v.listSelections().length,v.setCursor(D));for(var W=0;W<S;W++){B&&v.setCursor(ve(D,W,0));for(var V=0;V<$.length;V++){var Y=$[V];if(Y instanceof yo)ss(v,Y.keyName);else if(typeof Y=="string")v.replaceSelection(Y);else{var Q=v.getCursor(),re=ve(Q,0,Y[0].length-(Y[1]||0));v.replaceRange(Y[0],Q,Y[1]?Q:re),v.setCursor(re)}}}B&&v.setCursor(ve(D,0,1))}function Gs(v,$,S,D){$.length>1&&$[0]=="n"&&($=$.replace("numpad","")),$=Dr[$]||$;var B="";if(S.ctrlKey&&(B+="C-"),S.altKey&&(B+="A-"),(B||$.length>1)&&S.shiftKey&&(B+="S-"),D&&!D.expectLiteralNext&&$.length==1){if(Qn.keymap&&$ in Qn.keymap)(Qn.remapCtrl!==!1||!B)&&($=Qn.keymap[$]);else if($.charCodeAt(0)>255){var W=S.code&&S.code.slice(-1)||"";S.shiftKey||(W=W.toLowerCase()),W&&($=W)}}return B+=$,B.length>1&&(B="<"+B+">"),B}function ls(v){var $=new v.constructor;return Object.keys(v).forEach(function(S){if(S!="insertEnd"){var D=v[S];Array.isArray(D)?D=D.slice():D&&typeof D=="object"&&D.constructor!=Object&&(D=ls(D)),$[S]=D}}),v.sel&&($.sel={head:v.sel.head&&Ge(v.sel.head),anchor:v.sel.anchor&&Ge(v.sel.anchor)}),$}function Mo(v,$,S){var D=!1,B=_t.maybeInitVimState_(v),W=B.visualBlock||B.wasInVisualBlock,V=v.ace.inMultiSelectMode;if(B.wasInVisualBlock&&!V?B.wasInVisualBlock=!1:V&&B.visualBlock&&(B.wasInVisualBlock=!0),$=="<Esc>"&&!B.insertMode&&!B.visualMode&&V)v.ace.exitMultiSelectMode();else if(W||!V||v.ace.inVirtualSelectionMode)D=_t.handleKey(v,$,S);else{var Y=ls(B),Q=B.inputState.changeQueueList||[];v.operation(function(){v.curOp.isVimOp=!0;var re=0;v.ace.forEachSelection(function(){var se=v.ace.selection;v.state.vim.lastHPos=se.$desiredColumn==null?se.lead.column:se.$desiredColumn,v.state.vim.inputState.changeQueue=Q[re];var ye=v.getCursor("head"),ke=v.getCursor("anchor"),ge=it(ye,ke)?0:-1,we=it(ye,ke)?-1:0;ye=ve(ye,0,ge),ke=ve(ke,0,we),v.state.vim.sel.head=ye,v.state.vim.sel.anchor=ke,D=bi(v,$,S),se.$desiredColumn=v.state.vim.lastHPos==-1?null:v.state.vim.lastHPos,v.ace.inVirtualSelectionMode&&(Q[re]=v.state.vim.inputState.changeQueue),v.virtualSelectionMode()&&(v.state.vim=ls(Y)),re++}),v.curOp.cursorActivity&&!D&&(v.curOp.cursorActivity=!1),B.status=v.state.vim.status,v.state.vim=B,B.inputState.changeQueueList=Q,B.inputState.changeQueue=null},!0)}return D&&!B.visualMode&&!B.insert&&B.visualMode!=v.somethingSelected()&&os(v,B,!0),D}function Ei(v,$){$.off("beforeEndOperation",Ei);var S=$.state.cm.vimCmd;S&&$.execCommand(S.exec?S:S.name,S.args),$.curOp=$.prevOp}var pr=n("../range").Range,vo=n("../lib/event_emitter").EventEmitter,to=n("../lib/dom"),Oa=n("../lib/oop"),Cl=n("../lib/keys"),Lo=n("../lib/event"),no=n("../search").Search,Oo=n("../lib/useragent"),cs=n("../search_highlight").SearchHighlight,Io=n("../commands/multi_select_commands"),Ia=n("../mode/text").Mode.prototype.tokenRe,wo=n("../ext/hardwrap").hardWrap;n("../multi_select");var je=function(v){this.ace=v,this.state={},this.marks={},this.options={},this.$uid=0,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this),this.onBeforeEndOperation=this.onBeforeEndOperation.bind(this),this.ace.on("change",this.onChange),this.ace.on("changeSelection",this.onSelectionChange),this.ace.on("beforeEndOperation",this.onBeforeEndOperation)};je.Pos=function(v,$){if(!(this instanceof Fe))return new Fe(v,$);this.line=v,this.ch=$},je.defineOption=function(v,$,S){},je.commands={redo:function(v){v.ace.redo()},undo:function(v){v.ace.undo()},newlineAndIndent:function(v){v.ace.insert(`
1407
+ `)},goLineLeft:function(v){v.ace.selection.moveCursorLineStart()},goLineRight:function(v){v.ace.selection.moveCursorLineEnd()}},je.keyMap={},je.addClass=je.rmClass=function(){},je.e_stop=je.e_preventDefault=Lo.stopEvent,je.keyName=function(v){var $=Cl[v.keyCode]||v.key||"";return $.length==1&&($=$.toUpperCase()),$=Lo.getModifierString(v).replace(/(^|-)\w/g,function(S){return S.toUpperCase()})+$,$},je.keyMap.default=function(v){return function($){var S=$.ace.commands.commandKeyBinding[v.toLowerCase()];return S&&$.ace.execCommand(S)!==!1}},je.lookupKey=function v($,S,D){S||(S="default"),typeof S=="string"&&(S=je.keyMap[S]||je.keyMap.default);var B=typeof S=="function"?S($):S[$];if(B===!1)return"nothing";if(B==="...")return"multi";if(B!=null&&D(B))return"handled";if(S.fallthrough){if(!Array.isArray(S.fallthrough))return v($,S.fallthrough,D);for(var W=0;W<S.fallthrough.length;W++){var V=v($,S.fallthrough[W],D);if(V)return V}}},je.findMatchingTag=function(v,$){return v.findMatchingTag($)},je.findEnclosingTag=function(v,$){},je.signal=function(v,$,S){return v._signal($,S)},je.on=Lo.addListener,je.off=Lo.removeListener,je.isWordChar=function(v){return v<""?/^\w$/.test(v):(Ia.lastIndex=0,Ia.test(v))},(function(){Oa.implement(je.prototype,vo),this.destroy=function(){this.ace.off("change",this.onChange),this.ace.off("changeSelection",this.onSelectionChange),this.ace.off("beforeEndOperation",this.onBeforeEndOperation),this.removeOverlay()},this.virtualSelectionMode=function(){return this.ace.inVirtualSelectionMode&&this.ace.selection.index},this.onChange=function(S){this.$lineHandleChanges&&this.$lineHandleChanges.push(S);var D={text:S.action[0]=="i"?S.lines:[]},B=this.curOp=this.curOp||{};B.changeHandlers||(B.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice()),B.lastChange?B.lastChange.next=B.lastChange=D:B.lastChange=B.change=D,this.$updateMarkers(S)},this.onSelectionChange=function(){var S=this.curOp=this.curOp||{};S.cursorActivityHandlers||(S.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(Io.keyboardHandler)},this.operation=function(S,D){if(!D&&this.curOp||D&&this.curOp&&this.curOp.force)return S();if((D||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),!this.ace.curOp){var B=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var W=this.curOp=this.curOp||{};this.curOp.force=D;var V=S();return this.ace.curOp&&this.ace.curOp.command.name=="vim"&&(this.state.dialog&&(this.ace.curOp.command.scrollIntoView=this.ace.curOp.vimDialogScroll),this.ace.endOperation(),!W.cursorActivity&&!W.lastChange&&B&&(this.ace.prevOp=B)),(D||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),V},this.onBeforeEndOperation=function(){var S=this.curOp;S&&(S.change&&this.signal("change",S.change,S),S&&S.cursorActivity&&this.signal("cursorActivity",null,S),this.curOp=null)},this.signal=function(S,D,B){var W=B?B[S+"Handlers"]:(this._eventRegistry||{})[S];if(W){W=W.slice();for(var V=0;V<W.length;V++)W[V](this,D)}},this.firstLine=function(){return 0},this.lastLine=function(){return this.ace.session.getLength()-1},this.lineCount=function(){return this.ace.session.getLength()},this.setCursor=function(S,D){typeof S=="object"&&(D=S.ch,S=S.line);var B=!this.curOp&&!this.ace.inVirtualSelectionMode;this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:S,column:D}),this.ace.selection.moveTo(S,D),B&&(this.ace.renderer.scrollCursorIntoView(),this.ace.endOperation())},this.getCursor=function(S){var D=this.ace.selection,B=S=="anchor"?D.isEmpty()?D.lead:D.anchor:S=="head"||!S?D.lead:D.getRange()[S];return p(B)},this.listSelections=function(S){var D=this.ace.multiSelect.rangeList.ranges;return!D.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:D.map(function(B){return{anchor:this.clipPos(p(B.cursor==B.end?B.start:B.end)),head:this.clipPos(p(B.cursor))}},this)},this.setSelections=function(S,D){var B=this.ace.multiSelect,W=S.map(function(re){var se=d(re.anchor),ye=d(re.head),ke=pr.comparePoints(se,ye)<0?new pr.fromPoints(se,ye):new pr.fromPoints(ye,se);return ke.cursor=pr.comparePoints(ke.start,ye)?ke.end:ke.start,ke});if(this.ace.inVirtualSelectionMode){this.ace.selection.fromOrientedRange(W[0]);return}D?W[D]&&W.push(W.splice(D,1)[0]):W=W.reverse(),B.toSingleRange(W[0].clone());for(var V=this.ace.session,Y=0;Y<W.length;Y++){var Q=V.$clipRangeToDocument(W[Y]);B.addRange(Q)}},this.setSelection=function(S,D,B){var W=this.ace.selection;W.moveTo(S.line,S.ch),W.selectTo(D.line,D.ch),B&&B.origin=="*mouse"&&this.onBeforeEndOperation()},this.somethingSelected=function(S){return!this.ace.selection.isEmpty()},this.clipPos=function(S){var D=this.ace.session.$clipPositionToDocument(S.line,S.ch);return p(D)},this.foldCode=function(S){this.ace.session.$toggleFoldWidget(S.line,{})},this.markText=function(S){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(S){var D=S.action=="insert",B=S.start,W=S.end,V=(W.row-B.row)*(D?1:-1),Y=(W.column-B.column)*(D?1:-1);D&&(W=B);for(var Q in this.marks){var re=this.marks[Q],se=pr.comparePoints(re,B);if(!(se<0)){if(se===0&&D)if(!re.$insertRight)se=1;else{if(re.bias!=1){re.bias=-1;continue}se=1}var ye=D?se:pr.comparePoints(re,W);if(ye>0){re.row+=V,re.column+=re.row==W.row?Y:0;continue}!D&&ye<=0&&(re.row=B.row,re.column=B.column,ye===0&&(re.bias=1))}}};var v=function(S,D,B,W){this.cm=S,this.id=D,this.row=B,this.column=W,S.marks[this.id]=this};v.prototype.clear=function(){delete this.cm.marks[this.id]},v.prototype.find=function(){return p(this)},this.setBookmark=function(S,D){var B=new v(this,this.$uid++,S.line,S.ch);return(!D||!D.insertLeft)&&(B.$insertRight=!0),this.marks[B.id]=B,B},this.moveH=function(S,D){if(D=="char"){var B=this.ace.selection;B.clearSelection(),B.moveCursorBy(0,S)}},this.findPosV=function(S,D,B,W){if(B=="page"){var V=this.ace.renderer,Y=V.layerConfig;D*=Math.floor(Y.height/Y.lineHeight),B="line"}if(B=="line"){var Q=this.ace.session.documentToScreenPosition(S.line,S.ch);W!=null&&(Q.column=W),Q.row+=D,Q.row=Math.min(Math.max(0,Q.row),this.ace.session.getScreenLength()-1);var re=this.ace.session.screenToDocumentPosition(Q.row,Q.column);return p(re)}debugger},this.charCoords=function(S,D){if(D=="div"||!D){var B=this.ace.session.documentToScreenPosition(S.line,S.ch);return{left:B.column,top:B.row}}if(D=="local"){var W=this.ace.renderer,B=this.ace.session.documentToScreenPosition(S.line,S.ch),V=W.layerConfig.lineHeight,Y=W.layerConfig.characterWidth,Q=V*B.row;return{left:B.column*Y,top:Q,bottom:Q+V}}},this.coordsChar=function(S,D){var B=this.ace.renderer;if(D=="local"){var W=Math.max(0,Math.floor(S.top/B.lineHeight)),V=Math.max(0,Math.floor(S.left/B.characterWidth)),Y=B.session.screenToDocumentPosition(W,V);return p(Y)}if(D=="div")throw"not implemented"},this.getSearchCursor=function(S,D,B){var W=!1,V=!1;S instanceof RegExp&&!S.global&&(W=!S.ignoreCase,S=S.source,V=!0),S=="\\n"&&(S=`
1408
+ `,V=!1);var Y=new no;D.ch==null&&(D.ch=Number.MAX_VALUE);var Q={row:D.line,column:D.ch},re=this,se=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(ye){Y.setOptions({needle:S,caseSensitive:W,wrap:!1,backwards:ye,regExp:V,start:se||Q});var ke=Y.find(re.ace.session);return se=ke,se&&[!se.isEmpty()]},from:function(){return se&&p(se.start)},to:function(){return se&&p(se.end)},replace:function(ye){se&&(se.end=re.ace.session.doc.replace(se,ye))}}},this.scrollTo=function(S,D){var B=this.ace.renderer,W=B.layerConfig,V=W.maxHeight;V-=(B.$size.scrollerHeight-B.lineHeight)*B.$scrollPastEnd,D!=null&&this.ace.session.setScrollTop(Math.max(0,Math.min(D,V))),S!=null&&this.ace.session.setScrollLeft(Math.max(0,Math.min(S,W.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(S,D){if(S){var B=this.ace.renderer,W={top:0,bottom:D};B.scrollCursorIntoView(d(S),B.lineHeight*2/B.$size.scrollerHeight,W)}},this.getLine=function(S){return this.ace.session.getLine(S)},this.getRange=function(S,D){return this.ace.session.getTextRange(new pr(S.line,S.ch,D.line,D.ch))},this.replaceRange=function(S,D,B){B||(B=D);var W=new pr(D.line,D.ch,B.line,B.ch);return this.ace.session.$clipRangeToDocument(W),this.ace.session.replace(W,S)},this.replaceSelection=this.replaceSelections=function(S){var D=Array.isArray(S)&&S,B=this.ace.selection;if(this.ace.inVirtualSelectionMode){this.ace.session.replace(B.getRange(),D?S[0]||"":S);return}B.inVirtualSelectionMode=!0;var W=B.rangeList.ranges;W.length||(W=[this.ace.multiSelect.getRange()]);for(var V=W.length;V--;)this.ace.session.replace(W[V],D?S[V]||"":S);B.inVirtualSelectionMode=!1},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map(function(S){return this.getRange(S.anchor,S.head)},this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.container};var $={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(S,D){switch(this.state[S]=D,S){case"indentWithTabs":S=$[S],D=!D;break;case"keyMap":this.state.$keyMap=D;return;default:S=$[S]}S&&this.ace.setOption(S,D)},this.getOption=function(S){var D,B=$[S];switch(B&&(D=this.ace.getOption(B)),S){case"indentWithTabs":return S=$[S],!D;case"keyMap":return this.state.$keyMap||"vim"}return B?D:this.state[S]},this.toggleOverwrite=function(S){return this.state.overwrite=S,this.ace.setOverwrite(S)},this.addOverlay=function(S){if(!this.$searchHighlight||!this.$searchHighlight.session){var D=new cs(null,"ace_highlight-marker","text"),B=this.ace.session.addDynamicMarker(D);D.id=B.id,D.session=this.ace.session,D.destroy=function(V){D.session.off("change",D.updateOnChange),D.session.off("changeEditor",D.destroy),D.session.removeMarker(D.id),D.session=null},D.updateOnChange=function(V){var Y=V.start.row;Y==V.end.row?D.cache[Y]=void 0:D.cache.splice(Y,D.cache.length)},D.session.on("changeEditor",D.destroy),D.session.on("change",D.updateOnChange)}var W=new RegExp(S.query.source,"gmi");this.$searchHighlight=S.highlight=D,this.$searchHighlight.setRegexp(W),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(S){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var S=this.ace.renderer,D=S.layerConfig;return{left:S.scrollLeft,top:S.scrollTop,height:D.maxHeight,width:D.width,clientHeight:D.height,clientWidth:D.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(S){return this.ace.setValue(S,-1)},this.getTokenTypeAt=function(S){var D=this.ace.session.getTokenAt(S.line,S.ch);return D&&/comment|string/.test(D.type)?"string":""},this.findMatchingBracket=function(S){var D=this.ace.session.findMatchingBracket(d(S));return{to:D&&p(D)}},this.findMatchingTag=function(S){var D=this.ace.session.getMatchingTags(d(S));if(D)return{open:{from:p(D.openTag.start),to:p(D.openTag.end)},close:{from:p(D.closeTag.start),to:p(D.closeTag.end)}}},this.indentLine=function(S,D){D===!0?this.ace.session.indentRows(S,S," "):D===!1&&this.ace.session.outdentRows(new pr(S,0,S,0))},this.indexFromPos=function(S){return this.ace.session.doc.positionToIndex(d(S))},this.posFromIndex=function(S){return p(this.ace.session.doc.indexToPosition(S))},this.focus=function(S){return this.ace.textInput.focus()},this.blur=function(S){return this.ace.blur()},this.defaultTextHeight=function(S){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(S,D,B,W){var V=W.bracketRegex.source,Y=/paren|text|operator|tag/;if(D==1)var Q=this.ace.session.$findClosingBracket(V.slice(1,2),d(S),Y);else{var Q=this.ace.session.$findOpeningBracket(V.slice(-2,-1),{row:S.line,column:S.ch+1},Y);!Q&&W.bracketRegex&&W.bracketRegex.test(this.getLine(S.line)[S.ch-1])&&(Q={row:S.line,column:S.ch-1})}return Q&&{pos:p(Q)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}},this.execCommand=function(S){if(je.commands.hasOwnProperty(S))return je.commands[S](this);if(S=="indentAuto")return this.ace.execCommand("autoindent");console.log(S+" is not implemented")},this.getLineNumber=function(S){var D=this.$lineHandleChanges;if(!D)return null;for(var B=S.row,W=0;W<D.length;W++){var V=D[W];if(V.start.row!=V.end.row){if(V.action[0]=="i")V.start.row<B&&(B+=V.end.row-V.start.row);else if(V.start.row<B){if(B<V.end.row||B==V.end.row&&V.start.column>0)return null;B-=V.end.row-V.start.row}}}return B},this.getLineHandle=function(S){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{text:this.ace.session.getLine(S),row:S}},this.releaseLineHandles=function(){this.$lineHandleChanges=void 0},this.getLastEditEnd=function(){var S=this.ace.session.$undoManager;if(S&&S.$lastDelta)return p(S.$lastDelta.end)}}).call(je.prototype);var Na=je.StringStream=function(v,$){this.pos=this.start=0,this.string=v,this.tabSize=$||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0};Na.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(v){var $=this.string.charAt(this.pos);if(typeof v=="string")var S=$==v;else var S=$&&(v.test?v.test($):v($));if(S)return++this.pos,$},eatWhile:function(v){for(var $=this.pos;this.eat(v););return this.pos>$},eatSpace:function(){for(var v=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>v},skipToEnd:function(){this.pos=this.string.length},skipTo:function(v){var $=this.string.indexOf(v,this.pos);if($>-1)return this.pos=$,!0},backUp:function(v){this.pos-=v},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(v,$,S){if(typeof v!="string"){var D=this.string.slice(this.pos).match(v);return D&&D.index>0?null:(D&&$!==!1&&(this.pos+=D[0].length),D)}var B=function(V){return S?V.toLowerCase():V},W=this.string.substr(this.pos,v.length);if(B(W)==B(v))return $!==!1&&(this.pos+=v.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(v,$){this.lineStart+=v;try{return $()}finally{this.lineStart-=v}}},je.defineExtension=function(v,$){je.prototype[v]=$},to.importCssString(`.normal-mode .ace_cursor{
1409
+ border: none;
1410
+ background-color: rgba(255,0,0,0.5);
1411
+ }
1412
+ .normal-mode .ace_hidden-cursors .ace_cursor{
1413
+ background-color: transparent;
1414
+ border: 1px solid red;
1415
+ opacity: 0.7
1416
+ }
1417
+ .ace_dialog {
1418
+ position: absolute;
1419
+ left: 0; right: 0;
1420
+ background: inherit;
1421
+ z-index: 15;
1422
+ padding: .1em .8em;
1423
+ overflow: hidden;
1424
+ color: inherit;
1425
+ }
1426
+ .ace_dialog-top {
1427
+ border-bottom: 1px solid #444;
1428
+ top: 0;
1429
+ }
1430
+ .ace_dialog-bottom {
1431
+ border-top: 1px solid #444;
1432
+ bottom: 0;
1433
+ }
1434
+ .ace_dialog input {
1435
+ border: none;
1436
+ outline: none;
1437
+ background: transparent;
1438
+ width: 20em;
1439
+ color: inherit;
1440
+ font-family: monospace;
1441
+ }`,"vimMode",!1),function(){function v(S,D,B){var W=S.ace.container,V;return V=W.appendChild(document.createElement("div")),B?V.className="ace_dialog ace_dialog-bottom":V.className="ace_dialog ace_dialog-top",typeof D=="string"?V.innerHTML=D:V.appendChild(D),V}function $(S,D){S.state.currentNotificationClose&&S.state.currentNotificationClose(),S.state.currentNotificationClose=D}je.defineExtension("openDialog",function(S,D,B){function W(ye){if(typeof ye=="string")re.value=ye;else{if(Y||ye&&ye.type=="blur"&&document.activeElement===re)return;Q.state.dialog==V&&(Q.state.dialog=null,Q.focus()),Y=!0,V.remove(),B.onClose&&B.onClose(V);var ke=Q;ke.state.vim&&(ke.state.vim.status=null,ke.ace._signal("changeStatus"),ke.ace.renderer.$loop.schedule(ke.ace.renderer.CHANGE_CURSOR))}}if(!this.virtualSelectionMode()){B||(B={}),$(this,null);var V=v(this,S,B.bottom),Y=!1,Q=this;this.state.dialog=V;var re=V.getElementsByTagName("input")[0],se;return re?(B.value&&(re.value=B.value,B.selectValueOnOpen!==!1&&re.select()),B.onInput&&je.on(re,"input",function(ye){B.onInput(ye,re.value,W)}),B.onKeyUp&&je.on(re,"keyup",function(ye){B.onKeyUp(ye,re.value,W)}),je.on(re,"keydown",function(ye){B&&B.onKeyDown&&B.onKeyDown(ye,re.value,W)||(ye.keyCode==13&&D(re.value),(ye.keyCode==27||B.closeOnEnter!==!1&&ye.keyCode==13)&&(je.e_stop(ye),W()))}),B.closeOnBlur!==!1&&je.on(re,"blur",W),re.focus()):(se=V.getElementsByTagName("button")[0])&&(je.on(se,"click",function(){W(),Q.focus()}),B.closeOnBlur!==!1&&je.on(se,"blur",W),se.focus()),W}}),je.defineExtension("openNotification",function(S,D){function B(){V||(V=!0,clearTimeout(Y),W.remove())}if(!this.virtualSelectionMode()){$(this,B);var W=v(this,S,D&&D.bottom),V=!1,Y,Q=D&&typeof D.duration<"u"?D.duration:5e3;return je.on(W,"click",function(re){je.e_preventDefault(re),B()}),Q&&(Y=setTimeout(B,Q)),B}})}();var Fe=je.Pos,On=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],No=On.length,yi=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],Qn=I(""),Da=/[\d]/,Do=[je.isWordChar,function(v){return v&&!je.isWordChar(v)&&!/\s/.test(v)}],Mi=[function(v){return/\S/.test(v)}],bo=["<",">"],an=["-",'"',".",":","_","/","+"],nn=/^\w$/,ln;try{ln=new RegExp("^[\\p{Lu}]$","u")}catch{ln=/^[A-Z]$/}var Gt={};M("filetype",void 0,"string",["ft"],function(v,$){if($!==void 0){if(v===void 0){var S=$.getOption("mode");return S=="null"?"":S}var S=v==""?"null":v;$.setOption("mode",S)}}),M("textwidth",80,"number",["tw"],function(v,$){if($!==void 0){if(v===void 0){var S=$.getOption("textwidth");return S}var D=Math.round(v);D>1&&$.setOption("textwidth",D)}});var Li=function(){function v(Q,re,se){function ye(De){var Ne=++B%D,Ve=Y[Ne];Ve&&Ve.clear(),Y[Ne]=Q.setBookmark(De)}var ke=B%D,ge=Y[ke];if(ge){var we=ge.find();we&&!ft(we,re)&&ye(re)}else ye(re);ye(se),W=B,V=B-D+1,V<0&&(V=0)}function $(Q,re){B+=re,B>W?B=W:B<V&&(B=V);var se=Y[(D+B)%D];if(se&&!se.find()){var ye=re>0?1:-1,ke,ge=Q.getCursor();do if(B+=ye,se=Y[(D+B)%D],se&&(ke=se.find())&&!ft(ge,ke))break;while(B<W&&B>V)}return se}function S(Q,re){var se=B,ye=$(Q,re);return B=se,ye&&ye.find()}var D=100,B=-1,W=0,V=0,Y=new Array(D);return{cachedCursor:void 0,add:v,find:S,move:$}},Bn=function(v){return v?{changes:v.changes,expectCursorActivityForChange:v.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};k.prototype={exitMacroRecordMode:function(){var v=ze.macroModeState;v.onRecordingDone&&v.onRecordingDone(),v.onRecordingDone=void 0,v.isRecording=!1},enterMacroRecordMode:function(v,$){var S=ze.registerController.getRegister($);if(S){if(S.clear(),this.latestRegister=$,v.openDialog){var D=mi("span",{class:"cm-vim-message"},"recording @"+$);this.onRecordingDone=v.openDialog(D,null,{bottom:!0})}this.isRecording=!0}}};var ze,xn,_t={enterVimMode:f,leaveVimMode:g,buildKeyMap:function(){},getRegisterController:function(){return ze.registerController},resetVimGlobalState_:O,getVimGlobalState_:function(){return ze},maybeInitVimState_:E,suppressErrorLogging:!1,InsertModeKey:yo,map:function(v,$,S){Sr.map(v,$,S)},unmap:function(v,$){return Sr.unmap(v,$)},noremap:function(v,$,S){Sr.map(v,$,S,!0)},mapclear:function(v){var $=On.length,S=No,D=On.slice(0,$-S);if(On=On.slice($-S),v)for(var B=D.length-1;B>=0;B--){var W=D[B];if(v!==W.context)if(W.context)this._mapCommand(W);else{var V=["normal","insert","visual"];for(var Y in V)if(V[Y]!==v){var Q={};for(var re in W)Q[re]=W[re];Q.context=V[Y],this._mapCommand(Q)}}}},langmap:P,vimKeyFromEvent:H,setOption:A,getOption:_,defineOption:M,defineEx:function(v,$,S){if(!$)$=v;else if(v.indexOf($)!==0)throw new Error('(Vim.defineEx) "'+$+'" is not a prefix of "'+v+'", command not registered');Ys[v]=S,Sr.commandMap_[$]={name:v,shortName:$,type:"api"}},handleKey:function(v,$,S){var D=this.findKey(v,$,S);if(typeof D=="function")return D()},multiSelectHandleKey:Mo,findKey:function(v,$,S){function D(){var re=ze.macroModeState;if(re.isRecording){if($=="q")return re.exitMacroRecordMode(),C(v),!0;S!="mapping"&&rs(re,$)}}function B(){if($=="<Esc>"){if(Y.visualMode)Ct(v);else{if(!Y.insertMode)return;ni(v)}return C(v),!0}}function W(){if(B())return!0;Y.inputState.keyBuffer.push($);var re=Y.inputState.keyBuffer.join(""),se=$.length==1,ye=jn.matchCommand(re,On,Y.inputState,"insert"),ke=Y.inputState.changeQueue;if(ye.type=="none")return C(v),!1;if(ye.type=="partial"){if(ye.expectLiteralNext&&(Y.expectLiteralNext=!0),xn&&window.clearTimeout(xn),xn=se&&window.setTimeout(function(){Y.insertMode&&Y.inputState.keyBuffer.length&&C(v)},_("insertModeEscKeysTimeout")),se){var ge=v.listSelections();(!ke||ke.removed.length!=ge.length)&&(ke=Y.inputState.changeQueue=new N),ke.inserted+=$;for(var we=0;we<ge.length;we++){var De=gt(ge[we].anchor,ge[we].head),Ne=sn(ge[we].anchor,ge[we].head),Ve=v.getRange(De,v.state.overwrite?ve(Ne,0,1):Ne);ke.removed[we]=(ke.removed[we]||"")+Ve}}return!se}if(Y.expectLiteralNext=!1,xn&&window.clearTimeout(xn),ye.command&&ke){for(var ge=v.listSelections(),we=0;we<ge.length;we++){var ct=ge[we].head;v.replaceRange(ke.removed[we]||"",ve(ct,0,-ke.inserted.length),ct,"+input")}ze.macroModeState.lastInsertModeChanges.changes.pop()}return ye.command||C(v),ye.command}function V(){if(D()||B())return!0;Y.inputState.keyBuffer.push($);var re=Y.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(re))return!0;var se=/^(\d*)(.*)$/.exec(re);if(!se)return C(v),!1;var ye=Y.visualMode?"visual":"normal",ke=se[2]||se[1];Y.inputState.operatorShortcut&&Y.inputState.operatorShortcut.slice(-1)==ke&&(ke=Y.inputState.operatorShortcut);var ge=jn.matchCommand(ke,On,Y.inputState,ye);return ge.type=="none"?(C(v),!1):ge.type=="partial"?(ge.expectLiteralNext&&(Y.expectLiteralNext=!0),!0):ge.type=="clear"?(C(v),!0):(Y.expectLiteralNext=!1,Y.inputState.keyBuffer.length=0,se=/^(\d*)(.*)$/.exec(re),se[1]&&se[1]!="0"&&Y.inputState.pushRepeatDigit(se[1]),ge.command)}var Y=E(v),Q;return Y.insertMode?Q=W():Q=V(),Q===!1?!Y.insertMode&&$.length===1?function(){return!0}:void 0:Q===!0?function(){return!0}:function(){if(!((Q.operator||Q.isEdit)&&v.getOption("readOnly")))return v.operation(function(){v.curOp.isVimOp=!0;try{Q.type=="keyToKey"?L(v,Q.toKeys,Q):jn.processCommand(v,Y,Q)}catch(re){throw v.state.vim=void 0,E(v),_t.suppressErrorLogging||console.log(re),re}return!0})}},handleEx:function(v,$){Sr.processCommand(v,$)},defineMotion:te,defineAction:ae,defineOperator:ne,mapCommand:Us,_mapCommand:ns,defineRegister:U,exitVisualMode:Ct,exitInsertMode:ni},Hr=[],fn=!1,Sn,or={Return:"CR",Backspace:"BS",Delete:"Del",Escape:"Esc",Insert:"Ins",ArrowLeft:"Left",ArrowRight:"Right",ArrowUp:"Up",ArrowDown:"Down",Enter:"CR"," ":"Space"},Ur={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},Oi={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(or)).forEach(function(v){Oi[(or[v]||"").toLowerCase()]=Oi[v.toLowerCase()]=v}),M("langmap",void 0,"string",["lmap"],function(v,$){if(v===void 0)return Qn.string;P(v)}),T.prototype.pushRepeatDigit=function(v){this.operator?this.motionRepeat=this.motionRepeat.concat(v):this.prefixRepeat=this.prefixRepeat.concat(v)},T.prototype.getRepeat=function(){var v=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(v=1,this.prefixRepeat.length>0&&(v*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(v*=parseInt(this.motionRepeat.join(""),10))),v},j.prototype={setText:function(v,$,S){this.keyBuffer=[v||""],this.linewise=!!$,this.blockwise=!!S},pushText:function(v,$){$&&(this.linewise||this.keyBuffer.push(`
1442
+ `),this.linewise=!0),this.keyBuffer.push(v)},pushInsertModeChanges:function(v){this.insertModeChanges.push(Bn(v))},pushSearchQuery:function(v){this.searchQueries.push(v)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},K.prototype={pushText:function(v,$,S,D,B){if(v!=="_"){D&&S.charAt(S.length-1)!==`
1443
+ `&&(S+=`
1444
+ `);var W=this.isValidRegister(v)?this.getRegister(v):null;if(!W){switch($){case"yank":this.registers[0]=new j(S,D,B);break;case"delete":case"change":S.indexOf(`
1445
+ `)==-1?this.registers["-"]=new j(S,D):(this.shiftNumericRegisters_(),this.registers[1]=new j(S,D))}this.unnamedRegister.setText(S,D,B);return}var V=l(v);V?W.pushText(S,D):W.setText(S,D,B),v==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"&&navigator.clipboard.writeText(S),this.unnamedRegister.setText(W.toString(),D)}},getRegister:function(v){return this.isValidRegister(v)?(v=v.toLowerCase(),this.registers[v]||(this.registers[v]=new j),this.registers[v]):this.unnamedRegister},isValidRegister:function(v){return v&&(x(v,an)||nn.test(v))},shiftNumericRegisters_:function(){for(var v=9;v>=2;v--)this.registers[v]=this.getRegister(""+(v-1))}},Z.prototype={nextMatch:function(v,$){var S=this.historyBuffer,D=$?-1:1;this.initialPrefix===null&&(this.initialPrefix=v);for(var B=this.iterator+D;$?B>=0:B<S.length;B+=D)for(var W=S[B],V=0;V<=W.length;V++)if(this.initialPrefix==W.substring(0,V))return this.iterator=B,W;if(B>=S.length)return this.iterator=S.length,this.initialPrefix;if(B<0)return v},pushInput:function(v){var $=this.historyBuffer.indexOf(v);$>-1&&this.historyBuffer.splice($,1),v.length&&this.historyBuffer.push(v)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var jn={matchCommand:function(v,$,S,D){var B=Ce(v,$,D,S);if(!B.full&&!B.partial)return{type:"none"};if(!B.full&&B.partial)return{type:"partial",expectLiteralNext:B.partial.length==1&&B.partial[0].keys.slice(-11)=="<character>"};for(var W,V=0;V<B.full.length;V++){var Y=B.full[V];W||(W=Y)}if(W.keys.slice(-11)=="<character>"||W.keys.slice(-10)=="<register>"){var Q=Le(v);if(!Q||Q.length>1)return{type:"clear"};S.selectedCharacter=Q}return{type:"full",command:W}},processCommand:function(v,$,S){switch($.inputState.repeatOverride=S.repeatOverride,S.type){case"motion":this.processMotion(v,$,S);break;case"operator":this.processOperator(v,$,S);break;case"operatorMotion":this.processOperatorMotion(v,$,S);break;case"action":this.processAction(v,$,S);break;case"search":this.processSearch(v,$,S);break;case"ex":case"keyToEx":this.processEx(v,$,S);break}},processMotion:function(v,$,S){$.inputState.motion=S.motion,$.inputState.motionArgs=ue(S.motionArgs),this.evalInput(v,$)},processOperator:function(v,$,S){var D=$.inputState;if(D.operator){if(D.operator==S.operator){D.motion="expandToLine",D.motionArgs={linewise:!0},this.evalInput(v,$);return}C(v)}D.operator=S.operator,D.operatorArgs=ue(S.operatorArgs),S.keys.length>1&&(D.operatorShortcut=S.keys),S.exitVisualBlock&&($.visualBlock=!1,Qe(v)),$.visualMode&&this.evalInput(v,$)},processOperatorMotion:function(v,$,S){var D=$.visualMode,B=ue(S.operatorMotionArgs);B&&D&&B.visualLine&&($.visualLine=!0),this.processOperator(v,$,S),D||this.processMotion(v,$,S)},processAction:function(v,$,S){var D=$.inputState,B=D.getRepeat(),W=!!B,V=ue(S.actionArgs)||{};D.selectedCharacter&&(V.selectedCharacter=D.selectedCharacter),S.operator&&this.processOperator(v,$,S),S.motion&&this.processMotion(v,$,S),(S.motion||S.operator)&&this.evalInput(v,$),V.repeat=B||1,V.repeatIsExplicit=W,V.registerName=D.registerName,C(v),$.lastMotion=null,S.isEdit&&this.recordLastEdit($,D,S),Wn[S.action](v,V,$)},processSearch:function(v,$,S){function D(Ne,Ve,ct){ze.searchHistoryController.pushInput(Ne),ze.searchHistoryController.reset();try{bn(v,Ne,Ve,ct)}catch{Kt(v,"Invalid regex: "+Ne),C(v);return}jn.processMotion(v,$,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:S.searchArgs.toJumplist}})}function B(Ne){D(Ne,!0,!0);var Ve=ze.macroModeState;Ve.isRecording&&Vs(Ve,Ne)}function W(Ne,Ve,ct){var Je=H(Ne),rt,kn;Je=="<Up>"||Je=="<Down>"?(rt=Je=="<Up>",kn=Ne.target?Ne.target.selectionEnd:0,Ve=ze.searchHistoryController.nextMatch(Ve,rt)||"",ct(Ve),kn&&Ne.target&&(Ne.target.selectionEnd=Ne.target.selectionStart=Math.min(kn,Ne.target.value.length))):Je&&Je!="<Left>"&&Je!="<Right>"&&ze.searchHistoryController.reset();var ht;try{ht=bn(v,Ve,!0,!0)}catch{}ht?v.scrollIntoView(Nr(v,!Y,ht),30):(es(v),v.scrollTo(ye.left,ye.top))}function V(Ne,Ve,ct){var Je=H(Ne);Je=="<Esc>"||Je=="<C-c>"||Je=="<C-[>"||Je=="<BS>"&&Ve==""?(ze.searchHistoryController.pushInput(Ve),ze.searchHistoryController.reset(),bn(v,se),es(v),v.scrollTo(ye.left,ye.top),je.e_stop(Ne),C(v),ct(),v.focus()):Je=="<Up>"||Je=="<Down>"?je.e_stop(Ne):Je=="<C-u>"&&(je.e_stop(Ne),ct(""))}if(v.getSearchCursor){var Y=S.searchArgs.forward,Q=S.searchArgs.wholeWordOnly;Ln(v).setReversed(!Y);var re=Y?"/":"?",se=Ln(v).getQuery(),ye=v.getScrollInfo();switch(S.searchArgs.querySrc){case"prompt":var ke=ze.macroModeState;if(ke.isPlaying){var De=ke.replaySearchQueries.shift();D(De,!0,!1)}else Ir(v,{onClose:B,prefix:re,desc:"(JavaScript regexp)",onKeyUp:W,onKeyDown:V});break;case"wordUnderCursor":var ge=kt(v,{noSymbol:!0}),we=!0;if(ge||(ge=kt(v,{noSymbol:!1}),we=!1),!ge){Kt(v,"No word under cursor"),C(v);return}var De=v.getLine(ge.start.line).substring(ge.start.ch,ge.end.ch);we&&Q?De="\\b"+De+"\\b":De=wn(De),ze.jumpList.cachedCursor=v.getCursor(),v.setCursor(ge.start),D(De,!0,!1)}}},processEx:function(v,$,S){function D(W){ze.exCommandHistoryController.pushInput(W),ze.exCommandHistoryController.reset(),Sr.processCommand(v,W),v.state.vim&&C(v)}function B(W,V,Y){var Q=H(W),re,se;(Q=="<Esc>"||Q=="<C-c>"||Q=="<C-[>"||Q=="<BS>"&&V=="")&&(ze.exCommandHistoryController.pushInput(V),ze.exCommandHistoryController.reset(),je.e_stop(W),C(v),Y(),v.focus()),Q=="<Up>"||Q=="<Down>"?(je.e_stop(W),re=Q=="<Up>",se=W.target?W.target.selectionEnd:0,V=ze.exCommandHistoryController.nextMatch(V,re)||"",Y(V),se&&W.target&&(W.target.selectionEnd=W.target.selectionStart=Math.min(se,W.target.value.length))):Q=="<C-u>"?(je.e_stop(W),Y("")):Q&&Q!="<Left>"&&Q!="<Right>"&&ze.exCommandHistoryController.reset()}S.type=="keyToEx"?Sr.processCommand(v,S.exArgs.input):$.visualMode?Ir(v,{onClose:D,prefix:":",value:"'<,'>",onKeyDown:B,selectValueOnOpen:!1}):Ir(v,{onClose:D,prefix:":",onKeyDown:B})},evalInput:function(v,$){var S=$.inputState,D=S.motion,B=S.motionArgs||{},W=S.operator,V=S.operatorArgs||{},Y=S.registerName,Q=$.sel,re=Ge($.visualMode?ce(v,Q.head):v.getCursor("head")),se=Ge($.visualMode?ce(v,Q.anchor):v.getCursor("anchor")),ye=Ge(re),ke=Ge(se),ge,we,De;if(W&&this.recordLastEdit($,S),S.repeatOverride!==void 0?De=S.repeatOverride:De=S.getRepeat(),De>0&&B.explicitRepeat?B.repeatIsExplicit=!0:(B.noRepeat||!B.explicitRepeat&&De===0)&&(De=1,B.repeatIsExplicit=!1),S.selectedCharacter&&(B.selectedCharacter=V.selectedCharacter=S.selectedCharacter),B.repeat=De,C(v),D){var Ne=ri[D](v,re,B,$,S);if($.lastMotion=ri[D],!Ne)return;if(B.toJumplist){!W&&v.ace.curOp!=null&&(v.ace.curOp.command.scrollIntoView="center-animate");var Ve=ze.jumpList,ct=Ve.cachedCursor;ct?(Mr(v,ct,Ne),delete Ve.cachedCursor):Mr(v,re,Ne)}Ne instanceof Array?(we=Ne[0],ge=Ne[1]):ge=Ne,ge||(ge=Ge(re)),$.visualMode?((!$.visualBlock||ge.ch!==1/0)&&(ge=ce(v,ge,ye)),we&&(we=ce(v,we)),we=we||ke,Q.anchor=we,Q.head=ge,Qe(v),gi(v,$,"<",it(we,ge)?we:ge),gi(v,$,">",it(we,ge)?ge:we)):W||(v.ace.curOp&&(v.ace.curOp.vimDialogScroll="center-animate"),ge=ce(v,ge,ye),v.setCursor(ge.line,ge.ch))}if(W){if(V.lastSel){we=ke;var Je=V.lastSel,rt=Math.abs(Je.head.line-Je.anchor.line),kn=Math.abs(Je.head.ch-Je.anchor.ch);Je.visualLine?ge=new Fe(ke.line+rt,ke.ch):Je.visualBlock?ge=new Fe(ke.line+rt,ke.ch+kn):Je.head.line==Je.anchor.line?ge=new Fe(ke.line,ke.ch+kn):ge=new Fe(ke.line+rt,ke.ch),$.visualMode=!0,$.visualLine=Je.visualLine,$.visualBlock=Je.visualBlock,Q=$.sel={anchor:we,head:ge},Qe(v)}else $.visualMode&&(V.lastSel={anchor:Ge(Q.anchor),head:Ge(Q.head),visualBlock:$.visualBlock,visualLine:$.visualLine});var ht,$n,$t,It,sr;if($.visualMode){ht=gt(Q.head,Q.anchor),$n=sn(Q.head,Q.anchor),$t=$.visualLine||V.linewise,It=$.visualBlock?"block":$t?"line":"char";var yr=w(v,ht,$n);if(sr=mt(v,{anchor:yr.start,head:yr.end},It),$t){var An=sr.ranges;if(It=="block")for(var q=0;q<An.length;q++)An[q].head.ch=Jt(v,An[q].head.line);else It=="line"&&(An[0].head=new Fe(An[0].head.line+1,0))}}else{if(ht=Ge(we||ke),$n=Ge(ge||ye),it($n,ht)){var X=ht;ht=$n,$n=X}$t=B.linewise||V.linewise,$t?Dt(v,ht,$n):B.forward&&Pt(v,ht,$n),It="char";var ie=!B.inclusive||$t,yr=w(v,ht,$n);sr=mt(v,{anchor:yr.start,head:yr.end},It,ie)}v.setSelections(sr.ranges,sr.primary),$.lastMotion=null,V.repeat=De,V.registerName=Y,V.linewise=$t;var oe=us[W](v,V,sr.ranges,ke,ge);$.visualMode&&Ct(v,oe!=null),oe&&v.setCursor(oe)}},recordLastEdit:function(v,$,S){var D=ze.macroModeState;D.isPlaying||(v.lastEditInputState=$,v.lastEditActionCommand=S,D.lastInsertModeChanges.changes=[],D.lastInsertModeChanges.expectCursorActivityForChange=!1,D.lastInsertModeChanges.visualBlock=v.visualBlock?v.sel.head.line-v.sel.anchor.line:0)}},ri={moveToTopLine:function(v,$,S){var D=mo(v).top+S.repeat-1;return new Fe(D,pt(v.getLine(D)))},moveToMiddleLine:function(v){var $=mo(v),S=Math.floor(($.top+$.bottom)*.5);return new Fe(S,pt(v.getLine(S)))},moveToBottomLine:function(v,$,S){var D=mo(v).bottom-S.repeat+1;return new Fe(D,pt(v.getLine(D)))},expandToLine:function(v,$,S){var D=$;return new Fe(D.line+S.repeat-1,1/0)},findNext:function(v,$,S){var D=Ln(v),B=D.getQuery();if(B){var W=!S.forward;return W=D.isReversed()?!W:W,Ai(v,B),Nr(v,W,B,S.repeat)}},findAndSelectNextInclusive:function(v,$,S,D,B){var W=Ln(v),V=W.getQuery();if(V){var Y=!S.forward;Y=W.isReversed()?!Y:Y;var Q=Ri(v,Y,V,S.repeat,D);if(Q){if(B.operator)return Q;var re=Q[0],se=new Fe(Q[1].line,Q[1].ch-1);if(D.visualMode){(D.visualLine||D.visualBlock)&&(D.visualLine=!1,D.visualBlock=!1,je.signal(v,"vim-mode-change",{mode:"visual",subMode:""}));var ye=D.sel.anchor;if(ye)return W.isReversed()?S.forward?[ye,re]:[ye,se]:S.forward?[ye,se]:[ye,re]}else D.visualMode=!0,D.visualLine=!1,D.visualBlock=!1,je.signal(v,"vim-mode-change",{mode:"visual",subMode:""});return Y?[se,re]:[re,se]}}},goToMark:function(v,$,S,D){var B=ti(v,D,S.selectedCharacter);return B?S.linewise?{line:B.line,ch:pt(v.getLine(B.line))}:B:null},moveToOtherHighlightedEnd:function(v,$,S,D){if(D.visualBlock&&S.sameLine){var B=D.sel;return[ce(v,new Fe(B.anchor.line,B.head.ch)),ce(v,new Fe(B.head.line,B.anchor.ch))]}return[D.sel.head,D.sel.anchor]},jumpToMark:function(v,$,S,D){for(var B=$,W=0;W<S.repeat;W++){var V=B;for(var Y in D.marks)if(h(Y)){var Q=D.marks[Y].find(),re=S.forward?it(Q,V):it(V,Q);if(!re&&!(S.linewise&&Q.line==V.line)){var se=ft(V,B),ye=S.forward?vn(V,Q,B):vn(B,Q,V);(se||ye)&&(B=Q)}}}return S.linewise&&(B=new Fe(B.line,pt(v.getLine(B.line)))),B},moveByCharacters:function(v,$,S){var D=$,B=S.repeat,W=S.forward?D.ch+B:D.ch-B;return new Fe(D.line,W)},moveByLines:function(v,$,S,D){var B=$,W=B.ch;switch(D.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:W=D.lastHPos;break;default:D.lastHPos=W}var V=S.repeat+(S.repeatOffset||0),Y=S.forward?B.line+V:B.line-V,Q=v.firstLine(),re=v.lastLine();if(Y<Q&&B.line==Q)return this.moveToStartOfLine(v,$,S,D);if(Y>re&&B.line==re)return Ao(v,$,S,D,!0);var se=v.ace.session.getFoldLine(Y);return se&&(S.forward?Y>se.start.row&&(Y=se.end.row+1):Y=se.start.row),S.toFirstChar&&(W=pt(v.getLine(Y)),D.lastHPos=W),D.lastHSPos=v.charCoords(new Fe(Y,W),"div").left,new Fe(Y,W)},moveByDisplayLines:function(v,$,S,D){var B=$;switch(D.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:D.lastHSPos=v.charCoords(B,"div").left}var W=S.repeat,Q=v.findPosV(B,S.forward?W:-W,"line",D.lastHSPos);if(Q.hitSide)if(S.forward)var V=v.charCoords(Q,"div"),Y={top:V.top+8,left:D.lastHSPos},Q=v.coordsChar(Y,"div");else{var re=v.charCoords(new Fe(v.firstLine(),0),"div");re.left=D.lastHSPos,Q=v.coordsChar(re,"div")}return D.lastHPos=Q.ch,Q},moveByPage:function(v,$,S){var D=$,B=S.repeat;return v.findPosV(D,S.forward?B:-B,"page")},moveByParagraph:function(v,$,S){var D=S.forward?1:-1;return Ws(v,$,S.repeat,D)},moveBySentence:function(v,$,S){var D=S.forward?1:-1;return Qi(v,$,S.repeat,D)},moveByScroll:function(v,$,S,D){var B=v.getScrollInfo(),W=null,V=S.repeat;V||(V=B.clientHeight/(2*v.defaultTextHeight()));var Y=v.charCoords($,"local");if(S.repeat=V,W=ri.moveByDisplayLines(v,$,S,D),!W)return null;var Q=v.charCoords(W,"local");return v.scrollTo(null,B.top+Q.top-Y.top),W},moveByWords:function(v,$,S){return kr(v,$,S.repeat,!!S.forward,!!S.wordEnd,!!S.bigWord)},moveTillCharacter:function(v,$,S){var D=S.repeat,B=Jo(v,D,S.forward,S.selectedCharacter,$),W=S.forward?-1:1;return ei(W,S),B?(B.ch+=W,B):null},moveToCharacter:function(v,$,S){var D=S.repeat;return ei(0,S),Jo(v,D,S.forward,S.selectedCharacter,$)||$},moveToSymbol:function(v,$,S){var D=S.repeat;return Xi(v,D,S.forward,S.selectedCharacter)||$},moveToColumn:function(v,$,S,D){var B=S.repeat;return D.lastHPos=B-1,D.lastHSPos=v.charCoords($,"div").left,xl(v,B)},moveToEol:function(v,$,S,D){return Ao(v,$,S,D,!1)},moveToFirstNonWhiteSpaceCharacter:function(v,$){var S=$;return new Fe(S.line,pt(v.getLine(S.line)))},moveToMatchedSymbol:function(v,$){for(var S=$,D=S.line,B=S.ch,W=v.getLine(D),V;B<W.length;B++)if(V=W.charAt(B),V&&c(V)){var Y=v.getTokenTypeAt(new Fe(D,B+1));if(Y!=="string"&&Y!=="comment")break}if(B<W.length){var Q=/[<>]/.test(W[B])?/[(){}[\]<>]/:/[(){}[\]]/,re=v.findMatchingBracket(new Fe(D,B+1),{bracketRegex:Q});return re.to}return S},moveToStartOfLine:function(v,$){return new Fe($.line,0)},moveToLineOrEdgeOfDocument:function(v,$,S){var D=S.forward?v.lastLine():v.firstLine();return S.repeatIsExplicit&&(D=S.repeat-v.getOption("firstLineNumber")),new Fe(D,pt(v.getLine(D)))},moveToStartOfDisplayLine:function(v){return v.execCommand("goLineLeft"),v.getCursor()},moveToEndOfDisplayLine:function(v){v.execCommand("goLineRight");var $=v.getCursor();return $.sticky=="before"&&$.ch--,$},textObjectManipulation:function(v,$,S,D){var B={"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"},W={"'":!0,'"':!0,"`":!0},V=S.selectedCharacter;V=="b"?V="(":V=="B"&&(V="{");var Y=!S.textObjectInner,Q,re;if(B[V]){if(re=!0,Q=Yn(v,$,V,Y),!Q){var se=v.getSearchCursor(new RegExp("\\"+V,"g"),$);se.find()&&(Q=Yn(v,se.from(),V,Y))}}else if(W[V])re=!0,Q=Lr(v,$,V,Y);else if(V==="W"||V==="w")for(var ye=S.repeat||1;ye-- >0;){var ke=kt(v,{inclusive:Y,innerWord:!Y,bigWord:V==="W",noSymbol:V==="W",multiline:!0},Q&&Q.end);ke&&(Q||(Q=ke),Q.end=ke.end)}else if(V==="p")if(Q=Ws(v,$,S.repeat,0,Y),S.linewise=!0,D.visualMode)D.visualLine||(D.visualLine=!0);else{var ge=D.inputState.operatorArgs;ge&&(ge.linewise=!0),Q.end.line--}else if(V==="t")Q=Tn(v,$,Y);else if(V==="s"){var we=v.getLine($.line);$.ch>0&&b(we[$.ch])&&($.ch-=1);var De=Ra(v,$,S.repeat,1,Y),Ne=Ra(v,$,S.repeat,-1,Y);m(v.getLine(Ne.line)[Ne.ch])&&m(v.getLine(De.line)[De.ch-1])&&(Ne={line:Ne.line,ch:Ne.ch+1}),Q={start:Ne,end:De}}return Q?v.state.vim.visualMode?He(v,Q.start,Q.end,re):[Q.start,Q.end]:null},repeatLastCharacterSearch:function(v,$,S){var D=ze.lastCharacterSearch,B=S.repeat,W=S.forward===D.forward,V=(D.increment?1:0)*(W?-1:1);v.moveH(-V,"char"),S.inclusive=!!W;var Y=Jo(v,B,W,D.selectedCharacter);return Y?(Y.ch+=V,Y):(v.moveH(V,"char"),$)}},us={change:function(v,$,S){var D,B,W=v.state.vim,V=S[0].anchor,Y=S[0].head;if(W.visualMode)if($.fullLine)Y.ch=Number.MAX_VALUE,Y.line--,v.setSelection(V,Y),B=v.getSelection(),v.replaceSelection(""),D=V;else{B=v.getSelection();var Q=he("",S.length);v.replaceSelections(Q),D=gt(S[0].head,S[0].anchor)}else{B=v.getRange(V,Y);var re=W.lastEditInputState||{};if(re.motion=="moveByWords"&&!m(B)){var se=/\s+$/.exec(B);se&&re.motionArgs&&re.motionArgs.forward&&(Y=ve(Y,0,-se[0].length),B=B.slice(0,-se[0].length))}$.linewise&&(V=new Fe(V.line,pt(v.getLine(V.line))),Y.line>V.line&&(Y=new Fe(Y.line-1,Number.MAX_VALUE))),v.replaceRange("",V,Y),D=V}ze.registerController.pushText($.registerName,"change",B,$.linewise,S.length>1),Wn.enterInsertMode(v,{head:D},v.state.vim)},delete:function(v,$,S){var D,B,W=v.state.vim;if(W.visualBlock){B=v.getSelection();var V=he("",S.length);v.replaceSelections(V),D=gt(S[0].head,S[0].anchor)}else{var Y=S[0].anchor,Q=S[0].head;$.linewise&&Q.line!=v.firstLine()&&Y.line==v.lastLine()&&Y.line==Q.line-1&&(Y.line==v.firstLine()?Y.ch=0:Y=new Fe(Y.line-1,Jt(v,Y.line-1))),B=v.getRange(Y,Q),v.replaceRange("",Y,Q),D=Y,$.linewise&&(D=ri.moveToFirstNonWhiteSpaceCharacter(v,Y))}return ze.registerController.pushText($.registerName,"delete",B,$.linewise,W.visualBlock),ce(v,D)},indent:function(v,$,S){var D=v.state.vim,B=D.visualMode?$.repeat:1;if(D.visualBlock){for(var W=v.getOption("tabSize"),V=v.getOption("indentWithTabs")?" ":" ".repeat(W),Y,Q=S.length-1;Q>=0;Q--)if(Y=gt(S[Q].anchor,S[Q].head),$.indentRight)v.replaceRange(V.repeat(B),Y,Y);else{for(var re=v.getLine(Y.line),se=0,ye=0;ye<B;ye++){var ke=re[Y.ch+se];if(ke==" ")se++;else{if(ke!=" ")break;se++;for(var ge=1;ge<V.length&&(ke=re[Y.ch+se],ke===" ");ge++)se++}}v.replaceRange("",Y,ve(Y,0,se))}return Y}if(v.indentMore)for(var ye=0;ye<B;ye++)$.indentRight?v.indentMore():v.indentLess();else{var we=S[0].anchor.line,De=D.visualBlock?S[S.length-1].anchor.line:S[0].head.line;$.linewise&&De--;for(var Q=we;Q<=De;Q++)for(var ye=0;ye<B;ye++)v.indentLine(Q,$.indentRight)}return ri.moveToFirstNonWhiteSpaceCharacter(v,S[0].anchor)},indentAuto:function(v,$,S){return v.execCommand("indentAuto"),ri.moveToFirstNonWhiteSpaceCharacter(v,S[0].anchor)},hardWrap:function(v,$,S,D,B){if(v.hardWrap){var W=S[0].anchor.line,V=S[0].head.line;$.linewise&&V--;var Y=v.hardWrap({from:W,to:V});return Y>W&&$.linewise&&Y--,$.keepCursor?D:new Fe(Y,0)}},changeCase:function(v,$,S,D,B){for(var W=v.getSelections(),V=[],Y=$.toLower,Q=0;Q<W.length;Q++){var re=W[Q],se="";if(Y===!0)se=re.toLowerCase();else if(Y===!1)se=re.toUpperCase();else for(var ye=0;ye<re.length;ye++){var ke=re.charAt(ye);se+=l(ke)?ke.toLowerCase():ke.toUpperCase()}V.push(se)}return v.replaceSelections(V),$.shouldMoveCursor?B:!v.state.vim.visualMode&&$.linewise&&S[0].anchor.line+1==S[0].head.line?ri.moveToFirstNonWhiteSpaceCharacter(v,D):$.linewise?D:gt(S[0].anchor,S[0].head)},yank:function(v,$,S,D){var B=v.state.vim,W=v.getSelection(),V=B.visualMode?gt(B.sel.anchor,B.sel.head,S[0].head,S[0].anchor):D;return ze.registerController.pushText($.registerName,"yank",W,$.linewise,B.visualBlock),V}},Wn={jumpListWalk:function(v,$,S){if(!S.visualMode){var D=$.repeat,B=$.forward,W=ze.jumpList,V=W.move(v,B?D:-D),Y=V?V.find():void 0;Y=Y||v.getCursor(),v.setCursor(Y),v.ace.curOp.command.scrollIntoView="center-animate"}},scroll:function(v,$,S){if(!S.visualMode){var D=$.repeat||1,B=v.defaultTextHeight(),W=v.getScrollInfo().top,V=B*D,Y=$.forward?W+V:W-V,Q=Ge(v.getCursor()),re=v.charCoords(Q,"local");if($.forward)Y>re.top?(Q.line+=(Y-re.top)/B,Q.line=Math.ceil(Q.line),v.setCursor(Q),re=v.charCoords(Q,"local"),v.scrollTo(null,re.top)):v.scrollTo(null,Y);else{var se=Y+v.getScrollInfo().clientHeight;se<re.bottom?(Q.line-=(re.bottom-se)/B,Q.line=Math.floor(Q.line),v.setCursor(Q),re=v.charCoords(Q,"local"),v.scrollTo(null,re.bottom-v.getScrollInfo().clientHeight)):v.scrollTo(null,Y)}}},scrollToCursor:function(v,$){var S=v.getCursor().line,D=v.charCoords(new Fe(S,0),"local"),B=v.getScrollInfo().clientHeight,W=D.top;switch($.position){case"center":W=D.bottom-B/2;break;case"bottom":var V=new Fe(S,v.getLine(S).length-1),Y=v.charCoords(V,"local"),Q=Y.bottom-W;W=W-B+Q}v.scrollTo(null,W)},replayMacro:function(v,$,S){var D=$.selectedCharacter,B=$.repeat,W=ze.macroModeState;for(D=="@"?D=W.latestRegister:W.latestRegister=D;B--;)qs(v,S,W,D)},enterMacroRecordMode:function(v,$){var S=ze.macroModeState,D=$.selectedCharacter;ze.registerController.isValidRegister(D)&&S.enterMacroRecordMode(v,D)},toggleOverwrite:function(v){v.state.overwrite?(v.toggleOverwrite(!1),v.setOption("keyMap","vim-insert"),je.signal(v,"vim-mode-change",{mode:"insert"})):(v.toggleOverwrite(!0),v.setOption("keyMap","vim-replace"),je.signal(v,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(v,$,S){if(!v.getOption("readOnly")){S.insertMode=!0,S.insertModeRepeat=$&&$.repeat||1;var D=$?$.insertAt:null,B=S.sel,W=$.head||v.getCursor("head"),V=v.listSelections().length;if(D=="eol")W=new Fe(W.line,Jt(v,W.line));else if(D=="bol")W=new Fe(W.line,0);else if(D=="charAfter"){var Y=w(v,W,ve(W,0,1));W=Y.end}else if(D=="firstNonBlank"){var Y=w(v,W,ri.moveToFirstNonWhiteSpaceCharacter(v,W));W=Y.end}else if(D=="startOfSelectedArea"){if(!S.visualMode)return;S.visualBlock?(W=new Fe(Math.min(B.head.line,B.anchor.line),Math.min(B.head.ch,B.anchor.ch)),V=Math.abs(B.head.line-B.anchor.line)+1):B.head.line<B.anchor.line?W=B.head:W=new Fe(B.anchor.line,0)}else if(D=="endOfSelectedArea"){if(!S.visualMode)return;S.visualBlock?(W=new Fe(Math.min(B.head.line,B.anchor.line),Math.max(B.head.ch,B.anchor.ch)+1),V=Math.abs(B.head.line-B.anchor.line)+1):B.head.line>=B.anchor.line?W=ve(B.head,0,1):W=new Fe(B.anchor.line,0)}else if(D=="inplace"){if(S.visualMode)return}else D=="lastEdit"&&(W=Ro(v)||W);v.setOption("disableInput",!1),$&&$.replace?(v.toggleOverwrite(!0),v.setOption("keyMap","vim-replace"),je.signal(v,"vim-mode-change",{mode:"replace"})):(v.toggleOverwrite(!1),v.setOption("keyMap","vim-insert"),je.signal(v,"vim-mode-change",{mode:"insert"})),ze.macroModeState.isPlaying||(v.on("change",Eo),S.insertEnd&&S.insertEnd.clear(),S.insertEnd=v.setBookmark(W,{insertLeft:!0}),je.on(v.getInputField(),"keydown",Ks)),S.visualMode&&Ct(v),ir(v,W,V)}},toggleVisualMode:function(v,$,S){var D=$.repeat,B=v.getCursor(),W;if(S.visualMode)S.visualLine^$.linewise||S.visualBlock^$.blockwise?(S.visualLine=!!$.linewise,S.visualBlock=!!$.blockwise,je.signal(v,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""}),Qe(v)):Ct(v);else{S.visualMode=!0,S.visualLine=!!$.linewise,S.visualBlock=!!$.blockwise,W=ce(v,new Fe(B.line,B.ch+D-1));var V=w(v,B,W);S.sel={anchor:V.start,head:V.end},je.signal(v,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""}),Qe(v),gi(v,S,"<",gt(B,W)),gi(v,S,">",sn(B,W))}},reselectLastSelection:function(v,$,S){var D=S.lastSelection;if(S.visualMode&&_e(v,S),D){var B=D.anchorMark.find(),W=D.headMark.find();if(!B||!W)return;S.sel={anchor:B,head:W},S.visualMode=!0,S.visualLine=D.visualLine,S.visualBlock=D.visualBlock,Qe(v),gi(v,S,"<",gt(B,W)),gi(v,S,">",sn(B,W)),je.signal(v,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""})}},joinLines:function(v,$,S){var D,B;if(S.visualMode){if(D=v.getCursor("anchor"),B=v.getCursor("head"),it(B,D)){var W=B;B=D,D=W}B.ch=Jt(v,B.line)-1}else{var V=Math.max($.repeat,2);D=v.getCursor(),B=ce(v,new Fe(D.line+V-1,1/0))}for(var Y=0,Q=D.line;Q<B.line;Q++){Y=Jt(v,D.line);var re="",se=0;if(!$.keepSpaces){var ye=v.getLine(D.line+1);se=ye.search(/\S/),se==-1?se=ye.length:re=" "}v.replaceRange(re,new Fe(D.line,Y),new Fe(D.line+1,se))}var ke=ce(v,new Fe(D.line,Y));S.visualMode&&Ct(v,!1),v.setCursor(ke)},newLineAndEnterInsertMode:function(v,$,S){S.insertMode=!0;var D=Ge(v.getCursor());if(D.line===v.firstLine()&&!$.after)v.replaceRange(`
1446
+ `,new Fe(v.firstLine(),0)),v.setCursor(v.firstLine(),0);else{D.line=$.after?D.line:D.line-1,D.ch=Jt(v,D.line),v.setCursor(D);var B=je.commands.newlineAndIndentContinueComment||je.commands.newlineAndIndent;B(v)}this.enterInsertMode(v,{repeat:$.repeat},S)},paste:function(v,$,S){var D=this,B=ze.registerController.getRegister($.registerName),W=function(){var V=B.toString();D.continuePaste(v,$,S,V,B)};$.registerName==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"?navigator.clipboard.readText().then(function(V){D.continuePaste(v,$,S,V,B)},function(){W()}):W()},continuePaste:function(v,$,S,D,B){var W=Ge(v.getCursor());if(D){if($.matchIndent){var V=v.getOption("tabSize"),Y=function(An){var q=An.split(" ").length-1,X=An.split(" ").length-1;return q*V+X*1},Q=v.getLine(v.getCursor().line),re=Y(Q.match(/^\s*/)[0]),se=D.replace(/\n$/,""),ye=D!==se,ke=Y(D.match(/^\s*/)[0]),D=se.replace(/^\s*/gm,function(An){var q=re+(Y(An)-ke);if(q<0)return"";if(v.getOption("indentWithTabs")){var X=Math.floor(q/V);return Array(X+1).join(" ")}return Array(q+1).join(" ")});D+=ye?`
1447
+ `:""}if($.repeat>1)var D=Array($.repeat+1).join(D);var ge=B.linewise,we=B.blockwise;if(we){D=D.split(`
1448
+ `),ge&&D.pop();for(var De=0;De<D.length;De++)D[De]=D[De]==""?" ":D[De];W.ch+=$.after?1:0,W.ch=Math.min(Jt(v,W.line),W.ch)}else ge?S.visualMode?D=S.visualLine?D.slice(0,-1):`
1449
+ `+D.slice(0,D.length-1)+`
1450
+ `:$.after?(D=`
1451
+ `+D.slice(0,D.length-1),W.ch=Jt(v,W.line)):W.ch=0:W.ch+=$.after?1:0;var Ne;if(S.visualMode){S.lastPastedText=D;var Ve,ct=qe(v,S),Je=ct[0],rt=ct[1],kn=v.getSelection(),ht=v.listSelections(),$n=new Array(ht.length).join("1").split("1");S.lastSelection&&(Ve=S.lastSelection.headMark.find()),ze.registerController.unnamedRegister.setText(kn),we?(v.replaceSelections($n),rt=new Fe(Je.line+D.length-1,Je.ch),v.setCursor(Je),Fn(v,rt),v.replaceSelections(D),Ne=Je):S.visualBlock?(v.replaceSelections($n),v.setCursor(Je),v.replaceRange(D,Je,Je),Ne=Je):(v.replaceRange(D,Je,rt),Ne=v.posFromIndex(v.indexFromPos(Je)+D.length-1)),Ve&&(S.lastSelection.headMark=v.setBookmark(Ve)),ge&&(Ne.ch=0)}else if(we){v.setCursor(W);for(var De=0;De<D.length;De++){var $t=W.line+De;$t>v.lastLine()&&v.replaceRange(`
1452
+ `,new Fe($t,0));var It=Jt(v,$t);It<W.ch&&Dn(v,$t,W.ch)}v.setCursor(W),Fn(v,new Fe(W.line+D.length-1,W.ch)),v.replaceSelections(D),Ne=W}else if(v.replaceRange(D,W),ge){var $t=$.after?W.line+1:W.line;Ne=new Fe($t,pt(v.getLine($t)))}else Ne=Ge(W),/\n/.test(D)||(Ne.ch+=D.length-($.after?1:0));S.visualMode&&Ct(v,!1),v.setCursor(Ne)}},undo:function(v,$){v.operation(function(){Xe(v,je.commands.undo,$.repeat)(),v.setCursor(ce(v,v.getCursor("start")))})},redo:function(v,$){Xe(v,je.commands.redo,$.repeat)()},setRegister:function(v,$,S){S.inputState.registerName=$.selectedCharacter},insertRegister:function(v,$,S){var D=$.selectedCharacter,B=ze.registerController.getRegister(D),W=B&&B.toString();W&&v.replaceSelection(W)},oneNormalCommand:function(v,$,S){ni(v,!0),S.insertModeReturn=!0,je.on(v,"vim-command-done",function D(){S.visualMode||(S.insertModeReturn&&(S.insertModeReturn=!1,S.insertMode||Wn.enterInsertMode(v,{},S)),je.off(v,"vim-command-done",D))})},setMark:function(v,$,S){var D=$.selectedCharacter;gi(v,S,D,v.getCursor())},replace:function(v,$,S){var D=$.selectedCharacter,B=v.getCursor(),W,V,Y=v.listSelections();if(S.visualMode)B=v.getCursor("start"),V=v.getCursor("end");else{var Q=v.getLine(B.line);W=B.ch+$.repeat,W>Q.length&&(W=Q.length),V=new Fe(B.line,W)}var re=w(v,B,V);if(B=re.start,V=re.end,D==`
1453
+ `)S.visualMode||v.replaceRange("",B,V),(je.commands.newlineAndIndentContinueComment||je.commands.newlineAndIndent)(v);else{var se=v.getRange(B,V);if(se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,D),se=se.replace(/[^\n]/g,D),S.visualBlock){var ye=new Array(v.getOption("tabSize")+1).join(" ");se=v.getSelection(),se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,D),se=se.replace(/\t/g,ye).replace(/[^\n]/g,D).split(`
1454
+ `),v.replaceSelections(se)}else v.replaceRange(se,B,V);S.visualMode?(B=it(Y[0].anchor,Y[0].head)?Y[0].anchor:Y[0].head,v.setCursor(B),Ct(v,!1)):v.setCursor(ve(V,0,-1))}},incrementNumberToken:function(v,$){for(var S=v.getCursor(),D=v.getLine(S.line),B=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi,W,V,Y,Q;(W=B.exec(D))!==null&&(V=W.index,Y=V+W[0].length,!(S.ch<Y)););if(!(!$.backtrack&&Y<=S.ch)&&W){var re=W[2]||W[4],se=W[3]||W[5],ye=$.increase?1:-1,ke={"0b":2,0:8,"":10,"0x":16}[re.toLowerCase()],ge=parseInt(W[1]+se,ke)+ye*$.repeat;Q=ge.toString(ke);var we=re?new Array(se.length-Q.length+1+W[1].length).join("0"):"";Q.charAt(0)==="-"?Q="-"+re+we+Q.substr(1):Q=re+we+Q;var De=new Fe(S.line,V),Ne=new Fe(S.line,Y);v.replaceRange(Q,De,Ne),v.setCursor(new Fe(S.line,V+Q.length-1))}},repeatLastEdit:function(v,$,S){var D=S.lastEditInputState;if(D){var B=$.repeat;B&&$.repeatIsExplicit?S.lastEditInputState.repeatOverride=B:B=S.lastEditInputState.repeatOverride||B,La(v,S,B,!1)}},indent:function(v,$){v.indentLine(v.getCursor().line,$.indentRight)},exitInsertMode:ni},vi={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},wi={bracket:{isComplete:function(v){if(v.nextCh===v.symb){if(v.depth++,v.depth>=1)return!0}else v.nextCh===v.reverseSymb&&v.depth--;return!1}},section:{init:function(v){v.curMoveThrough=!0,v.symb=(v.forward?"]":"[")===v.symb?"{":"}"},isComplete:function(v){return v.index===0&&v.nextCh===v.symb}},comment:{isComplete:function(v){var $=v.lastCh==="*"&&v.nextCh==="/";return v.lastCh=v.nextCh,$}},method:{init:function(v){v.symb=v.symb==="m"?"{":"}",v.reverseSymb=v.symb==="{"?"}":"{"},isComplete:function(v){return v.nextCh===v.symb}},preprocess:{init:function(v){v.index=0},isComplete:function(v){if(v.nextCh==="#"){var $=v.lineText.match(/^#(\w+)/)[1];if($==="endif"){if(v.forward&&v.depth===0)return!0;v.depth++}else if($==="if"){if(!v.forward&&v.depth===0)return!0;v.depth--}if($==="else"&&v.depth===0)return!0}return!1}}};M("pcre",!0,"boolean"),Zi.prototype={getQuery:function(){return ze.query},setQuery:function(v){ze.query=v},getOverlay:function(){return this.searchOverlay},setOverlay:function(v){this.searchOverlay=v},isReversed:function(){return ze.isReversed},setReversed:function(v){ze.isReversed=v},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(v){this.annotate=v}};var Ii={"\\n":`
1455
+ `,"\\r":"\r","\\t":" "},gr={"\\/":"/","\\\\":"\\","\\n":`
1456
+ `,"\\r":"\r","\\t":" ","\\&":"&"},mr=0,_r=function(){this.buildCommandMap_()};_r.prototype={processCommand:function(v,$,S){var D=this;v.operation(function(){v.curOp.isVimOp=!0,D._processCommand(v,$,S)})},_processCommand:function(v,$,S){var D=v.state.vim,B=ze.registerController.getRegister(":"),W=B.toString(),V=new je.StringStream($);B.setText($);var Y=S||{};Y.input=$;try{this.parseInput_(v,V,Y)}catch(se){throw Kt(v,se.toString()),se}D.visualMode&&Ct(v);var Q,re;if(!Y.commandName)Y.line!==void 0&&(re="move");else if(Q=this.matchCommand_(Y.commandName),Q){if(re=Q.name,Q.excludeFromCommandHistory&&B.setText(W),this.parseCommandArgs_(V,Y,Q),Q.type=="exToKey"){L(v,Q.toKeys,Q);return}if(Q.type=="exToEx"){this.processCommand(v,Q.toInput);return}}if(!re){Kt(v,'Not an editor command ":'+$+'"');return}try{Ys[re](v,Y),(!Q||!Q.possiblyAsync)&&Y.callback&&Y.callback()}catch(se){throw Kt(v,se.toString()),se}},parseInput_:function(v,$,S){if($.eatWhile(":"),$.eat("%")?(S.line=v.firstLine(),S.lineEnd=v.lastLine()):(S.line=this.parseLineSpec_(v,$),S.line!==void 0&&$.eat(",")&&(S.lineEnd=this.parseLineSpec_(v,$))),S.line==null)if(v.state.vim.visualMode){var D=ti(v,v.state.vim,"<");S.selectionLine=D&&D.line,D=ti(v,v.state.vim,">"),S.selectionLineEnd=D&&D.line}else S.selectionLine=v.getCursor().line;else S.selectionLine=S.line,S.selectionLineEnd=S.lineEnd;var B=$.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return B?S.commandName=B[1]:S.commandName=$.match(/.*/)[0],S},parseLineSpec_:function(v,$){var S=$.match(/^(\d+)/);if(S)return parseInt(S[1],10)-1;switch($.next()){case".":return this.parseLineSpecOffset_($,v.getCursor().line);case"$":return this.parseLineSpecOffset_($,v.lastLine());case"'":var D=$.next(),B=ti(v,v.state.vim,D);if(!B)throw new Error("Mark not set");return this.parseLineSpecOffset_($,B.line);case"-":case"+":return $.backUp(1),this.parseLineSpecOffset_($,v.getCursor().line);default:return $.backUp(1),void 0}},parseLineSpecOffset_:function(v,$){var S=v.match(/^([+-])?(\d+)/);if(S){var D=parseInt(S[2],10);S[1]=="-"?$-=D:$+=D}return $},parseCommandArgs_:function(v,$,S){if(!v.eol()){$.argString=v.match(/.*/)[0];var D=S.argDelimiter||/\s+/,B=xr($.argString).split(D);B.length&&B[0]&&($.args=B)}},matchCommand_:function(v){for(var $=v.length;$>0;$--){var S=v.substring(0,$);if(this.commandMap_[S]){var D=this.commandMap_[S];if(D.name.indexOf(v)===0)return D}}return null},buildCommandMap_:function(){this.commandMap_={};for(var v=0;v<yi.length;v++){var $=yi[v],S=$.shortName||$.name;this.commandMap_[S]=$}},map:function(v,$,S,D){if(v!=":"&&v.charAt(0)==":"){if(S)throw Error("Mode not supported for ex mappings");var B=v.substring(1);$!=":"&&$.charAt(0)==":"?this.commandMap_[B]={name:B,type:"exToEx",toInput:$.substring(1),user:!0}:this.commandMap_[B]={name:B,type:"exToKey",toKeys:$,user:!0}}else{var W={keys:v,type:"keyToKey",toKeys:$,noremap:!!D};S&&(W.context=S),On.unshift(W)}},unmap:function(v,$){if(v!=":"&&v.charAt(0)==":"){if($)throw Error("Mode not supported for ex mappings");var S=v.substring(1);if(this.commandMap_[S]&&this.commandMap_[S].user)return delete this.commandMap_[S],!0}else for(var D=v,B=0;B<On.length;B++)if(D==On[B].keys&&On[B].context===$)return On.splice(B,1),!0}};var Ys={colorscheme:function(v,$){if(!$.args||$.args.length<1){Kt(v,v.getOption("theme"));return}v.setOption("theme",$.args[0])},map:function(v,$,S,D){var B=$.args;if(!B||B.length<2){v&&Kt(v,"Invalid mapping: "+$.input);return}Sr.map(B[0],B[1],S,D)},imap:function(v,$){this.map(v,$,"insert")},nmap:function(v,$){this.map(v,$,"normal")},vmap:function(v,$){this.map(v,$,"visual")},omap:function(v,$){this.map(v,$,"operatorPending")},noremap:function(v,$){this.map(v,$,void 0,!0)},inoremap:function(v,$){this.map(v,$,"insert",!0)},nnoremap:function(v,$){this.map(v,$,"normal",!0)},vnoremap:function(v,$){this.map(v,$,"visual",!0)},onoremap:function(v,$){this.map(v,$,"operatorPending",!0)},unmap:function(v,$,S){var D=$.args;(!D||D.length<1||!Sr.unmap(D[0],S))&&v&&Kt(v,"No such mapping: "+$.input)},mapclear:function(v,$){_t.mapclear()},imapclear:function(v,$){_t.mapclear("insert")},nmapclear:function(v,$){_t.mapclear("normal")},vmapclear:function(v,$){_t.mapclear("visual")},omapclear:function(v,$){_t.mapclear("operatorPending")},move:function(v,$){jn.processCommand(v,v.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:$.line+1})},set:function(v,$){var S=$.args,D=$.setCfg||{};if(!S||S.length<1){v&&Kt(v,"Invalid mapping: "+$.input);return}var B=S[0].split("="),W=B[0],V=B[1],Y=!1,Q=!1;if(W.charAt(W.length-1)=="?"){if(V)throw Error("Trailing characters: "+$.argString);W=W.substring(0,W.length-1),Y=!0}else W.charAt(W.length-1)=="!"&&(W=W.substring(0,W.length-1),Q=!0);V===void 0&&W.substring(0,2)=="no"&&(W=W.substring(2),V=!1);var re=Gt[W]&&Gt[W].type=="boolean";if(re&&(Q?V=!_(W,v,D):V==null&&(V=!0)),!re&&V===void 0||Y){var se=_(W,v,D);se instanceof Error?Kt(v,se.message):se===!0||se===!1?Kt(v," "+(se?"":"no")+W):Kt(v," "+W+"="+se)}else{var ye=A(W,V,v,D);ye instanceof Error&&Kt(v,ye.message)}},setlocal:function(v,$){$.setCfg={scope:"local"},this.set(v,$)},setglobal:function(v,$){$.setCfg={scope:"global"},this.set(v,$)},registers:function(v,$){var S=$.args,D=ze.registerController.registers,B=`----------Registers----------
1457
+
1458
+ `;if(S){var W;S=S.join("");for(var V=0;V<S.length;V++)if(W=S.charAt(V),!!ze.registerController.isValidRegister(W)){var Y=D[W]||new j;B+='"'+W+" "+Y.toString()+`
1459
+ `}}else for(var W in D){var Q=D[W].toString();Q.length&&(B+='"'+W+" "+Q+`
1460
+ `)}Kt(v,B)},sort:function(v,$){function S(){if($.argString){var $t=new je.StringStream($.argString);if($t.eat("!")&&(W=!0),$t.eol())return;if(!$t.eatSpace())return"Invalid arguments";var It=$t.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!It&&!$t.eol())return"Invalid arguments";if(It[1]){V=It[1].indexOf("i")!=-1,Y=It[1].indexOf("u")!=-1;var sr=It[1].indexOf("d")!=-1||It[1].indexOf("n")!=-1&&1,yr=It[1].indexOf("x")!=-1&&1,An=It[1].indexOf("o")!=-1&&1;if(sr+yr+An>1)return"Invalid arguments";Q=sr&&"decimal"||yr&&"hex"||An&&"octal"}It[2]&&(re=new RegExp(It[2].substr(1,It[2].length-2),V?"i":""))}}function D($t,It){if(W){var sr;sr=$t,$t=It,It=sr}V&&($t=$t.toLowerCase(),It=It.toLowerCase());var yr=Q&&Ne.exec($t),An=Q&&Ne.exec(It);return yr?(yr=parseInt((yr[1]+yr[2]).toLowerCase(),Ve),An=parseInt((An[1]+An[2]).toLowerCase(),Ve),yr-An):$t<It?-1:1}function B($t,It){if(W){var sr;sr=$t,$t=It,It=sr}return V&&($t[0]=$t[0].toLowerCase(),It[0]=It[0].toLowerCase()),$t[0]<It[0]?-1:1}var W,V,Y,Q,re,se=S();if(se){Kt(v,se+": "+$.argString);return}var ye=$.line||v.firstLine(),ke=$.lineEnd||$.line||v.lastLine();if(ye!=ke){var ge=new Fe(ye,0),we=new Fe(ke,Jt(v,ke)),De=v.getRange(ge,we).split(`
1461
+ `),Ne=re||(Q=="decimal"?/(-?)([\d]+)/:Q=="hex"?/(-?)(?:0x)?([0-9a-f]+)/i:Q=="octal"?/([0-7]+)/:null),Ve=Q=="decimal"?10:Q=="hex"?16:Q=="octal"?8:null,ct=[],Je=[];if(Q||re)for(var rt=0;rt<De.length;rt++){var kn=re?De[rt].match(re):null;kn&&kn[0]!=""?ct.push(kn):!re&&Ne.exec(De[rt])?ct.push(De[rt]):Je.push(De[rt])}else Je=De;if(ct.sort(re?B:D),re)for(var rt=0;rt<ct.length;rt++)ct[rt]=ct[rt].input;else Q||Je.sort(D);if(De=W?ct.concat(Je):Je.concat(ct),Y){var ht=De,$n;De=[];for(var rt=0;rt<ht.length;rt++)ht[rt]!=$n&&De.push(ht[rt]),$n=ht[rt]}v.replaceRange(De.join(`
1462
+ `),ge,we)}},vglobal:function(v,$){this.global(v,$)},normal:function(v,$){var S=$.argString;if(S&&S[0]=="!"&&(S=S.slice(1),fn=!0),S=S.trimStart(),!S){Kt(v,"Argument is required.");return}var D=$.line;if(typeof D=="number")for(var B=isNaN($.lineEnd)?D:$.lineEnd,W=D;W<=B;W++)v.setCursor(W,0),L(v,$.argString.trimStart()),v.state.vim.insertMode&&ni(v,!0);else L(v,$.argString.trimStart()),v.state.vim.insertMode&&ni(v,!0)},global:function(v,$){var S=$.argString;if(!S){Kt(v,"Regular Expression missing from global");return}var D=$.commandName[0]==="v";S[0]==="!"&&$.commandName[0]==="g"&&(D=!0,S=S.slice(1));var B=$.line!==void 0?$.line:v.firstLine(),W=$.lineEnd||$.line||v.lastLine(),V=Or(S),Y=S,Q;if(V.length&&(Y=V[0],Q=V.slice(1,V.length).join("/")),Y)try{bn(v,Y,!0,!0)}catch{Kt(v,"Invalid regex: "+Y);return}for(var re=Ln(v).getQuery(),se=[],ye=B;ye<=W;ye++){var ke=v.getLine(ye),ge=re.test(ke);ge!==D&&se.push(Q?v.getLineHandle(ye):ke)}if(!Q){Kt(v,se.join(`
1463
+ `));return}var we=0,De=function(){if(we<se.length){var Ne=se[we++],Ve=v.getLineNumber(Ne);if(Ve==null){De();return}var ct=Ve+1+Q;Sr.processCommand(v,ct,{callback:De})}else v.releaseLineHandles&&v.releaseLineHandles()};De()},substitute:function(v,$){if(!v.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var S=$.argString,D=S?Ji(S,S[0]):[],B,W="",V,Y,Q,re=!1,se=!1;if(D.length)B=D[0],_("pcre")&&B!==""&&(B=new RegExp(B).source),W=D[1],W!==void 0&&(_("pcre")?W=Sl(W.replace(/([^\\])&/g,"$1$$&")):W=_l(W),ze.lastSubstituteReplacePart=W),V=D[2]?D[2].split(" "):[];else if(S&&S.length){Kt(v,"Substitutions should be of the form :s/pattern/replace/");return}if(V&&(Y=V[0],Q=parseInt(V[1]),Y&&(Y.indexOf("c")!=-1&&(re=!0),Y.indexOf("g")!=-1&&(se=!0),_("pcre")?B=B+"/"+Y:B=B.replace(/\//g,"\\/")+"/"+Y)),B)try{bn(v,B,!0,!0)}catch{Kt(v,"Invalid regex: "+B);return}if(W=W||ze.lastSubstituteReplacePart,W===void 0){Kt(v,"No previous substitute regular expression");return}var ye=Ln(v),ke=ye.getQuery(),ge=$.line!==void 0?$.line:v.getCursor().line,we=$.lineEnd||ge;ge==v.firstLine()&&we==v.lastLine()&&(we=1/0),Q&&(ge=we,we=ge+Q-1);var De=ce(v,new Fe(ge,0)),Ne=v.getSearchCursor(ke,De);ts(v,re,se,ge,we,Ne,ke,W,$.callback)},startinsert:function(v,$){L(v,$.argString=="!"?"A":"i",{})},redo:je.commands.redo,undo:je.commands.undo,write:function(v){je.commands.save?je.commands.save(v):v.save&&v.save()},nohlsearch:function(v){es(v)},yank:function(v){var $=Ge(v.getCursor()),S=$.line,D=v.getLine(S);ze.registerController.pushText("0","yank",D,!0,!0)},delete:function(v,$){var S=$.selectionLine,D=isNaN($.selectionLineEnd)?S:$.selectionLineEnd;us.delete(v,{linewise:!0},[{anchor:new Fe(S,0),head:new Fe(D+1,0)}])},join:function(v,$){var S=$.selectionLine,D=isNaN($.selectionLineEnd)?S:$.selectionLineEnd;v.setCursor(new Fe(S,0)),Wn.joinLines(v,{repeat:D-S},v.state.vim)},delmarks:function(v,$){if(!$.argString||!xr($.argString)){Kt(v,"Argument required");return}for(var S=v.state.vim,D=new je.StringStream(xr($.argString));!D.eol();){D.eatSpace();var B=D.pos;if(!D.match(/[a-zA-Z]/,!1)){Kt(v,"Invalid argument: "+$.argString.substring(B));return}var W=D.next();if(D.match("-",!0)){if(!D.match(/[a-zA-Z]/,!1)){Kt(v,"Invalid argument: "+$.argString.substring(B));return}var V=W,Y=D.next();if(!(h(V)&&h(Y)||l(V)&&l(Y))){Kt(v,"Invalid argument: "+V+"-");return}var Q=V.charCodeAt(0),re=Y.charCodeAt(0);if(Q>=re){Kt(v,"Invalid argument: "+$.argString.substring(B));return}for(var se=0;se<=re-Q;se++){var ye=String.fromCharCode(Q+se);delete S.marks[ye]}}else delete S.marks[W]}}},Sr=new _r;M("insertModeEscKeysTimeout",200,"number"),je.Vim=_t;var Dr={return:"CR",backspace:"BS",delete:"Del",esc:"Esc",left:"Left",right:"Right",up:"Up",down:"Down",space:"Space",insert:"Ins",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",enter:"CR"},bi=_t.handleKey.bind(_t);_t.handleKey=function(v,$,S){return v.operation(function(){return bi(v,$,S)},!0)},O(),r.CodeMirror=je;var xi=_t.maybeInitVimState_;r.handler={$id:"ace/keyboard/vim",drawCursor:function(v,$,S,D,B){var W=this.state.vim||{},V=S.characterWidth,Y=S.lineHeight,Q=$.top,re=$.left;if(!W.insertMode){var se=D.cursor?pr.comparePoints(D.cursor,D.start)<=0:B.selection.isBackwards()||B.selection.isEmpty();!se&&re>V&&(re-=V)}!W.insertMode&&W.status&&(Y/=2,Q+=Y),to.translate(v,re,Q),to.setStyle(v.style,"width",V+"px"),to.setStyle(v.style,"height",Y+"px")},$getDirectionForHighlight:function(v){var $=v.state.cm,S=xi($);if(!S.insertMode)return v.session.selection.isBackwards()||v.session.selection.isEmpty()},handleKeyboard:function(v,$,S,D,B){var W=v.editor,V=W.state.cm,Y=xi(V);if(D!=-1){if(Y.insertMode||($==-1?(S.charCodeAt(0)>255&&v.inputKey&&(S=v.inputKey,S&&v.inputHash==4&&(S=S.toUpperCase())),v.inputChar=S):$==4||$==0?v.inputKey==S&&v.inputHash==$&&v.inputChar?(S=v.inputChar,$=-1):(v.inputChar=null,v.inputKey=S,v.inputHash=$):v.inputChar=v.inputKey=null),V.state.overwrite&&Y.insertMode&&S=="backspace"&&$==0)return{command:"gotoleft"};if(S=="c"&&$==1&&!Oo.isMac&&W.getCopyText())return W.once("copy",function(){Y.insertMode?W.selection.clearSelection():V.operation(function(){Ct(V)})}),{command:"null",passEvent:!0};if(S=="esc"&&!Y.insertMode&&!Y.visualMode&&!V.ace.inMultiSelectMode){var Q=Ln(V),re=Q.getOverlay();re&&V.removeOverlay(re)}if($==-1||$&1||$===0&&S.length>1){var se=Y.insertMode,ye=Gs($,S,B||{},Y);Y.status==null&&(Y.status="");var ke=Mo(V,ye,"user");return Y=xi(V),ke&&Y.status!=null?Y.status+=ye:Y.status==null&&(Y.status=""),V._signal("changeStatus"),!ke&&($!=-1||se)?void 0:{command:"null",passEvent:!ke}}}},attach:function(v){function $(){var D=xi(S).insertMode;S.ace.renderer.setStyle("normal-mode",!D),v.textInput.setCommandMode(!D),v.renderer.$keepTextAreaAtCursor=D,v.renderer.$blockCursor=!D}v.state||(v.state={});var S=new je(v);v.state.cm=S,v.$vimModeHandler=this,f(S),xi(S).status=null,S.on("vim-command-done",function(){S.virtualSelectionMode()||(xi(S).status=null,S.ace._signal("changeStatus"),S.ace.session.markUndoGroup())}),S.on("changeStatus",function(){S.ace.renderer.updateCursor(),S.ace._signal("changeStatus")}),S.on("vim-mode-change",function(){S.virtualSelectionMode()||($(),S._signal("changeStatus"))}),$(),v.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(S)},detach:function(v){var $=v.state.cm;g($),$.destroy(),v.state.cm=null,v.$vimModeHandler=null,v.renderer.$cursorLayer.drawCursor=null,v.renderer.setStyle("normal-mode",!1),v.textInput.setCommandMode(!1),v.renderer.$keepTextAreaAtCursor=!0},getStatusText:function(v){var $=v.state.cm,S=xi($);if(S.insertMode)return"INSERT";var D="";return S.visualMode&&(D+="VISUAL",S.visualLine&&(D+=" LINE"),S.visualBlock&&(D+=" BLOCK")),S.status&&(D+=(D?" ":"")+S.status),D}},_t.defineOption({name:"wrap",set:function(v,$){$&&$.ace.setOption("wrap",v)},type:"boolean"},!1),_t.defineEx("write","w",function(){console.log(":write is not implemented")}),On.push({keys:"zc",type:"action",action:"fold",actionArgs:{open:!1}},{keys:"zC",type:"action",action:"fold",actionArgs:{open:!1,all:!0}},{keys:"zo",type:"action",action:"fold",actionArgs:{open:!0}},{keys:"zO",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"za",type:"action",action:"fold",actionArgs:{toggle:!0}},{keys:"zA",type:"action",action:"fold",actionArgs:{toggle:!0,all:!0}},{keys:"zf",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"zd",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"<C-A-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAbove"}},{keys:"<C-A-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelow"}},{keys:"<C-A-S-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAboveSkipCurrent"}},{keys:"<C-A-S-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelowSkipCurrent"}},{keys:"<C-A-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreBefore"}},{keys:"<C-A-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreAfter"}},{keys:"<C-A-S-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextBefore"}},{keys:"<C-A-S-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextAfter"}}),On.push({keys:"gq",type:"operator",operator:"hardWrap"}),_t.defineOperator("hardWrap",function(v,$,S,D,B){var W=S[0].anchor.line,V=S[0].head.line;return $.linewise&&V--,wo(v.ace,{startRow:W,endRow:V}),Fe(V,0)}),M("textwidth",void 0,"number",["tw"],function(v,$){if($!==void 0){if(v===void 0){var S=$.ace.getOption("printMarginColumn");return S}var D=Math.round(v);D>1&&$.ace.setOption("printMarginColumn",D)}}),Wn.aceCommand=function(v,$,S){v.vimCmd=$,v.ace.inVirtualSelectionMode?v.ace.on("beforeEndOperation",Ei):Ei(null,v.ace)},Wn.fold=function(v,$,S){v.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][($.all?2:0)+($.open?1:0)])},No=On.length,r.handler.defaultKeymap=On,r.handler.actions=Wn,r.Vim=_t}),function(){ace.require(["ace/keyboard/vim"],function(n){t&&(t.exports=n)})}()}(Wm)),Wm.exports}pT();var vc={exports:{}};/**
1464
+ * @license
1465
+ * Lodash <https://lodash.com/>
1466
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
1467
+ * Released under MIT license <https://lodash.com/license>
1468
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
1469
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1470
+ */var fT=vc.exports,Hm;function gT(){return Hm||(Hm=1,function(t,e){(function(){var n,r="4.17.21",u=200,d="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",p="Expected a function",w="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",g=500,s="__lodash_placeholder__",a=1,h=2,c=4,i=1,l=2,m=1,b=2,x=4,M=8,A=16,_=32,k=64,E=128,O=256,F=512,L=30,H="...",P=800,I=16,T=1,C=2,N=3,j=1/0,U=9007199254740991,K=17976931348623157e292,Z=NaN,te=4294967295,he=te-1,ne=te>>>1,ae=[["ary",E],["bind",m],["bindKey",b],["curry",M],["curryRight",A],["flip",F],["partial",_],["partialRight",k],["rearg",O]],ce="[object Arguments]",ue="[object Array]",ve="[object AsyncFunction]",Ce="[object Boolean]",Ee="[object Date]",Le="[object DOMException]",Xe="[object Error]",Ge="[object Function]",ft="[object GeneratorFunction]",it="[object Map]",gt="[object Number]",sn="[object Null]",vn="[object Object]",Jt="[object Promise]",xr="[object Proxy]",wn="[object RegExp]",Dn="[object Set]",Fn="[object String]",ir="[object Symbol]",xt="[object Undefined]",qe="[object WeakMap]",_e="[object WeakSet]",He="[object ArrayBuffer]",Qe="[object DataView]",mt="[object Float32Array]",Tt="[object Float64Array]",Ct="[object Int8Array]",Pt="[object Int16Array]",Dt="[object Int32Array]",pt="[object Uint8Array]",kt="[object Uint8ClampedArray]",Tn="[object Uint16Array]",Mr="[object Uint32Array]",ei=/\b__p \+= '';/g,Xi=/\b(__p \+=) '' \+/g,$o=/(__e\(.*?\)|\b__t\)) \+\n'';/g,kr=/&(?:amp|lt|gt|quot|#39);/g,Ao=/[&<>"']/g,Jo=RegExp(kr.source),xl=RegExp(Ao.source),gi=/<%-([\s\S]+?)%>/g,kl=/<%([\s\S]+?)%>/g,Ws=/<%=([\s\S]+?)%>/g,Ra=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qi=/^\w*$/,Yn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lr=/[\\^$.*+?()[\]{}|]/g,Zi=RegExp(Lr.source),Ln=/^\s+/,Or=/\s/,go=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ji=/\{\n\/\* \[wrapped with (.+)\] \*/,zs=/,? & /,Ea=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_l=/[()=,{}\[\]\/\s]/,Sl=/\\(\\)?/g,eo=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,mi=/\w*$/,Kt=/^[-+]0x[0-9a-f]+$/i,Ma=/^0b[01]+$/i,Ir=/^\[object .+?Constructor\]$/,Xn=/^0o[0-7]+$/i,bn=/^(?:0|[1-9]\d*)$/,Pn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ai=/($^)/,Nr=/['\n\r\u2028\u2029\\]/g,Ri="\\ud800-\\udfff",es="\\u0300-\\u036f",Hs="\\ufe20-\\ufe2f",mo="\\u20d0-\\u20ff",ti=es+Hs+mo,Ro="\\u2700-\\u27bf",ts="a-z\\xdf-\\xf6\\xf8-\\xff",ni="\\xac\\xb1\\xd7\\xf7",ns="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Us="\\u2000-\\u206f",qs=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rs="A-Z\\xc0-\\xd6\\xd8-\\xde",dr="\\ufe0e\\ufe0f",Vs=ni+ns+Us+qs,Eo="['’]",is="["+Ri+"]",os="["+Vs+"]",yo="["+ti+"]",Ks="\\d+",La="["+Ro+"]",ss="["+ts+"]",as="[^"+Ri+Vs+Ks+Ro+ts+rs+"]",Gs="\\ud83c[\\udffb-\\udfff]",ls="(?:"+yo+"|"+Gs+")",Mo="[^"+Ri+"]",Ei="(?:\\ud83c[\\udde6-\\uddff]){2}",pr="[\\ud800-\\udbff][\\udc00-\\udfff]",vo="["+rs+"]",to="\\u200d",Oa="(?:"+ss+"|"+as+")",Cl="(?:"+vo+"|"+as+")",Lo="(?:"+Eo+"(?:d|ll|m|re|s|t|ve))?",no="(?:"+Eo+"(?:D|LL|M|RE|S|T|VE))?",Oo=ls+"?",cs="["+dr+"]?",Io="(?:"+to+"(?:"+[Mo,Ei,pr].join("|")+")"+cs+Oo+")*",Ia="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",je=cs+Oo+Io,Na="(?:"+[La,Ei,pr].join("|")+")"+je,Fe="(?:"+[Mo+yo+"?",yo,Ei,pr,is].join("|")+")",On=RegExp(Eo,"g"),No=RegExp(yo,"g"),yi=RegExp(Gs+"(?="+Gs+")|"+Fe+je,"g"),Qn=RegExp([vo+"?"+ss+"+"+Lo+"(?="+[os,vo,"$"].join("|")+")",Cl+"+"+no+"(?="+[os,vo+Oa,"$"].join("|")+")",vo+"?"+Oa+"+"+Lo,vo+"+"+no,wo,Ia,Ks,Na].join("|"),"g"),Da=RegExp("["+to+Ri+ti+dr+"]"),Do=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Mi=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],bo=-1,an={};an[mt]=an[Tt]=an[Ct]=an[Pt]=an[Dt]=an[pt]=an[kt]=an[Tn]=an[Mr]=!0,an[ce]=an[ue]=an[He]=an[Ce]=an[Qe]=an[Ee]=an[Xe]=an[Ge]=an[it]=an[gt]=an[vn]=an[wn]=an[Dn]=an[Fn]=an[qe]=!1;var nn={};nn[ce]=nn[ue]=nn[He]=nn[Qe]=nn[Ce]=nn[Ee]=nn[mt]=nn[Tt]=nn[Ct]=nn[Pt]=nn[Dt]=nn[it]=nn[gt]=nn[vn]=nn[wn]=nn[Dn]=nn[Fn]=nn[ir]=nn[pt]=nn[kt]=nn[Tn]=nn[Mr]=!0,nn[Xe]=nn[Ge]=nn[qe]=!1;var ln={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Gt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Li={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Bn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ze=parseFloat,xn=parseInt,_t=typeof Xo=="object"&&Xo&&Xo.Object===Object&&Xo,Hr=typeof self=="object"&&self&&self.Object===Object&&self,fn=_t||Hr||Function("return this")(),Sn=e&&!e.nodeType&&e,or=Sn&&!0&&t&&!t.nodeType&&t,Ur=or&&or.exports===Sn,Oi=Ur&&_t.process,jn=function(){try{var pe=or&&or.require&&or.require("util").types;return pe||Oi&&Oi.binding&&Oi.binding("util")}catch{}}(),ri=jn&&jn.isArrayBuffer,us=jn&&jn.isDate,Wn=jn&&jn.isMap,vi=jn&&jn.isRegExp,wi=jn&&jn.isSet,Ii=jn&&jn.isTypedArray;function gr(pe,Se,xe){switch(xe.length){case 0:return pe.call(Se);case 1:return pe.call(Se,xe[0]);case 2:return pe.call(Se,xe[0],xe[1]);case 3:return pe.call(Se,xe[0],xe[1],xe[2])}return pe.apply(Se,xe)}function mr(pe,Se,xe,Ue){for(var dt=-1,Nt=pe==null?0:pe.length;++dt<Nt;){var en=pe[dt];Se(Ue,en,xe(en),pe)}return Ue}function _r(pe,Se){for(var xe=-1,Ue=pe==null?0:pe.length;++xe<Ue&&Se(pe[xe],xe,pe)!==!1;);return pe}function Ys(pe,Se){for(var xe=pe==null?0:pe.length;xe--&&Se(pe[xe],xe,pe)!==!1;);return pe}function Sr(pe,Se){for(var xe=-1,Ue=pe==null?0:pe.length;++xe<Ue;)if(!Se(pe[xe],xe,pe))return!1;return!0}function Dr(pe,Se){for(var xe=-1,Ue=pe==null?0:pe.length,dt=0,Nt=[];++xe<Ue;){var en=pe[xe];Se(en,xe,pe)&&(Nt[dt++]=en)}return Nt}function bi(pe,Se){var xe=pe==null?0:pe.length;return!!xe&&se(pe,Se,0)>-1}function xi(pe,Se,xe){for(var Ue=-1,dt=pe==null?0:pe.length;++Ue<dt;)if(xe(Se,pe[Ue]))return!0;return!1}function v(pe,Se){for(var xe=-1,Ue=pe==null?0:pe.length,dt=Array(Ue);++xe<Ue;)dt[xe]=Se(pe[xe],xe,pe);return dt}function $(pe,Se){for(var xe=-1,Ue=Se.length,dt=pe.length;++xe<Ue;)pe[dt+xe]=Se[xe];return pe}function S(pe,Se,xe,Ue){var dt=-1,Nt=pe==null?0:pe.length;for(Ue&&Nt&&(xe=pe[++dt]);++dt<Nt;)xe=Se(xe,pe[dt],dt,pe);return xe}function D(pe,Se,xe,Ue){var dt=pe==null?0:pe.length;for(Ue&&dt&&(xe=pe[--dt]);dt--;)xe=Se(xe,pe[dt],dt,pe);return xe}function B(pe,Se){for(var xe=-1,Ue=pe==null?0:pe.length;++xe<Ue;)if(Se(pe[xe],xe,pe))return!0;return!1}var W=we("length");function V(pe){return pe.split("")}function Y(pe){return pe.match(Ea)||[]}function Q(pe,Se,xe){var Ue;return xe(pe,function(dt,Nt,en){if(Se(dt,Nt,en))return Ue=Nt,!1}),Ue}function re(pe,Se,xe,Ue){for(var dt=pe.length,Nt=xe+(Ue?1:-1);Ue?Nt--:++Nt<dt;)if(Se(pe[Nt],Nt,pe))return Nt;return-1}function se(pe,Se,xe){return Se===Se?et(pe,Se,xe):re(pe,ke,xe)}function ye(pe,Se,xe,Ue){for(var dt=xe-1,Nt=pe.length;++dt<Nt;)if(Ue(pe[dt],Se))return dt;return-1}function ke(pe){return pe!==pe}function ge(pe,Se){var xe=pe==null?0:pe.length;return xe?ct(pe,Se)/xe:Z}function we(pe){return function(Se){return Se==null?n:Se[pe]}}function De(pe){return function(Se){return pe==null?n:pe[Se]}}function Ne(pe,Se,xe,Ue,dt){return dt(pe,function(Nt,en,Bt){xe=Ue?(Ue=!1,Nt):Se(xe,Nt,en,Bt)}),xe}function Ve(pe,Se){var xe=pe.length;for(pe.sort(Se);xe--;)pe[xe]=pe[xe].value;return pe}function ct(pe,Se){for(var xe,Ue=-1,dt=pe.length;++Ue<dt;){var Nt=Se(pe[Ue]);Nt!==n&&(xe=xe===n?Nt:xe+Nt)}return xe}function Je(pe,Se){for(var xe=-1,Ue=Array(pe);++xe<pe;)Ue[xe]=Se(xe);return Ue}function rt(pe,Se){return v(Se,function(xe){return[xe,pe[xe]]})}function kn(pe){return pe&&pe.slice(0,zt(pe)+1).replace(Ln,"")}function ht(pe){return function(Se){return pe(Se)}}function $n(pe,Se){return v(Se,function(xe){return pe[xe]})}function $t(pe,Se){return pe.has(Se)}function It(pe,Se){for(var xe=-1,Ue=pe.length;++xe<Ue&&se(Se,pe[xe],0)>-1;);return xe}function sr(pe,Se){for(var xe=pe.length;xe--&&se(Se,pe[xe],0)>-1;);return xe}function yr(pe,Se){for(var xe=pe.length,Ue=0;xe--;)pe[xe]===Se&&++Ue;return Ue}var An=De(ln),q=De(Gt);function X(pe){return"\\"+Bn[pe]}function ie(pe,Se){return pe==null?n:pe[Se]}function oe(pe){return Da.test(pe)}function fe(pe){return Do.test(pe)}function be(pe){for(var Se,xe=[];!(Se=pe.next()).done;)xe.push(Se.value);return xe}function Me(pe){var Se=-1,xe=Array(pe.size);return pe.forEach(function(Ue,dt){xe[++Se]=[dt,Ue]}),xe}function Be(pe,Se){return function(xe){return pe(Se(xe))}}function We(pe,Se){for(var xe=-1,Ue=pe.length,dt=0,Nt=[];++xe<Ue;){var en=pe[xe];(en===Se||en===s)&&(pe[xe]=s,Nt[dt++]=xe)}return Nt}function Ke(pe){var Se=-1,xe=Array(pe.size);return pe.forEach(function(Ue){xe[++Se]=Ue}),xe}function Ze(pe){var Se=-1,xe=Array(pe.size);return pe.forEach(function(Ue){xe[++Se]=[Ue,Ue]}),xe}function et(pe,Se,xe){for(var Ue=xe-1,dt=pe.length;++Ue<dt;)if(pe[Ue]===Se)return Ue;return-1}function St(pe,Se,xe){for(var Ue=xe+1;Ue--;)if(pe[Ue]===Se)return Ue;return Ue}function Ut(pe){return oe(pe)?at(pe):W(pe)}function At(pe){return oe(pe)?yn(pe):V(pe)}function zt(pe){for(var Se=pe.length;Se--&&Or.test(pe.charAt(Se)););return Se}var yt=De(Li);function at(pe){for(var Se=yi.lastIndex=0;yi.test(pe);)++Se;return Se}function yn(pe){return pe.match(yi)||[]}function Rn(pe){return pe.match(Qn)||[]}var ar=function pe(Se){Se=Se==null?fn:Xt.defaults(fn.Object(),Se,Xt.pick(fn,Mi));var xe=Se.Array,Ue=Se.Date,dt=Se.Error,Nt=Se.Function,en=Se.Math,Bt=Se.Object,qr=Se.RegExp,Ni=Se.String,gn=Se.TypeError,vr=xe.prototype,Fo=Nt.prototype,zn=Bt.prototype,Xs=Se["__core-js_shared__"],su=Fo.toString,dn=zn.hasOwnProperty,o2=0,Bb=function(){var o=/[^.]+$/.exec(Xs&&Xs.keys&&Xs.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}(),au=zn.toString,s2=su.call(Bt),a2=fn._,l2=qr("^"+su.call(dn).replace(Lr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),lu=Ur?Se.Buffer:n,hs=Se.Symbol,cu=Se.Uint8Array,jb=lu?lu.allocUnsafe:n,uu=Be(Bt.getPrototypeOf,Bt),Wb=Bt.create,zb=zn.propertyIsEnumerable,hu=vr.splice,Hb=hs?hs.isConcatSpreadable:n,Tl=hs?hs.iterator:n,Qs=hs?hs.toStringTag:n,du=function(){try{var o=na(Bt,"defineProperty");return o({},"",{}),o}catch{}}(),c2=Se.clearTimeout!==fn.clearTimeout&&Se.clearTimeout,u2=Ue&&Ue.now!==fn.Date.now&&Ue.now,h2=Se.setTimeout!==fn.setTimeout&&Se.setTimeout,pu=en.ceil,fu=en.floor,_p=Bt.getOwnPropertySymbols,d2=lu?lu.isBuffer:n,Ub=Se.isFinite,p2=vr.join,f2=Be(Bt.keys,Bt),fr=en.max,Fr=en.min,g2=Ue.now,m2=Se.parseInt,qb=en.random,y2=vr.reverse,Sp=na(Se,"DataView"),$l=na(Se,"Map"),Cp=na(Se,"Promise"),Fa=na(Se,"Set"),Al=na(Se,"WeakMap"),Rl=na(Bt,"create"),gu=Al&&new Al,Pa={},v2=ra(Sp),w2=ra($l),b2=ra(Cp),x2=ra(Fa),k2=ra(Al),mu=hs?hs.prototype:n,El=mu?mu.valueOf:n,Vb=mu?mu.toString:n;function J(o){if(Hn(o)&&!Rt(o)&&!(o instanceof Yt)){if(o instanceof Di)return o;if(dn.call(o,"__wrapped__"))return K0(o)}return new Di(o)}var Ba=function(){function o(){}return function(y){if(!In(y))return{};if(Wb)return Wb(y);o.prototype=y;var R=new o;return o.prototype=n,R}}();function yu(){}function Di(o,y){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!y,this.__index__=0,this.__values__=n}J.templateSettings={escape:gi,evaluate:kl,interpolate:Ws,variable:"",imports:{_:J}},J.prototype=yu.prototype,J.prototype.constructor=J,Di.prototype=Ba(yu.prototype),Di.prototype.constructor=Di;function Yt(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=te,this.__views__=[]}function _2(){var o=new Yt(this.__wrapped__);return o.__actions__=ii(this.__actions__),o.__dir__=this.__dir__,o.__filtered__=this.__filtered__,o.__iteratees__=ii(this.__iteratees__),o.__takeCount__=this.__takeCount__,o.__views__=ii(this.__views__),o}function S2(){if(this.__filtered__){var o=new Yt(this);o.__dir__=-1,o.__filtered__=!0}else o=this.clone(),o.__dir__*=-1;return o}function C2(){var o=this.__wrapped__.value(),y=this.__dir__,R=Rt(o),z=y<0,G=R?o.length:0,ee=FI(0,G,this.__views__),le=ee.start,de=ee.end,me=de-le,Oe=z?de:le-1,Ie=this.__iteratees__,Pe=Ie.length,Ye=0,st=Fr(me,this.__takeCount__);if(!R||!z&&G==me&&st==me)return m0(o,this.__actions__);var wt=[];e:for(;me--&&Ye<st;){Oe+=y;for(var jt=-1,bt=o[Oe];++jt<Pe;){var qt=Ie[jt],Qt=qt.iteratee,Si=qt.type,Gr=Qt(bt);if(Si==C)bt=Gr;else if(!Gr){if(Si==T)continue e;break e}}wt[Ye++]=bt}return wt}Yt.prototype=Ba(yu.prototype),Yt.prototype.constructor=Yt;function Zs(o){var y=-1,R=o==null?0:o.length;for(this.clear();++y<R;){var z=o[y];this.set(z[0],z[1])}}function T2(){this.__data__=Rl?Rl(null):{},this.size=0}function $2(o){var y=this.has(o)&&delete this.__data__[o];return this.size-=y?1:0,y}function A2(o){var y=this.__data__;if(Rl){var R=y[o];return R===f?n:R}return dn.call(y,o)?y[o]:n}function R2(o){var y=this.__data__;return Rl?y[o]!==n:dn.call(y,o)}function E2(o,y){var R=this.__data__;return this.size+=this.has(o)?0:1,R[o]=Rl&&y===n?f:y,this}Zs.prototype.clear=T2,Zs.prototype.delete=$2,Zs.prototype.get=A2,Zs.prototype.has=R2,Zs.prototype.set=E2;function Po(o){var y=-1,R=o==null?0:o.length;for(this.clear();++y<R;){var z=o[y];this.set(z[0],z[1])}}function M2(){this.__data__=[],this.size=0}function L2(o){var y=this.__data__,R=vu(y,o);if(R<0)return!1;var z=y.length-1;return R==z?y.pop():hu.call(y,R,1),--this.size,!0}function O2(o){var y=this.__data__,R=vu(y,o);return R<0?n:y[R][1]}function I2(o){return vu(this.__data__,o)>-1}function N2(o,y){var R=this.__data__,z=vu(R,o);return z<0?(++this.size,R.push([o,y])):R[z][1]=y,this}Po.prototype.clear=M2,Po.prototype.delete=L2,Po.prototype.get=O2,Po.prototype.has=I2,Po.prototype.set=N2;function Bo(o){var y=-1,R=o==null?0:o.length;for(this.clear();++y<R;){var z=o[y];this.set(z[0],z[1])}}function D2(){this.size=0,this.__data__={hash:new Zs,map:new($l||Po),string:new Zs}}function F2(o){var y=Eu(this,o).delete(o);return this.size-=y?1:0,y}function P2(o){return Eu(this,o).get(o)}function B2(o){return Eu(this,o).has(o)}function j2(o,y){var R=Eu(this,o),z=R.size;return R.set(o,y),this.size+=R.size==z?0:1,this}Bo.prototype.clear=D2,Bo.prototype.delete=F2,Bo.prototype.get=P2,Bo.prototype.has=B2,Bo.prototype.set=j2;function Js(o){var y=-1,R=o==null?0:o.length;for(this.__data__=new Bo;++y<R;)this.add(o[y])}function W2(o){return this.__data__.set(o,f),this}function z2(o){return this.__data__.has(o)}Js.prototype.add=Js.prototype.push=W2,Js.prototype.has=z2;function ro(o){var y=this.__data__=new Po(o);this.size=y.size}function H2(){this.__data__=new Po,this.size=0}function U2(o){var y=this.__data__,R=y.delete(o);return this.size=y.size,R}function q2(o){return this.__data__.get(o)}function V2(o){return this.__data__.has(o)}function K2(o,y){var R=this.__data__;if(R instanceof Po){var z=R.__data__;if(!$l||z.length<u-1)return z.push([o,y]),this.size=++R.size,this;R=this.__data__=new Bo(z)}return R.set(o,y),this.size=R.size,this}ro.prototype.clear=H2,ro.prototype.delete=U2,ro.prototype.get=q2,ro.prototype.has=V2,ro.prototype.set=K2;function Kb(o,y){var R=Rt(o),z=!R&&ia(o),G=!R&&!z&&ms(o),ee=!R&&!z&&!G&&Ha(o),le=R||z||G||ee,de=le?Je(o.length,Ni):[],me=de.length;for(var Oe in o)(y||dn.call(o,Oe))&&!(le&&(Oe=="length"||G&&(Oe=="offset"||Oe=="parent")||ee&&(Oe=="buffer"||Oe=="byteLength"||Oe=="byteOffset")||Ho(Oe,me)))&&de.push(Oe);return de}function Gb(o){var y=o.length;return y?o[Dp(0,y-1)]:n}function G2(o,y){return Mu(ii(o),ea(y,0,o.length))}function Y2(o){return Mu(ii(o))}function Tp(o,y,R){(R!==n&&!io(o[y],R)||R===n&&!(y in o))&&jo(o,y,R)}function Ml(o,y,R){var z=o[y];(!(dn.call(o,y)&&io(z,R))||R===n&&!(y in o))&&jo(o,y,R)}function vu(o,y){for(var R=o.length;R--;)if(io(o[R][0],y))return R;return-1}function X2(o,y,R,z){return ds(o,function(G,ee,le){y(z,G,R(G),le)}),z}function Yb(o,y){return o&&ko(y,wr(y),o)}function Q2(o,y){return o&&ko(y,si(y),o)}function jo(o,y,R){y=="__proto__"&&du?du(o,y,{configurable:!0,enumerable:!0,value:R,writable:!0}):o[y]=R}function $p(o,y){for(var R=-1,z=y.length,G=xe(z),ee=o==null;++R<z;)G[R]=ee?n:lf(o,y[R]);return G}function ea(o,y,R){return o===o&&(R!==n&&(o=o<=R?o:R),y!==n&&(o=o>=y?o:y)),o}function Fi(o,y,R,z,G,ee){var le,de=y&a,me=y&h,Oe=y&c;if(R&&(le=G?R(o,z,G,ee):R(o)),le!==n)return le;if(!In(o))return o;var Ie=Rt(o);if(Ie){if(le=BI(o),!de)return ii(o,le)}else{var Pe=Pr(o),Ye=Pe==Ge||Pe==ft;if(ms(o))return w0(o,de);if(Pe==vn||Pe==ce||Ye&&!G){if(le=me||Ye?{}:P0(o),!de)return me?AI(o,Q2(le,o)):$I(o,Yb(le,o))}else{if(!nn[Pe])return G?o:{};le=jI(o,Pe,de)}}ee||(ee=new ro);var st=ee.get(o);if(st)return st;ee.set(o,le),px(o)?o.forEach(function(bt){le.add(Fi(bt,y,R,bt,o,ee))}):hx(o)&&o.forEach(function(bt,qt){le.set(qt,Fi(bt,y,R,qt,o,ee))});var wt=Oe?me?Kp:Vp:me?si:wr,jt=Ie?n:wt(o);return _r(jt||o,function(bt,qt){jt&&(qt=bt,bt=o[qt]),Ml(le,qt,Fi(bt,y,R,qt,o,ee))}),le}function Z2(o){var y=wr(o);return function(R){return Xb(R,o,y)}}function Xb(o,y,R){var z=R.length;if(o==null)return!z;for(o=Bt(o);z--;){var G=R[z],ee=y[G],le=o[G];if(le===n&&!(G in o)||!ee(le))return!1}return!0}function Qb(o,y,R){if(typeof o!="function")throw new gn(p);return Pl(function(){o.apply(n,R)},y)}function Ll(o,y,R,z){var G=-1,ee=bi,le=!0,de=o.length,me=[],Oe=y.length;if(!de)return me;R&&(y=v(y,ht(R))),z?(ee=xi,le=!1):y.length>=u&&(ee=$t,le=!1,y=new Js(y));e:for(;++G<de;){var Ie=o[G],Pe=R==null?Ie:R(Ie);if(Ie=z||Ie!==0?Ie:0,le&&Pe===Pe){for(var Ye=Oe;Ye--;)if(y[Ye]===Pe)continue e;me.push(Ie)}else ee(y,Pe,z)||me.push(Ie)}return me}var ds=S0(xo),Zb=S0(Rp,!0);function J2(o,y){var R=!0;return ds(o,function(z,G,ee){return R=!!y(z,G,ee),R}),R}function wu(o,y,R){for(var z=-1,G=o.length;++z<G;){var ee=o[z],le=y(ee);if(le!=null&&(de===n?le===le&&!_i(le):R(le,de)))var de=le,me=ee}return me}function eI(o,y,R,z){var G=o.length;for(R=Ft(R),R<0&&(R=-R>G?0:G+R),z=z===n||z>G?G:Ft(z),z<0&&(z+=G),z=R>z?0:gx(z);R<z;)o[R++]=y;return o}function Jb(o,y){var R=[];return ds(o,function(z,G,ee){y(z,G,ee)&&R.push(z)}),R}function Cr(o,y,R,z,G){var ee=-1,le=o.length;for(R||(R=zI),G||(G=[]);++ee<le;){var de=o[ee];y>0&&R(de)?y>1?Cr(de,y-1,R,z,G):$(G,de):z||(G[G.length]=de)}return G}var Ap=C0(),e0=C0(!0);function xo(o,y){return o&&Ap(o,y,wr)}function Rp(o,y){return o&&e0(o,y,wr)}function bu(o,y){return Dr(y,function(R){return Uo(o[R])})}function ta(o,y){y=fs(y,o);for(var R=0,z=y.length;o!=null&&R<z;)o=o[_o(y[R++])];return R&&R==z?o:n}function t0(o,y,R){var z=y(o);return Rt(o)?z:$(z,R(o))}function Vr(o){return o==null?o===n?xt:sn:Qs&&Qs in Bt(o)?DI(o):YI(o)}function Ep(o,y){return o>y}function tI(o,y){return o!=null&&dn.call(o,y)}function nI(o,y){return o!=null&&y in Bt(o)}function rI(o,y,R){return o>=Fr(y,R)&&o<fr(y,R)}function Mp(o,y,R){for(var z=R?xi:bi,G=o[0].length,ee=o.length,le=ee,de=xe(ee),me=1/0,Oe=[];le--;){var Ie=o[le];le&&y&&(Ie=v(Ie,ht(y))),me=Fr(Ie.length,me),de[le]=!R&&(y||G>=120&&Ie.length>=120)?new Js(le&&Ie):n}Ie=o[0];var Pe=-1,Ye=de[0];e:for(;++Pe<G&&Oe.length<me;){var st=Ie[Pe],wt=y?y(st):st;if(st=R||st!==0?st:0,!(Ye?$t(Ye,wt):z(Oe,wt,R))){for(le=ee;--le;){var jt=de[le];if(!(jt?$t(jt,wt):z(o[le],wt,R)))continue e}Ye&&Ye.push(wt),Oe.push(st)}}return Oe}function iI(o,y,R,z){return xo(o,function(G,ee,le){y(z,R(G),ee,le)}),z}function Ol(o,y,R){y=fs(y,o),o=z0(o,y);var z=o==null?o:o[_o(Bi(y))];return z==null?n:gr(z,o,R)}function n0(o){return Hn(o)&&Vr(o)==ce}function oI(o){return Hn(o)&&Vr(o)==He}function sI(o){return Hn(o)&&Vr(o)==Ee}function Il(o,y,R,z,G){return o===y?!0:o==null||y==null||!Hn(o)&&!Hn(y)?o!==o&&y!==y:aI(o,y,R,z,Il,G)}function aI(o,y,R,z,G,ee){var le=Rt(o),de=Rt(y),me=le?ue:Pr(o),Oe=de?ue:Pr(y);me=me==ce?vn:me,Oe=Oe==ce?vn:Oe;var Ie=me==vn,Pe=Oe==vn,Ye=me==Oe;if(Ye&&ms(o)){if(!ms(y))return!1;le=!0,Ie=!1}if(Ye&&!Ie)return ee||(ee=new ro),le||Ha(o)?N0(o,y,R,z,G,ee):II(o,y,me,R,z,G,ee);if(!(R&i)){var st=Ie&&dn.call(o,"__wrapped__"),wt=Pe&&dn.call(y,"__wrapped__");if(st||wt){var jt=st?o.value():o,bt=wt?y.value():y;return ee||(ee=new ro),G(jt,bt,R,z,ee)}}return Ye?(ee||(ee=new ro),NI(o,y,R,z,G,ee)):!1}function lI(o){return Hn(o)&&Pr(o)==it}function Lp(o,y,R,z){var G=R.length,ee=G,le=!z;if(o==null)return!ee;for(o=Bt(o);G--;){var de=R[G];if(le&&de[2]?de[1]!==o[de[0]]:!(de[0]in o))return!1}for(;++G<ee;){de=R[G];var me=de[0],Oe=o[me],Ie=de[1];if(le&&de[2]){if(Oe===n&&!(me in o))return!1}else{var Pe=new ro;if(z)var Ye=z(Oe,Ie,me,o,y,Pe);if(!(Ye===n?Il(Ie,Oe,i|l,z,Pe):Ye))return!1}}return!0}function r0(o){if(!In(o)||UI(o))return!1;var y=Uo(o)?l2:Ir;return y.test(ra(o))}function cI(o){return Hn(o)&&Vr(o)==wn}function uI(o){return Hn(o)&&Pr(o)==Dn}function hI(o){return Hn(o)&&Fu(o.length)&&!!an[Vr(o)]}function i0(o){return typeof o=="function"?o:o==null?ai:typeof o=="object"?Rt(o)?a0(o[0],o[1]):s0(o):Tx(o)}function Op(o){if(!Fl(o))return f2(o);var y=[];for(var R in Bt(o))dn.call(o,R)&&R!="constructor"&&y.push(R);return y}function dI(o){if(!In(o))return GI(o);var y=Fl(o),R=[];for(var z in o)z=="constructor"&&(y||!dn.call(o,z))||R.push(z);return R}function Ip(o,y){return o<y}function o0(o,y){var R=-1,z=oi(o)?xe(o.length):[];return ds(o,function(G,ee,le){z[++R]=y(G,ee,le)}),z}function s0(o){var y=Yp(o);return y.length==1&&y[0][2]?j0(y[0][0],y[0][1]):function(R){return R===o||Lp(R,o,y)}}function a0(o,y){return Qp(o)&&B0(y)?j0(_o(o),y):function(R){var z=lf(R,o);return z===n&&z===y?cf(R,o):Il(y,z,i|l)}}function xu(o,y,R,z,G){o!==y&&Ap(y,function(ee,le){if(G||(G=new ro),In(ee))pI(o,y,le,R,xu,z,G);else{var de=z?z(Jp(o,le),ee,le+"",o,y,G):n;de===n&&(de=ee),Tp(o,le,de)}},si)}function pI(o,y,R,z,G,ee,le){var de=Jp(o,R),me=Jp(y,R),Oe=le.get(me);if(Oe){Tp(o,R,Oe);return}var Ie=ee?ee(de,me,R+"",o,y,le):n,Pe=Ie===n;if(Pe){var Ye=Rt(me),st=!Ye&&ms(me),wt=!Ye&&!st&&Ha(me);Ie=me,Ye||st||wt?Rt(de)?Ie=de:Zn(de)?Ie=ii(de):st?(Pe=!1,Ie=w0(me,!0)):wt?(Pe=!1,Ie=b0(me,!0)):Ie=[]:Bl(me)||ia(me)?(Ie=de,ia(de)?Ie=mx(de):(!In(de)||Uo(de))&&(Ie=P0(me))):Pe=!1}Pe&&(le.set(me,Ie),G(Ie,me,z,ee,le),le.delete(me)),Tp(o,R,Ie)}function l0(o,y){var R=o.length;if(R)return y+=y<0?R:0,Ho(y,R)?o[y]:n}function c0(o,y,R){y.length?y=v(y,function(ee){return Rt(ee)?function(le){return ta(le,ee.length===1?ee[0]:ee)}:ee}):y=[ai];var z=-1;y=v(y,ht(vt()));var G=o0(o,function(ee,le,de){var me=v(y,function(Oe){return Oe(ee)});return{criteria:me,index:++z,value:ee}});return Ve(G,function(ee,le){return TI(ee,le,R)})}function fI(o,y){return u0(o,y,function(R,z){return cf(o,z)})}function u0(o,y,R){for(var z=-1,G=y.length,ee={};++z<G;){var le=y[z],de=ta(o,le);R(de,le)&&Nl(ee,fs(le,o),de)}return ee}function gI(o){return function(y){return ta(y,o)}}function Np(o,y,R,z){var G=z?ye:se,ee=-1,le=y.length,de=o;for(o===y&&(y=ii(y)),R&&(de=v(o,ht(R)));++ee<le;)for(var me=0,Oe=y[ee],Ie=R?R(Oe):Oe;(me=G(de,Ie,me,z))>-1;)de!==o&&hu.call(de,me,1),hu.call(o,me,1);return o}function h0(o,y){for(var R=o?y.length:0,z=R-1;R--;){var G=y[R];if(R==z||G!==ee){var ee=G;Ho(G)?hu.call(o,G,1):Bp(o,G)}}return o}function Dp(o,y){return o+fu(qb()*(y-o+1))}function mI(o,y,R,z){for(var G=-1,ee=fr(pu((y-o)/(R||1)),0),le=xe(ee);ee--;)le[z?ee:++G]=o,o+=R;return le}function Fp(o,y){var R="";if(!o||y<1||y>U)return R;do y%2&&(R+=o),y=fu(y/2),y&&(o+=o);while(y);return R}function Ht(o,y){return ef(W0(o,y,ai),o+"")}function yI(o){return Gb(Ua(o))}function vI(o,y){var R=Ua(o);return Mu(R,ea(y,0,R.length))}function Nl(o,y,R,z){if(!In(o))return o;y=fs(y,o);for(var G=-1,ee=y.length,le=ee-1,de=o;de!=null&&++G<ee;){var me=_o(y[G]),Oe=R;if(me==="__proto__"||me==="constructor"||me==="prototype")return o;if(G!=le){var Ie=de[me];Oe=z?z(Ie,me,de):n,Oe===n&&(Oe=In(Ie)?Ie:Ho(y[G+1])?[]:{})}Ml(de,me,Oe),de=de[me]}return o}var d0=gu?function(o,y){return gu.set(o,y),o}:ai,wI=du?function(o,y){return du(o,"toString",{configurable:!0,enumerable:!1,value:hf(y),writable:!0})}:ai;function bI(o){return Mu(Ua(o))}function Pi(o,y,R){var z=-1,G=o.length;y<0&&(y=-y>G?0:G+y),R=R>G?G:R,R<0&&(R+=G),G=y>R?0:R-y>>>0,y>>>=0;for(var ee=xe(G);++z<G;)ee[z]=o[z+y];return ee}function xI(o,y){var R;return ds(o,function(z,G,ee){return R=y(z,G,ee),!R}),!!R}function ku(o,y,R){var z=0,G=o==null?z:o.length;if(typeof y=="number"&&y===y&&G<=ne){for(;z<G;){var ee=z+G>>>1,le=o[ee];le!==null&&!_i(le)&&(R?le<=y:le<y)?z=ee+1:G=ee}return G}return Pp(o,y,ai,R)}function Pp(o,y,R,z){var G=0,ee=o==null?0:o.length;if(ee===0)return 0;y=R(y);for(var le=y!==y,de=y===null,me=_i(y),Oe=y===n;G<ee;){var Ie=fu((G+ee)/2),Pe=R(o[Ie]),Ye=Pe!==n,st=Pe===null,wt=Pe===Pe,jt=_i(Pe);if(le)var bt=z||wt;else Oe?bt=wt&&(z||Ye):de?bt=wt&&Ye&&(z||!st):me?bt=wt&&Ye&&!st&&(z||!jt):st||jt?bt=!1:bt=z?Pe<=y:Pe<y;bt?G=Ie+1:ee=Ie}return Fr(ee,he)}function p0(o,y){for(var R=-1,z=o.length,G=0,ee=[];++R<z;){var le=o[R],de=y?y(le):le;if(!R||!io(de,me)){var me=de;ee[G++]=le===0?0:le}}return ee}function f0(o){return typeof o=="number"?o:_i(o)?Z:+o}function ki(o){if(typeof o=="string")return o;if(Rt(o))return v(o,ki)+"";if(_i(o))return Vb?Vb.call(o):"";var y=o+"";return y=="0"&&1/o==-1/0?"-0":y}function ps(o,y,R){var z=-1,G=bi,ee=o.length,le=!0,de=[],me=de;if(R)le=!1,G=xi;else if(ee>=u){var Oe=y?null:LI(o);if(Oe)return Ke(Oe);le=!1,G=$t,me=new Js}else me=y?[]:de;e:for(;++z<ee;){var Ie=o[z],Pe=y?y(Ie):Ie;if(Ie=R||Ie!==0?Ie:0,le&&Pe===Pe){for(var Ye=me.length;Ye--;)if(me[Ye]===Pe)continue e;y&&me.push(Pe),de.push(Ie)}else G(me,Pe,R)||(me!==de&&me.push(Pe),de.push(Ie))}return de}function Bp(o,y){return y=fs(y,o),o=z0(o,y),o==null||delete o[_o(Bi(y))]}function g0(o,y,R,z){return Nl(o,y,R(ta(o,y)),z)}function _u(o,y,R,z){for(var G=o.length,ee=z?G:-1;(z?ee--:++ee<G)&&y(o[ee],ee,o););return R?Pi(o,z?0:ee,z?ee+1:G):Pi(o,z?ee+1:0,z?G:ee)}function m0(o,y){var R=o;return R instanceof Yt&&(R=R.value()),S(y,function(z,G){return G.func.apply(G.thisArg,$([z],G.args))},R)}function jp(o,y,R){var z=o.length;if(z<2)return z?ps(o[0]):[];for(var G=-1,ee=xe(z);++G<z;)for(var le=o[G],de=-1;++de<z;)de!=G&&(ee[G]=Ll(ee[G]||le,o[de],y,R));return ps(Cr(ee,1),y,R)}function y0(o,y,R){for(var z=-1,G=o.length,ee=y.length,le={};++z<G;){var de=z<ee?y[z]:n;R(le,o[z],de)}return le}function Wp(o){return Zn(o)?o:[]}function zp(o){return typeof o=="function"?o:ai}function fs(o,y){return Rt(o)?o:Qp(o,y)?[o]:V0(un(o))}var kI=Ht;function gs(o,y,R){var z=o.length;return R=R===n?z:R,!y&&R>=z?o:Pi(o,y,R)}var v0=c2||function(o){return fn.clearTimeout(o)};function w0(o,y){if(y)return o.slice();var R=o.length,z=jb?jb(R):new o.constructor(R);return o.copy(z),z}function Hp(o){var y=new o.constructor(o.byteLength);return new cu(y).set(new cu(o)),y}function _I(o,y){var R=y?Hp(o.buffer):o.buffer;return new o.constructor(R,o.byteOffset,o.byteLength)}function SI(o){var y=new o.constructor(o.source,mi.exec(o));return y.lastIndex=o.lastIndex,y}function CI(o){return El?Bt(El.call(o)):{}}function b0(o,y){var R=y?Hp(o.buffer):o.buffer;return new o.constructor(R,o.byteOffset,o.length)}function x0(o,y){if(o!==y){var R=o!==n,z=o===null,G=o===o,ee=_i(o),le=y!==n,de=y===null,me=y===y,Oe=_i(y);if(!de&&!Oe&&!ee&&o>y||ee&&le&&me&&!de&&!Oe||z&&le&&me||!R&&me||!G)return 1;if(!z&&!ee&&!Oe&&o<y||Oe&&R&&G&&!z&&!ee||de&&R&&G||!le&&G||!me)return-1}return 0}function TI(o,y,R){for(var z=-1,G=o.criteria,ee=y.criteria,le=G.length,de=R.length;++z<le;){var me=x0(G[z],ee[z]);if(me){if(z>=de)return me;var Oe=R[z];return me*(Oe=="desc"?-1:1)}}return o.index-y.index}function k0(o,y,R,z){for(var G=-1,ee=o.length,le=R.length,de=-1,me=y.length,Oe=fr(ee-le,0),Ie=xe(me+Oe),Pe=!z;++de<me;)Ie[de]=y[de];for(;++G<le;)(Pe||G<ee)&&(Ie[R[G]]=o[G]);for(;Oe--;)Ie[de++]=o[G++];return Ie}function _0(o,y,R,z){for(var G=-1,ee=o.length,le=-1,de=R.length,me=-1,Oe=y.length,Ie=fr(ee-de,0),Pe=xe(Ie+Oe),Ye=!z;++G<Ie;)Pe[G]=o[G];for(var st=G;++me<Oe;)Pe[st+me]=y[me];for(;++le<de;)(Ye||G<ee)&&(Pe[st+R[le]]=o[G++]);return Pe}function ii(o,y){var R=-1,z=o.length;for(y||(y=xe(z));++R<z;)y[R]=o[R];return y}function ko(o,y,R,z){var G=!R;R||(R={});for(var ee=-1,le=y.length;++ee<le;){var de=y[ee],me=z?z(R[de],o[de],de,R,o):n;me===n&&(me=o[de]),G?jo(R,de,me):Ml(R,de,me)}return R}function $I(o,y){return ko(o,Xp(o),y)}function AI(o,y){return ko(o,D0(o),y)}function Su(o,y){return function(R,z){var G=Rt(R)?mr:X2,ee=y?y():{};return G(R,o,vt(z,2),ee)}}function ja(o){return Ht(function(y,R){var z=-1,G=R.length,ee=G>1?R[G-1]:n,le=G>2?R[2]:n;for(ee=o.length>3&&typeof ee=="function"?(G--,ee):n,le&&Kr(R[0],R[1],le)&&(ee=G<3?n:ee,G=1),y=Bt(y);++z<G;){var de=R[z];de&&o(y,de,z,ee)}return y})}function S0(o,y){return function(R,z){if(R==null)return R;if(!oi(R))return o(R,z);for(var G=R.length,ee=y?G:-1,le=Bt(R);(y?ee--:++ee<G)&&z(le[ee],ee,le)!==!1;);return R}}function C0(o){return function(y,R,z){for(var G=-1,ee=Bt(y),le=z(y),de=le.length;de--;){var me=le[o?de:++G];if(R(ee[me],me,ee)===!1)break}return y}}function RI(o,y,R){var z=y&m,G=Dl(o);function ee(){var le=this&&this!==fn&&this instanceof ee?G:o;return le.apply(z?R:this,arguments)}return ee}function T0(o){return function(y){y=un(y);var R=oe(y)?At(y):n,z=R?R[0]:y.charAt(0),G=R?gs(R,1).join(""):y.slice(1);return z[o]()+G}}function Wa(o){return function(y){return S(Sx(_x(y).replace(On,"")),o,"")}}function Dl(o){return function(){var y=arguments;switch(y.length){case 0:return new o;case 1:return new o(y[0]);case 2:return new o(y[0],y[1]);case 3:return new o(y[0],y[1],y[2]);case 4:return new o(y[0],y[1],y[2],y[3]);case 5:return new o(y[0],y[1],y[2],y[3],y[4]);case 6:return new o(y[0],y[1],y[2],y[3],y[4],y[5]);case 7:return new o(y[0],y[1],y[2],y[3],y[4],y[5],y[6])}var R=Ba(o.prototype),z=o.apply(R,y);return In(z)?z:R}}function EI(o,y,R){var z=Dl(o);function G(){for(var ee=arguments.length,le=xe(ee),de=ee,me=za(G);de--;)le[de]=arguments[de];var Oe=ee<3&&le[0]!==me&&le[ee-1]!==me?[]:We(le,me);if(ee-=Oe.length,ee<R)return M0(o,y,Cu,G.placeholder,n,le,Oe,n,n,R-ee);var Ie=this&&this!==fn&&this instanceof G?z:o;return gr(Ie,this,le)}return G}function $0(o){return function(y,R,z){var G=Bt(y);if(!oi(y)){var ee=vt(R,3);y=wr(y),R=function(de){return ee(G[de],de,G)}}var le=o(y,R,z);return le>-1?G[ee?y[le]:le]:n}}function A0(o){return zo(function(y){var R=y.length,z=R,G=Di.prototype.thru;for(o&&y.reverse();z--;){var ee=y[z];if(typeof ee!="function")throw new gn(p);if(G&&!le&&Ru(ee)=="wrapper")var le=new Di([],!0)}for(z=le?z:R;++z<R;){ee=y[z];var de=Ru(ee),me=de=="wrapper"?Gp(ee):n;me&&Zp(me[0])&&me[1]==(E|M|_|O)&&!me[4].length&&me[9]==1?le=le[Ru(me[0])].apply(le,me[3]):le=ee.length==1&&Zp(ee)?le[de]():le.thru(ee)}return function(){var Oe=arguments,Ie=Oe[0];if(le&&Oe.length==1&&Rt(Ie))return le.plant(Ie).value();for(var Pe=0,Ye=R?y[Pe].apply(this,Oe):Ie;++Pe<R;)Ye=y[Pe].call(this,Ye);return Ye}})}function Cu(o,y,R,z,G,ee,le,de,me,Oe){var Ie=y&E,Pe=y&m,Ye=y&b,st=y&(M|A),wt=y&F,jt=Ye?n:Dl(o);function bt(){for(var qt=arguments.length,Qt=xe(qt),Si=qt;Si--;)Qt[Si]=arguments[Si];if(st)var Gr=za(bt),Ci=yr(Qt,Gr);if(z&&(Qt=k0(Qt,z,G,st)),ee&&(Qt=_0(Qt,ee,le,st)),qt-=Ci,st&&qt<Oe){var Jn=We(Qt,Gr);return M0(o,y,Cu,bt.placeholder,R,Qt,Jn,de,me,Oe-qt)}var oo=Pe?R:this,Vo=Ye?oo[o]:o;return qt=Qt.length,de?Qt=XI(Qt,de):wt&&qt>1&&Qt.reverse(),Ie&&me<qt&&(Qt.length=me),this&&this!==fn&&this instanceof bt&&(Vo=jt||Dl(Vo)),Vo.apply(oo,Qt)}return bt}function R0(o,y){return function(R,z){return iI(R,o,y(z),{})}}function Tu(o,y){return function(R,z){var G;if(R===n&&z===n)return y;if(R!==n&&(G=R),z!==n){if(G===n)return z;typeof R=="string"||typeof z=="string"?(R=ki(R),z=ki(z)):(R=f0(R),z=f0(z)),G=o(R,z)}return G}}function Up(o){return zo(function(y){return y=v(y,ht(vt())),Ht(function(R){var z=this;return o(y,function(G){return gr(G,z,R)})})})}function $u(o,y){y=y===n?" ":ki(y);var R=y.length;if(R<2)return R?Fp(y,o):y;var z=Fp(y,pu(o/Ut(y)));return oe(y)?gs(At(z),0,o).join(""):z.slice(0,o)}function MI(o,y,R,z){var G=y&m,ee=Dl(o);function le(){for(var de=-1,me=arguments.length,Oe=-1,Ie=z.length,Pe=xe(Ie+me),Ye=this&&this!==fn&&this instanceof le?ee:o;++Oe<Ie;)Pe[Oe]=z[Oe];for(;me--;)Pe[Oe++]=arguments[++de];return gr(Ye,G?R:this,Pe)}return le}function E0(o){return function(y,R,z){return z&&typeof z!="number"&&Kr(y,R,z)&&(R=z=n),y=qo(y),R===n?(R=y,y=0):R=qo(R),z=z===n?y<R?1:-1:qo(z),mI(y,R,z,o)}}function Au(o){return function(y,R){return typeof y=="string"&&typeof R=="string"||(y=ji(y),R=ji(R)),o(y,R)}}function M0(o,y,R,z,G,ee,le,de,me,Oe){var Ie=y&M,Pe=Ie?le:n,Ye=Ie?n:le,st=Ie?ee:n,wt=Ie?n:ee;y|=Ie?_:k,y&=~(Ie?k:_),y&x||(y&=-4);var jt=[o,y,G,st,Pe,wt,Ye,de,me,Oe],bt=R.apply(n,jt);return Zp(o)&&H0(bt,jt),bt.placeholder=z,U0(bt,o,y)}function qp(o){var y=en[o];return function(R,z){if(R=ji(R),z=z==null?0:Fr(Ft(z),292),z&&Ub(R)){var G=(un(R)+"e").split("e"),ee=y(G[0]+"e"+(+G[1]+z));return G=(un(ee)+"e").split("e"),+(G[0]+"e"+(+G[1]-z))}return y(R)}}var LI=Fa&&1/Ke(new Fa([,-0]))[1]==j?function(o){return new Fa(o)}:ff;function L0(o){return function(y){var R=Pr(y);return R==it?Me(y):R==Dn?Ze(y):rt(y,o(y))}}function Wo(o,y,R,z,G,ee,le,de){var me=y&b;if(!me&&typeof o!="function")throw new gn(p);var Oe=z?z.length:0;if(Oe||(y&=-97,z=G=n),le=le===n?le:fr(Ft(le),0),de=de===n?de:Ft(de),Oe-=G?G.length:0,y&k){var Ie=z,Pe=G;z=G=n}var Ye=me?n:Gp(o),st=[o,y,R,z,G,Ie,Pe,ee,le,de];if(Ye&&KI(st,Ye),o=st[0],y=st[1],R=st[2],z=st[3],G=st[4],de=st[9]=st[9]===n?me?0:o.length:fr(st[9]-Oe,0),!de&&y&(M|A)&&(y&=-25),!y||y==m)var wt=RI(o,y,R);else y==M||y==A?wt=EI(o,y,de):(y==_||y==(m|_))&&!G.length?wt=MI(o,y,R,z):wt=Cu.apply(n,st);var jt=Ye?d0:H0;return U0(jt(wt,st),o,y)}function O0(o,y,R,z){return o===n||io(o,zn[R])&&!dn.call(z,R)?y:o}function I0(o,y,R,z,G,ee){return In(o)&&In(y)&&(ee.set(y,o),xu(o,y,n,I0,ee),ee.delete(y)),o}function OI(o){return Bl(o)?n:o}function N0(o,y,R,z,G,ee){var le=R&i,de=o.length,me=y.length;if(de!=me&&!(le&&me>de))return!1;var Oe=ee.get(o),Ie=ee.get(y);if(Oe&&Ie)return Oe==y&&Ie==o;var Pe=-1,Ye=!0,st=R&l?new Js:n;for(ee.set(o,y),ee.set(y,o);++Pe<de;){var wt=o[Pe],jt=y[Pe];if(z)var bt=le?z(jt,wt,Pe,y,o,ee):z(wt,jt,Pe,o,y,ee);if(bt!==n){if(bt)continue;Ye=!1;break}if(st){if(!B(y,function(qt,Qt){if(!$t(st,Qt)&&(wt===qt||G(wt,qt,R,z,ee)))return st.push(Qt)})){Ye=!1;break}}else if(!(wt===jt||G(wt,jt,R,z,ee))){Ye=!1;break}}return ee.delete(o),ee.delete(y),Ye}function II(o,y,R,z,G,ee,le){switch(R){case Qe:if(o.byteLength!=y.byteLength||o.byteOffset!=y.byteOffset)return!1;o=o.buffer,y=y.buffer;case He:return!(o.byteLength!=y.byteLength||!ee(new cu(o),new cu(y)));case Ce:case Ee:case gt:return io(+o,+y);case Xe:return o.name==y.name&&o.message==y.message;case wn:case Fn:return o==y+"";case it:var de=Me;case Dn:var me=z&i;if(de||(de=Ke),o.size!=y.size&&!me)return!1;var Oe=le.get(o);if(Oe)return Oe==y;z|=l,le.set(o,y);var Ie=N0(de(o),de(y),z,G,ee,le);return le.delete(o),Ie;case ir:if(El)return El.call(o)==El.call(y)}return!1}function NI(o,y,R,z,G,ee){var le=R&i,de=Vp(o),me=de.length,Oe=Vp(y),Ie=Oe.length;if(me!=Ie&&!le)return!1;for(var Pe=me;Pe--;){var Ye=de[Pe];if(!(le?Ye in y:dn.call(y,Ye)))return!1}var st=ee.get(o),wt=ee.get(y);if(st&&wt)return st==y&&wt==o;var jt=!0;ee.set(o,y),ee.set(y,o);for(var bt=le;++Pe<me;){Ye=de[Pe];var qt=o[Ye],Qt=y[Ye];if(z)var Si=le?z(Qt,qt,Ye,y,o,ee):z(qt,Qt,Ye,o,y,ee);if(!(Si===n?qt===Qt||G(qt,Qt,R,z,ee):Si)){jt=!1;break}bt||(bt=Ye=="constructor")}if(jt&&!bt){var Gr=o.constructor,Ci=y.constructor;Gr!=Ci&&"constructor"in o&&"constructor"in y&&!(typeof Gr=="function"&&Gr instanceof Gr&&typeof Ci=="function"&&Ci instanceof Ci)&&(jt=!1)}return ee.delete(o),ee.delete(y),jt}function zo(o){return ef(W0(o,n,X0),o+"")}function Vp(o){return t0(o,wr,Xp)}function Kp(o){return t0(o,si,D0)}var Gp=gu?function(o){return gu.get(o)}:ff;function Ru(o){for(var y=o.name+"",R=Pa[y],z=dn.call(Pa,y)?R.length:0;z--;){var G=R[z],ee=G.func;if(ee==null||ee==o)return G.name}return y}function za(o){var y=dn.call(J,"placeholder")?J:o;return y.placeholder}function vt(){var o=J.iteratee||df;return o=o===df?i0:o,arguments.length?o(arguments[0],arguments[1]):o}function Eu(o,y){var R=o.__data__;return HI(y)?R[typeof y=="string"?"string":"hash"]:R.map}function Yp(o){for(var y=wr(o),R=y.length;R--;){var z=y[R],G=o[z];y[R]=[z,G,B0(G)]}return y}function na(o,y){var R=ie(o,y);return r0(R)?R:n}function DI(o){var y=dn.call(o,Qs),R=o[Qs];try{o[Qs]=n;var z=!0}catch{}var G=au.call(o);return z&&(y?o[Qs]=R:delete o[Qs]),G}var Xp=_p?function(o){return o==null?[]:(o=Bt(o),Dr(_p(o),function(y){return zb.call(o,y)}))}:gf,D0=_p?function(o){for(var y=[];o;)$(y,Xp(o)),o=uu(o);return y}:gf,Pr=Vr;(Sp&&Pr(new Sp(new ArrayBuffer(1)))!=Qe||$l&&Pr(new $l)!=it||Cp&&Pr(Cp.resolve())!=Jt||Fa&&Pr(new Fa)!=Dn||Al&&Pr(new Al)!=qe)&&(Pr=function(o){var y=Vr(o),R=y==vn?o.constructor:n,z=R?ra(R):"";if(z)switch(z){case v2:return Qe;case w2:return it;case b2:return Jt;case x2:return Dn;case k2:return qe}return y});function FI(o,y,R){for(var z=-1,G=R.length;++z<G;){var ee=R[z],le=ee.size;switch(ee.type){case"drop":o+=le;break;case"dropRight":y-=le;break;case"take":y=Fr(y,o+le);break;case"takeRight":o=fr(o,y-le);break}}return{start:o,end:y}}function PI(o){var y=o.match(Ji);return y?y[1].split(zs):[]}function F0(o,y,R){y=fs(y,o);for(var z=-1,G=y.length,ee=!1;++z<G;){var le=_o(y[z]);if(!(ee=o!=null&&R(o,le)))break;o=o[le]}return ee||++z!=G?ee:(G=o==null?0:o.length,!!G&&Fu(G)&&Ho(le,G)&&(Rt(o)||ia(o)))}function BI(o){var y=o.length,R=new o.constructor(y);return y&&typeof o[0]=="string"&&dn.call(o,"index")&&(R.index=o.index,R.input=o.input),R}function P0(o){return typeof o.constructor=="function"&&!Fl(o)?Ba(uu(o)):{}}function jI(o,y,R){var z=o.constructor;switch(y){case He:return Hp(o);case Ce:case Ee:return new z(+o);case Qe:return _I(o,R);case mt:case Tt:case Ct:case Pt:case Dt:case pt:case kt:case Tn:case Mr:return b0(o,R);case it:return new z;case gt:case Fn:return new z(o);case wn:return SI(o);case Dn:return new z;case ir:return CI(o)}}function WI(o,y){var R=y.length;if(!R)return o;var z=R-1;return y[z]=(R>1?"& ":"")+y[z],y=y.join(R>2?", ":" "),o.replace(go,`{
1471
+ /* [wrapped with `+y+`] */
1472
+ `)}function zI(o){return Rt(o)||ia(o)||!!(Hb&&o&&o[Hb])}function Ho(o,y){var R=typeof o;return y=y??U,!!y&&(R=="number"||R!="symbol"&&bn.test(o))&&o>-1&&o%1==0&&o<y}function Kr(o,y,R){if(!In(R))return!1;var z=typeof y;return(z=="number"?oi(R)&&Ho(y,R.length):z=="string"&&y in R)?io(R[y],o):!1}function Qp(o,y){if(Rt(o))return!1;var R=typeof o;return R=="number"||R=="symbol"||R=="boolean"||o==null||_i(o)?!0:Qi.test(o)||!Ra.test(o)||y!=null&&o in Bt(y)}function HI(o){var y=typeof o;return y=="string"||y=="number"||y=="symbol"||y=="boolean"?o!=="__proto__":o===null}function Zp(o){var y=Ru(o),R=J[y];if(typeof R!="function"||!(y in Yt.prototype))return!1;if(o===R)return!0;var z=Gp(R);return!!z&&o===z[0]}function UI(o){return!!Bb&&Bb in o}var qI=Xs?Uo:mf;function Fl(o){var y=o&&o.constructor,R=typeof y=="function"&&y.prototype||zn;return o===R}function B0(o){return o===o&&!In(o)}function j0(o,y){return function(R){return R==null?!1:R[o]===y&&(y!==n||o in Bt(R))}}function VI(o){var y=Nu(o,function(z){return R.size===g&&R.clear(),z}),R=y.cache;return y}function KI(o,y){var R=o[1],z=y[1],G=R|z,ee=G<(m|b|E),le=z==E&&R==M||z==E&&R==O&&o[7].length<=y[8]||z==(E|O)&&y[7].length<=y[8]&&R==M;if(!(ee||le))return o;z&m&&(o[2]=y[2],G|=R&m?0:x);var de=y[3];if(de){var me=o[3];o[3]=me?k0(me,de,y[4]):de,o[4]=me?We(o[3],s):y[4]}return de=y[5],de&&(me=o[5],o[5]=me?_0(me,de,y[6]):de,o[6]=me?We(o[5],s):y[6]),de=y[7],de&&(o[7]=de),z&E&&(o[8]=o[8]==null?y[8]:Fr(o[8],y[8])),o[9]==null&&(o[9]=y[9]),o[0]=y[0],o[1]=G,o}function GI(o){var y=[];if(o!=null)for(var R in Bt(o))y.push(R);return y}function YI(o){return au.call(o)}function W0(o,y,R){return y=fr(y===n?o.length-1:y,0),function(){for(var z=arguments,G=-1,ee=fr(z.length-y,0),le=xe(ee);++G<ee;)le[G]=z[y+G];G=-1;for(var de=xe(y+1);++G<y;)de[G]=z[G];return de[y]=R(le),gr(o,this,de)}}function z0(o,y){return y.length<2?o:ta(o,Pi(y,0,-1))}function XI(o,y){for(var R=o.length,z=Fr(y.length,R),G=ii(o);z--;){var ee=y[z];o[z]=Ho(ee,R)?G[ee]:n}return o}function Jp(o,y){if(!(y==="constructor"&&typeof o[y]=="function")&&y!="__proto__")return o[y]}var H0=q0(d0),Pl=h2||function(o,y){return fn.setTimeout(o,y)},ef=q0(wI);function U0(o,y,R){var z=y+"";return ef(o,WI(z,QI(PI(z),R)))}function q0(o){var y=0,R=0;return function(){var z=g2(),G=I-(z-R);if(R=z,G>0){if(++y>=P)return arguments[0]}else y=0;return o.apply(n,arguments)}}function Mu(o,y){var R=-1,z=o.length,G=z-1;for(y=y===n?z:y;++R<y;){var ee=Dp(R,G),le=o[ee];o[ee]=o[R],o[R]=le}return o.length=y,o}var V0=VI(function(o){var y=[];return o.charCodeAt(0)===46&&y.push(""),o.replace(Yn,function(R,z,G,ee){y.push(G?ee.replace(Sl,"$1"):z||R)}),y});function _o(o){if(typeof o=="string"||_i(o))return o;var y=o+"";return y=="0"&&1/o==-1/0?"-0":y}function ra(o){if(o!=null){try{return su.call(o)}catch{}try{return o+""}catch{}}return""}function QI(o,y){return _r(ae,function(R){var z="_."+R[0];y&R[1]&&!bi(o,z)&&o.push(z)}),o.sort()}function K0(o){if(o instanceof Yt)return o.clone();var y=new Di(o.__wrapped__,o.__chain__);return y.__actions__=ii(o.__actions__),y.__index__=o.__index__,y.__values__=o.__values__,y}function ZI(o,y,R){(R?Kr(o,y,R):y===n)?y=1:y=fr(Ft(y),0);var z=o==null?0:o.length;if(!z||y<1)return[];for(var G=0,ee=0,le=xe(pu(z/y));G<z;)le[ee++]=Pi(o,G,G+=y);return le}function JI(o){for(var y=-1,R=o==null?0:o.length,z=0,G=[];++y<R;){var ee=o[y];ee&&(G[z++]=ee)}return G}function eN(){var o=arguments.length;if(!o)return[];for(var y=xe(o-1),R=arguments[0],z=o;z--;)y[z-1]=arguments[z];return $(Rt(R)?ii(R):[R],Cr(y,1))}var tN=Ht(function(o,y){return Zn(o)?Ll(o,Cr(y,1,Zn,!0)):[]}),nN=Ht(function(o,y){var R=Bi(y);return Zn(R)&&(R=n),Zn(o)?Ll(o,Cr(y,1,Zn,!0),vt(R,2)):[]}),rN=Ht(function(o,y){var R=Bi(y);return Zn(R)&&(R=n),Zn(o)?Ll(o,Cr(y,1,Zn,!0),n,R):[]});function iN(o,y,R){var z=o==null?0:o.length;return z?(y=R||y===n?1:Ft(y),Pi(o,y<0?0:y,z)):[]}function oN(o,y,R){var z=o==null?0:o.length;return z?(y=R||y===n?1:Ft(y),y=z-y,Pi(o,0,y<0?0:y)):[]}function sN(o,y){return o&&o.length?_u(o,vt(y,3),!0,!0):[]}function aN(o,y){return o&&o.length?_u(o,vt(y,3),!0):[]}function lN(o,y,R,z){var G=o==null?0:o.length;return G?(R&&typeof R!="number"&&Kr(o,y,R)&&(R=0,z=G),eI(o,y,R,z)):[]}function G0(o,y,R){var z=o==null?0:o.length;if(!z)return-1;var G=R==null?0:Ft(R);return G<0&&(G=fr(z+G,0)),re(o,vt(y,3),G)}function Y0(o,y,R){var z=o==null?0:o.length;if(!z)return-1;var G=z-1;return R!==n&&(G=Ft(R),G=R<0?fr(z+G,0):Fr(G,z-1)),re(o,vt(y,3),G,!0)}function X0(o){var y=o==null?0:o.length;return y?Cr(o,1):[]}function cN(o){var y=o==null?0:o.length;return y?Cr(o,j):[]}function uN(o,y){var R=o==null?0:o.length;return R?(y=y===n?1:Ft(y),Cr(o,y)):[]}function hN(o){for(var y=-1,R=o==null?0:o.length,z={};++y<R;){var G=o[y];z[G[0]]=G[1]}return z}function Q0(o){return o&&o.length?o[0]:n}function dN(o,y,R){var z=o==null?0:o.length;if(!z)return-1;var G=R==null?0:Ft(R);return G<0&&(G=fr(z+G,0)),se(o,y,G)}function pN(o){var y=o==null?0:o.length;return y?Pi(o,0,-1):[]}var fN=Ht(function(o){var y=v(o,Wp);return y.length&&y[0]===o[0]?Mp(y):[]}),gN=Ht(function(o){var y=Bi(o),R=v(o,Wp);return y===Bi(R)?y=n:R.pop(),R.length&&R[0]===o[0]?Mp(R,vt(y,2)):[]}),mN=Ht(function(o){var y=Bi(o),R=v(o,Wp);return y=typeof y=="function"?y:n,y&&R.pop(),R.length&&R[0]===o[0]?Mp(R,n,y):[]});function yN(o,y){return o==null?"":p2.call(o,y)}function Bi(o){var y=o==null?0:o.length;return y?o[y-1]:n}function vN(o,y,R){var z=o==null?0:o.length;if(!z)return-1;var G=z;return R!==n&&(G=Ft(R),G=G<0?fr(z+G,0):Fr(G,z-1)),y===y?St(o,y,G):re(o,ke,G,!0)}function wN(o,y){return o&&o.length?l0(o,Ft(y)):n}var bN=Ht(Z0);function Z0(o,y){return o&&o.length&&y&&y.length?Np(o,y):o}function xN(o,y,R){return o&&o.length&&y&&y.length?Np(o,y,vt(R,2)):o}function kN(o,y,R){return o&&o.length&&y&&y.length?Np(o,y,n,R):o}var _N=zo(function(o,y){var R=o==null?0:o.length,z=$p(o,y);return h0(o,v(y,function(G){return Ho(G,R)?+G:G}).sort(x0)),z});function SN(o,y){var R=[];if(!(o&&o.length))return R;var z=-1,G=[],ee=o.length;for(y=vt(y,3);++z<ee;){var le=o[z];y(le,z,o)&&(R.push(le),G.push(z))}return h0(o,G),R}function tf(o){return o==null?o:y2.call(o)}function CN(o,y,R){var z=o==null?0:o.length;return z?(R&&typeof R!="number"&&Kr(o,y,R)?(y=0,R=z):(y=y==null?0:Ft(y),R=R===n?z:Ft(R)),Pi(o,y,R)):[]}function TN(o,y){return ku(o,y)}function $N(o,y,R){return Pp(o,y,vt(R,2))}function AN(o,y){var R=o==null?0:o.length;if(R){var z=ku(o,y);if(z<R&&io(o[z],y))return z}return-1}function RN(o,y){return ku(o,y,!0)}function EN(o,y,R){return Pp(o,y,vt(R,2),!0)}function MN(o,y){var R=o==null?0:o.length;if(R){var z=ku(o,y,!0)-1;if(io(o[z],y))return z}return-1}function LN(o){return o&&o.length?p0(o):[]}function ON(o,y){return o&&o.length?p0(o,vt(y,2)):[]}function IN(o){var y=o==null?0:o.length;return y?Pi(o,1,y):[]}function NN(o,y,R){return o&&o.length?(y=R||y===n?1:Ft(y),Pi(o,0,y<0?0:y)):[]}function DN(o,y,R){var z=o==null?0:o.length;return z?(y=R||y===n?1:Ft(y),y=z-y,Pi(o,y<0?0:y,z)):[]}function FN(o,y){return o&&o.length?_u(o,vt(y,3),!1,!0):[]}function PN(o,y){return o&&o.length?_u(o,vt(y,3)):[]}var BN=Ht(function(o){return ps(Cr(o,1,Zn,!0))}),jN=Ht(function(o){var y=Bi(o);return Zn(y)&&(y=n),ps(Cr(o,1,Zn,!0),vt(y,2))}),WN=Ht(function(o){var y=Bi(o);return y=typeof y=="function"?y:n,ps(Cr(o,1,Zn,!0),n,y)});function zN(o){return o&&o.length?ps(o):[]}function HN(o,y){return o&&o.length?ps(o,vt(y,2)):[]}function UN(o,y){return y=typeof y=="function"?y:n,o&&o.length?ps(o,n,y):[]}function nf(o){if(!(o&&o.length))return[];var y=0;return o=Dr(o,function(R){if(Zn(R))return y=fr(R.length,y),!0}),Je(y,function(R){return v(o,we(R))})}function J0(o,y){if(!(o&&o.length))return[];var R=nf(o);return y==null?R:v(R,function(z){return gr(y,n,z)})}var qN=Ht(function(o,y){return Zn(o)?Ll(o,y):[]}),VN=Ht(function(o){return jp(Dr(o,Zn))}),KN=Ht(function(o){var y=Bi(o);return Zn(y)&&(y=n),jp(Dr(o,Zn),vt(y,2))}),GN=Ht(function(o){var y=Bi(o);return y=typeof y=="function"?y:n,jp(Dr(o,Zn),n,y)}),YN=Ht(nf);function XN(o,y){return y0(o||[],y||[],Ml)}function QN(o,y){return y0(o||[],y||[],Nl)}var ZN=Ht(function(o){var y=o.length,R=y>1?o[y-1]:n;return R=typeof R=="function"?(o.pop(),R):n,J0(o,R)});function ex(o){var y=J(o);return y.__chain__=!0,y}function JN(o,y){return y(o),o}function Lu(o,y){return y(o)}var eD=zo(function(o){var y=o.length,R=y?o[0]:0,z=this.__wrapped__,G=function(ee){return $p(ee,o)};return y>1||this.__actions__.length||!(z instanceof Yt)||!Ho(R)?this.thru(G):(z=z.slice(R,+R+(y?1:0)),z.__actions__.push({func:Lu,args:[G],thisArg:n}),new Di(z,this.__chain__).thru(function(ee){return y&&!ee.length&&ee.push(n),ee}))});function tD(){return ex(this)}function nD(){return new Di(this.value(),this.__chain__)}function rD(){this.__values__===n&&(this.__values__=fx(this.value()));var o=this.__index__>=this.__values__.length,y=o?n:this.__values__[this.__index__++];return{done:o,value:y}}function iD(){return this}function oD(o){for(var y,R=this;R instanceof yu;){var z=K0(R);z.__index__=0,z.__values__=n,y?G.__wrapped__=z:y=z;var G=z;R=R.__wrapped__}return G.__wrapped__=o,y}function sD(){var o=this.__wrapped__;if(o instanceof Yt){var y=o;return this.__actions__.length&&(y=new Yt(this)),y=y.reverse(),y.__actions__.push({func:Lu,args:[tf],thisArg:n}),new Di(y,this.__chain__)}return this.thru(tf)}function aD(){return m0(this.__wrapped__,this.__actions__)}var lD=Su(function(o,y,R){dn.call(o,R)?++o[R]:jo(o,R,1)});function cD(o,y,R){var z=Rt(o)?Sr:J2;return R&&Kr(o,y,R)&&(y=n),z(o,vt(y,3))}function uD(o,y){var R=Rt(o)?Dr:Jb;return R(o,vt(y,3))}var hD=$0(G0),dD=$0(Y0);function pD(o,y){return Cr(Ou(o,y),1)}function fD(o,y){return Cr(Ou(o,y),j)}function gD(o,y,R){return R=R===n?1:Ft(R),Cr(Ou(o,y),R)}function tx(o,y){var R=Rt(o)?_r:ds;return R(o,vt(y,3))}function nx(o,y){var R=Rt(o)?Ys:Zb;return R(o,vt(y,3))}var mD=Su(function(o,y,R){dn.call(o,R)?o[R].push(y):jo(o,R,[y])});function yD(o,y,R,z){o=oi(o)?o:Ua(o),R=R&&!z?Ft(R):0;var G=o.length;return R<0&&(R=fr(G+R,0)),Pu(o)?R<=G&&o.indexOf(y,R)>-1:!!G&&se(o,y,R)>-1}var vD=Ht(function(o,y,R){var z=-1,G=typeof y=="function",ee=oi(o)?xe(o.length):[];return ds(o,function(le){ee[++z]=G?gr(y,le,R):Ol(le,y,R)}),ee}),wD=Su(function(o,y,R){jo(o,R,y)});function Ou(o,y){var R=Rt(o)?v:o0;return R(o,vt(y,3))}function bD(o,y,R,z){return o==null?[]:(Rt(y)||(y=y==null?[]:[y]),R=z?n:R,Rt(R)||(R=R==null?[]:[R]),c0(o,y,R))}var xD=Su(function(o,y,R){o[R?0:1].push(y)},function(){return[[],[]]});function kD(o,y,R){var z=Rt(o)?S:Ne,G=arguments.length<3;return z(o,vt(y,4),R,G,ds)}function _D(o,y,R){var z=Rt(o)?D:Ne,G=arguments.length<3;return z(o,vt(y,4),R,G,Zb)}function SD(o,y){var R=Rt(o)?Dr:Jb;return R(o,Du(vt(y,3)))}function CD(o){var y=Rt(o)?Gb:yI;return y(o)}function TD(o,y,R){(R?Kr(o,y,R):y===n)?y=1:y=Ft(y);var z=Rt(o)?G2:vI;return z(o,y)}function $D(o){var y=Rt(o)?Y2:bI;return y(o)}function AD(o){if(o==null)return 0;if(oi(o))return Pu(o)?Ut(o):o.length;var y=Pr(o);return y==it||y==Dn?o.size:Op(o).length}function RD(o,y,R){var z=Rt(o)?B:xI;return R&&Kr(o,y,R)&&(y=n),z(o,vt(y,3))}var ED=Ht(function(o,y){if(o==null)return[];var R=y.length;return R>1&&Kr(o,y[0],y[1])?y=[]:R>2&&Kr(y[0],y[1],y[2])&&(y=[y[0]]),c0(o,Cr(y,1),[])}),Iu=u2||function(){return fn.Date.now()};function MD(o,y){if(typeof y!="function")throw new gn(p);return o=Ft(o),function(){if(--o<1)return y.apply(this,arguments)}}function rx(o,y,R){return y=R?n:y,y=o&&y==null?o.length:y,Wo(o,E,n,n,n,n,y)}function ix(o,y){var R;if(typeof y!="function")throw new gn(p);return o=Ft(o),function(){return--o>0&&(R=y.apply(this,arguments)),o<=1&&(y=n),R}}var rf=Ht(function(o,y,R){var z=m;if(R.length){var G=We(R,za(rf));z|=_}return Wo(o,z,y,R,G)}),ox=Ht(function(o,y,R){var z=m|b;if(R.length){var G=We(R,za(ox));z|=_}return Wo(y,z,o,R,G)});function sx(o,y,R){y=R?n:y;var z=Wo(o,M,n,n,n,n,n,y);return z.placeholder=sx.placeholder,z}function ax(o,y,R){y=R?n:y;var z=Wo(o,A,n,n,n,n,n,y);return z.placeholder=ax.placeholder,z}function lx(o,y,R){var z,G,ee,le,de,me,Oe=0,Ie=!1,Pe=!1,Ye=!0;if(typeof o!="function")throw new gn(p);y=ji(y)||0,In(R)&&(Ie=!!R.leading,Pe="maxWait"in R,ee=Pe?fr(ji(R.maxWait)||0,y):ee,Ye="trailing"in R?!!R.trailing:Ye);function st(Jn){var oo=z,Vo=G;return z=G=n,Oe=Jn,le=o.apply(Vo,oo),le}function wt(Jn){return Oe=Jn,de=Pl(qt,y),Ie?st(Jn):le}function jt(Jn){var oo=Jn-me,Vo=Jn-Oe,$x=y-oo;return Pe?Fr($x,ee-Vo):$x}function bt(Jn){var oo=Jn-me,Vo=Jn-Oe;return me===n||oo>=y||oo<0||Pe&&Vo>=ee}function qt(){var Jn=Iu();if(bt(Jn))return Qt(Jn);de=Pl(qt,jt(Jn))}function Qt(Jn){return de=n,Ye&&z?st(Jn):(z=G=n,le)}function Si(){de!==n&&v0(de),Oe=0,z=me=G=de=n}function Gr(){return de===n?le:Qt(Iu())}function Ci(){var Jn=Iu(),oo=bt(Jn);if(z=arguments,G=this,me=Jn,oo){if(de===n)return wt(me);if(Pe)return v0(de),de=Pl(qt,y),st(me)}return de===n&&(de=Pl(qt,y)),le}return Ci.cancel=Si,Ci.flush=Gr,Ci}var LD=Ht(function(o,y){return Qb(o,1,y)}),OD=Ht(function(o,y,R){return Qb(o,ji(y)||0,R)});function ID(o){return Wo(o,F)}function Nu(o,y){if(typeof o!="function"||y!=null&&typeof y!="function")throw new gn(p);var R=function(){var z=arguments,G=y?y.apply(this,z):z[0],ee=R.cache;if(ee.has(G))return ee.get(G);var le=o.apply(this,z);return R.cache=ee.set(G,le)||ee,le};return R.cache=new(Nu.Cache||Bo),R}Nu.Cache=Bo;function Du(o){if(typeof o!="function")throw new gn(p);return function(){var y=arguments;switch(y.length){case 0:return!o.call(this);case 1:return!o.call(this,y[0]);case 2:return!o.call(this,y[0],y[1]);case 3:return!o.call(this,y[0],y[1],y[2])}return!o.apply(this,y)}}function ND(o){return ix(2,o)}var DD=kI(function(o,y){y=y.length==1&&Rt(y[0])?v(y[0],ht(vt())):v(Cr(y,1),ht(vt()));var R=y.length;return Ht(function(z){for(var G=-1,ee=Fr(z.length,R);++G<ee;)z[G]=y[G].call(this,z[G]);return gr(o,this,z)})}),of=Ht(function(o,y){var R=We(y,za(of));return Wo(o,_,n,y,R)}),cx=Ht(function(o,y){var R=We(y,za(cx));return Wo(o,k,n,y,R)}),FD=zo(function(o,y){return Wo(o,O,n,n,n,y)});function PD(o,y){if(typeof o!="function")throw new gn(p);return y=y===n?y:Ft(y),Ht(o,y)}function BD(o,y){if(typeof o!="function")throw new gn(p);return y=y==null?0:fr(Ft(y),0),Ht(function(R){var z=R[y],G=gs(R,0,y);return z&&$(G,z),gr(o,this,G)})}function jD(o,y,R){var z=!0,G=!0;if(typeof o!="function")throw new gn(p);return In(R)&&(z="leading"in R?!!R.leading:z,G="trailing"in R?!!R.trailing:G),lx(o,y,{leading:z,maxWait:y,trailing:G})}function WD(o){return rx(o,1)}function zD(o,y){return of(zp(y),o)}function HD(){if(!arguments.length)return[];var o=arguments[0];return Rt(o)?o:[o]}function UD(o){return Fi(o,c)}function qD(o,y){return y=typeof y=="function"?y:n,Fi(o,c,y)}function VD(o){return Fi(o,a|c)}function KD(o,y){return y=typeof y=="function"?y:n,Fi(o,a|c,y)}function GD(o,y){return y==null||Xb(o,y,wr(y))}function io(o,y){return o===y||o!==o&&y!==y}var YD=Au(Ep),XD=Au(function(o,y){return o>=y}),ia=n0(function(){return arguments}())?n0:function(o){return Hn(o)&&dn.call(o,"callee")&&!zb.call(o,"callee")},Rt=xe.isArray,QD=ri?ht(ri):oI;function oi(o){return o!=null&&Fu(o.length)&&!Uo(o)}function Zn(o){return Hn(o)&&oi(o)}function ZD(o){return o===!0||o===!1||Hn(o)&&Vr(o)==Ce}var ms=d2||mf,JD=us?ht(us):sI;function eF(o){return Hn(o)&&o.nodeType===1&&!Bl(o)}function tF(o){if(o==null)return!0;if(oi(o)&&(Rt(o)||typeof o=="string"||typeof o.splice=="function"||ms(o)||Ha(o)||ia(o)))return!o.length;var y=Pr(o);if(y==it||y==Dn)return!o.size;if(Fl(o))return!Op(o).length;for(var R in o)if(dn.call(o,R))return!1;return!0}function nF(o,y){return Il(o,y)}function rF(o,y,R){R=typeof R=="function"?R:n;var z=R?R(o,y):n;return z===n?Il(o,y,n,R):!!z}function sf(o){if(!Hn(o))return!1;var y=Vr(o);return y==Xe||y==Le||typeof o.message=="string"&&typeof o.name=="string"&&!Bl(o)}function iF(o){return typeof o=="number"&&Ub(o)}function Uo(o){if(!In(o))return!1;var y=Vr(o);return y==Ge||y==ft||y==ve||y==xr}function ux(o){return typeof o=="number"&&o==Ft(o)}function Fu(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=U}function In(o){var y=typeof o;return o!=null&&(y=="object"||y=="function")}function Hn(o){return o!=null&&typeof o=="object"}var hx=Wn?ht(Wn):lI;function oF(o,y){return o===y||Lp(o,y,Yp(y))}function sF(o,y,R){return R=typeof R=="function"?R:n,Lp(o,y,Yp(y),R)}function aF(o){return dx(o)&&o!=+o}function lF(o){if(qI(o))throw new dt(d);return r0(o)}function cF(o){return o===null}function uF(o){return o==null}function dx(o){return typeof o=="number"||Hn(o)&&Vr(o)==gt}function Bl(o){if(!Hn(o)||Vr(o)!=vn)return!1;var y=uu(o);if(y===null)return!0;var R=dn.call(y,"constructor")&&y.constructor;return typeof R=="function"&&R instanceof R&&su.call(R)==s2}var af=vi?ht(vi):cI;function hF(o){return ux(o)&&o>=-9007199254740991&&o<=U}var px=wi?ht(wi):uI;function Pu(o){return typeof o=="string"||!Rt(o)&&Hn(o)&&Vr(o)==Fn}function _i(o){return typeof o=="symbol"||Hn(o)&&Vr(o)==ir}var Ha=Ii?ht(Ii):hI;function dF(o){return o===n}function pF(o){return Hn(o)&&Pr(o)==qe}function fF(o){return Hn(o)&&Vr(o)==_e}var gF=Au(Ip),mF=Au(function(o,y){return o<=y});function fx(o){if(!o)return[];if(oi(o))return Pu(o)?At(o):ii(o);if(Tl&&o[Tl])return be(o[Tl]());var y=Pr(o),R=y==it?Me:y==Dn?Ke:Ua;return R(o)}function qo(o){if(!o)return o===0?o:0;if(o=ji(o),o===j||o===-1/0){var y=o<0?-1:1;return y*K}return o===o?o:0}function Ft(o){var y=qo(o),R=y%1;return y===y?R?y-R:y:0}function gx(o){return o?ea(Ft(o),0,te):0}function ji(o){if(typeof o=="number")return o;if(_i(o))return Z;if(In(o)){var y=typeof o.valueOf=="function"?o.valueOf():o;o=In(y)?y+"":y}if(typeof o!="string")return o===0?o:+o;o=kn(o);var R=Ma.test(o);return R||Xn.test(o)?xn(o.slice(2),R?2:8):Kt.test(o)?Z:+o}function mx(o){return ko(o,si(o))}function yF(o){return o?ea(Ft(o),-9007199254740991,U):o===0?o:0}function un(o){return o==null?"":ki(o)}var vF=ja(function(o,y){if(Fl(y)||oi(y)){ko(y,wr(y),o);return}for(var R in y)dn.call(y,R)&&Ml(o,R,y[R])}),yx=ja(function(o,y){ko(y,si(y),o)}),Bu=ja(function(o,y,R,z){ko(y,si(y),o,z)}),wF=ja(function(o,y,R,z){ko(y,wr(y),o,z)}),bF=zo($p);function xF(o,y){var R=Ba(o);return y==null?R:Yb(R,y)}var kF=Ht(function(o,y){o=Bt(o);var R=-1,z=y.length,G=z>2?y[2]:n;for(G&&Kr(y[0],y[1],G)&&(z=1);++R<z;)for(var ee=y[R],le=si(ee),de=-1,me=le.length;++de<me;){var Oe=le[de],Ie=o[Oe];(Ie===n||io(Ie,zn[Oe])&&!dn.call(o,Oe))&&(o[Oe]=ee[Oe])}return o}),_F=Ht(function(o){return o.push(n,I0),gr(vx,n,o)});function SF(o,y){return Q(o,vt(y,3),xo)}function CF(o,y){return Q(o,vt(y,3),Rp)}function TF(o,y){return o==null?o:Ap(o,vt(y,3),si)}function $F(o,y){return o==null?o:e0(o,vt(y,3),si)}function AF(o,y){return o&&xo(o,vt(y,3))}function RF(o,y){return o&&Rp(o,vt(y,3))}function EF(o){return o==null?[]:bu(o,wr(o))}function MF(o){return o==null?[]:bu(o,si(o))}function lf(o,y,R){var z=o==null?n:ta(o,y);return z===n?R:z}function LF(o,y){return o!=null&&F0(o,y,tI)}function cf(o,y){return o!=null&&F0(o,y,nI)}var OF=R0(function(o,y,R){y!=null&&typeof y.toString!="function"&&(y=au.call(y)),o[y]=R},hf(ai)),IF=R0(function(o,y,R){y!=null&&typeof y.toString!="function"&&(y=au.call(y)),dn.call(o,y)?o[y].push(R):o[y]=[R]},vt),NF=Ht(Ol);function wr(o){return oi(o)?Kb(o):Op(o)}function si(o){return oi(o)?Kb(o,!0):dI(o)}function DF(o,y){var R={};return y=vt(y,3),xo(o,function(z,G,ee){jo(R,y(z,G,ee),z)}),R}function FF(o,y){var R={};return y=vt(y,3),xo(o,function(z,G,ee){jo(R,G,y(z,G,ee))}),R}var PF=ja(function(o,y,R){xu(o,y,R)}),vx=ja(function(o,y,R,z){xu(o,y,R,z)}),BF=zo(function(o,y){var R={};if(o==null)return R;var z=!1;y=v(y,function(ee){return ee=fs(ee,o),z||(z=ee.length>1),ee}),ko(o,Kp(o),R),z&&(R=Fi(R,a|h|c,OI));for(var G=y.length;G--;)Bp(R,y[G]);return R});function jF(o,y){return wx(o,Du(vt(y)))}var WF=zo(function(o,y){return o==null?{}:fI(o,y)});function wx(o,y){if(o==null)return{};var R=v(Kp(o),function(z){return[z]});return y=vt(y),u0(o,R,function(z,G){return y(z,G[0])})}function zF(o,y,R){y=fs(y,o);var z=-1,G=y.length;for(G||(G=1,o=n);++z<G;){var ee=o==null?n:o[_o(y[z])];ee===n&&(z=G,ee=R),o=Uo(ee)?ee.call(o):ee}return o}function HF(o,y,R){return o==null?o:Nl(o,y,R)}function UF(o,y,R,z){return z=typeof z=="function"?z:n,o==null?o:Nl(o,y,R,z)}var bx=L0(wr),xx=L0(si);function qF(o,y,R){var z=Rt(o),G=z||ms(o)||Ha(o);if(y=vt(y,4),R==null){var ee=o&&o.constructor;G?R=z?new ee:[]:In(o)?R=Uo(ee)?Ba(uu(o)):{}:R={}}return(G?_r:xo)(o,function(le,de,me){return y(R,le,de,me)}),R}function VF(o,y){return o==null?!0:Bp(o,y)}function KF(o,y,R){return o==null?o:g0(o,y,zp(R))}function GF(o,y,R,z){return z=typeof z=="function"?z:n,o==null?o:g0(o,y,zp(R),z)}function Ua(o){return o==null?[]:$n(o,wr(o))}function YF(o){return o==null?[]:$n(o,si(o))}function XF(o,y,R){return R===n&&(R=y,y=n),R!==n&&(R=ji(R),R=R===R?R:0),y!==n&&(y=ji(y),y=y===y?y:0),ea(ji(o),y,R)}function QF(o,y,R){return y=qo(y),R===n?(R=y,y=0):R=qo(R),o=ji(o),rI(o,y,R)}function ZF(o,y,R){if(R&&typeof R!="boolean"&&Kr(o,y,R)&&(y=R=n),R===n&&(typeof y=="boolean"?(R=y,y=n):typeof o=="boolean"&&(R=o,o=n)),o===n&&y===n?(o=0,y=1):(o=qo(o),y===n?(y=o,o=0):y=qo(y)),o>y){var z=o;o=y,y=z}if(R||o%1||y%1){var G=qb();return Fr(o+G*(y-o+ze("1e-"+((G+"").length-1))),y)}return Dp(o,y)}var JF=Wa(function(o,y,R){return y=y.toLowerCase(),o+(R?kx(y):y)});function kx(o){return uf(un(o).toLowerCase())}function _x(o){return o=un(o),o&&o.replace(Pn,An).replace(No,"")}function eP(o,y,R){o=un(o),y=ki(y);var z=o.length;R=R===n?z:ea(Ft(R),0,z);var G=R;return R-=y.length,R>=0&&o.slice(R,G)==y}function tP(o){return o=un(o),o&&xl.test(o)?o.replace(Ao,q):o}function nP(o){return o=un(o),o&&Zi.test(o)?o.replace(Lr,"\\$&"):o}var rP=Wa(function(o,y,R){return o+(R?"-":"")+y.toLowerCase()}),iP=Wa(function(o,y,R){return o+(R?" ":"")+y.toLowerCase()}),oP=T0("toLowerCase");function sP(o,y,R){o=un(o),y=Ft(y);var z=y?Ut(o):0;if(!y||z>=y)return o;var G=(y-z)/2;return $u(fu(G),R)+o+$u(pu(G),R)}function aP(o,y,R){o=un(o),y=Ft(y);var z=y?Ut(o):0;return y&&z<y?o+$u(y-z,R):o}function lP(o,y,R){o=un(o),y=Ft(y);var z=y?Ut(o):0;return y&&z<y?$u(y-z,R)+o:o}function cP(o,y,R){return R||y==null?y=0:y&&(y=+y),m2(un(o).replace(Ln,""),y||0)}function uP(o,y,R){return(R?Kr(o,y,R):y===n)?y=1:y=Ft(y),Fp(un(o),y)}function hP(){var o=arguments,y=un(o[0]);return o.length<3?y:y.replace(o[1],o[2])}var dP=Wa(function(o,y,R){return o+(R?"_":"")+y.toLowerCase()});function pP(o,y,R){return R&&typeof R!="number"&&Kr(o,y,R)&&(y=R=n),R=R===n?te:R>>>0,R?(o=un(o),o&&(typeof y=="string"||y!=null&&!af(y))&&(y=ki(y),!y&&oe(o))?gs(At(o),0,R):o.split(y,R)):[]}var fP=Wa(function(o,y,R){return o+(R?" ":"")+uf(y)});function gP(o,y,R){return o=un(o),R=R==null?0:ea(Ft(R),0,o.length),y=ki(y),o.slice(R,R+y.length)==y}function mP(o,y,R){var z=J.templateSettings;R&&Kr(o,y,R)&&(y=n),o=un(o),y=Bu({},y,z,O0);var G=Bu({},y.imports,z.imports,O0),ee=wr(G),le=$n(G,ee),de,me,Oe=0,Ie=y.interpolate||Ai,Pe="__p += '",Ye=qr((y.escape||Ai).source+"|"+Ie.source+"|"+(Ie===Ws?eo:Ai).source+"|"+(y.evaluate||Ai).source+"|$","g"),st="//# sourceURL="+(dn.call(y,"sourceURL")?(y.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++bo+"]")+`
1473
+ `;o.replace(Ye,function(bt,qt,Qt,Si,Gr,Ci){return Qt||(Qt=Si),Pe+=o.slice(Oe,Ci).replace(Nr,X),qt&&(de=!0,Pe+=`' +
1474
+ __e(`+qt+`) +
1475
+ '`),Gr&&(me=!0,Pe+=`';
1476
+ `+Gr+`;
1477
+ __p += '`),Qt&&(Pe+=`' +
1478
+ ((__t = (`+Qt+`)) == null ? '' : __t) +
1479
+ '`),Oe=Ci+bt.length,bt}),Pe+=`';
1480
+ `;var wt=dn.call(y,"variable")&&y.variable;if(!wt)Pe=`with (obj) {
1481
+ `+Pe+`
1482
+ }
1483
+ `;else if(_l.test(wt))throw new dt(w);Pe=(me?Pe.replace(ei,""):Pe).replace(Xi,"$1").replace($o,"$1;"),Pe="function("+(wt||"obj")+`) {
1484
+ `+(wt?"":`obj || (obj = {});
1485
+ `)+"var __t, __p = ''"+(de?", __e = _.escape":"")+(me?`, __j = Array.prototype.join;
1486
+ function print() { __p += __j.call(arguments, '') }
1487
+ `:`;
1488
+ `)+Pe+`return __p
1489
+ }`;var jt=Cx(function(){return Nt(ee,st+"return "+Pe).apply(n,le)});if(jt.source=Pe,sf(jt))throw jt;return jt}function yP(o){return un(o).toLowerCase()}function vP(o){return un(o).toUpperCase()}function wP(o,y,R){if(o=un(o),o&&(R||y===n))return kn(o);if(!o||!(y=ki(y)))return o;var z=At(o),G=At(y),ee=It(z,G),le=sr(z,G)+1;return gs(z,ee,le).join("")}function bP(o,y,R){if(o=un(o),o&&(R||y===n))return o.slice(0,zt(o)+1);if(!o||!(y=ki(y)))return o;var z=At(o),G=sr(z,At(y))+1;return gs(z,0,G).join("")}function xP(o,y,R){if(o=un(o),o&&(R||y===n))return o.replace(Ln,"");if(!o||!(y=ki(y)))return o;var z=At(o),G=It(z,At(y));return gs(z,G).join("")}function kP(o,y){var R=L,z=H;if(In(y)){var G="separator"in y?y.separator:G;R="length"in y?Ft(y.length):R,z="omission"in y?ki(y.omission):z}o=un(o);var ee=o.length;if(oe(o)){var le=At(o);ee=le.length}if(R>=ee)return o;var de=R-Ut(z);if(de<1)return z;var me=le?gs(le,0,de).join(""):o.slice(0,de);if(G===n)return me+z;if(le&&(de+=me.length-de),af(G)){if(o.slice(de).search(G)){var Oe,Ie=me;for(G.global||(G=qr(G.source,un(mi.exec(G))+"g")),G.lastIndex=0;Oe=G.exec(Ie);)var Pe=Oe.index;me=me.slice(0,Pe===n?de:Pe)}}else if(o.indexOf(ki(G),de)!=de){var Ye=me.lastIndexOf(G);Ye>-1&&(me=me.slice(0,Ye))}return me+z}function _P(o){return o=un(o),o&&Jo.test(o)?o.replace(kr,yt):o}var SP=Wa(function(o,y,R){return o+(R?" ":"")+y.toUpperCase()}),uf=T0("toUpperCase");function Sx(o,y,R){return o=un(o),y=R?n:y,y===n?fe(o)?Rn(o):Y(o):o.match(y)||[]}var Cx=Ht(function(o,y){try{return gr(o,n,y)}catch(R){return sf(R)?R:new dt(R)}}),CP=zo(function(o,y){return _r(y,function(R){R=_o(R),jo(o,R,rf(o[R],o))}),o});function TP(o){var y=o==null?0:o.length,R=vt();return o=y?v(o,function(z){if(typeof z[1]!="function")throw new gn(p);return[R(z[0]),z[1]]}):[],Ht(function(z){for(var G=-1;++G<y;){var ee=o[G];if(gr(ee[0],this,z))return gr(ee[1],this,z)}})}function $P(o){return Z2(Fi(o,a))}function hf(o){return function(){return o}}function AP(o,y){return o==null||o!==o?y:o}var RP=A0(),EP=A0(!0);function ai(o){return o}function df(o){return i0(typeof o=="function"?o:Fi(o,a))}function MP(o){return s0(Fi(o,a))}function LP(o,y){return a0(o,Fi(y,a))}var OP=Ht(function(o,y){return function(R){return Ol(R,o,y)}}),IP=Ht(function(o,y){return function(R){return Ol(o,R,y)}});function pf(o,y,R){var z=wr(y),G=bu(y,z);R==null&&!(In(y)&&(G.length||!z.length))&&(R=y,y=o,o=this,G=bu(y,wr(y)));var ee=!(In(R)&&"chain"in R)||!!R.chain,le=Uo(o);return _r(G,function(de){var me=y[de];o[de]=me,le&&(o.prototype[de]=function(){var Oe=this.__chain__;if(ee||Oe){var Ie=o(this.__wrapped__),Pe=Ie.__actions__=ii(this.__actions__);return Pe.push({func:me,args:arguments,thisArg:o}),Ie.__chain__=Oe,Ie}return me.apply(o,$([this.value()],arguments))})}),o}function NP(){return fn._===this&&(fn._=a2),this}function ff(){}function DP(o){return o=Ft(o),Ht(function(y){return l0(y,o)})}var FP=Up(v),PP=Up(Sr),BP=Up(B);function Tx(o){return Qp(o)?we(_o(o)):gI(o)}function jP(o){return function(y){return o==null?n:ta(o,y)}}var WP=E0(),zP=E0(!0);function gf(){return[]}function mf(){return!1}function HP(){return{}}function UP(){return""}function qP(){return!0}function VP(o,y){if(o=Ft(o),o<1||o>U)return[];var R=te,z=Fr(o,te);y=vt(y),o-=te;for(var G=Je(z,y);++R<o;)y(R);return G}function KP(o){return Rt(o)?v(o,_o):_i(o)?[o]:ii(V0(un(o)))}function GP(o){var y=++o2;return un(o)+y}var YP=Tu(function(o,y){return o+y},0),XP=qp("ceil"),QP=Tu(function(o,y){return o/y},1),ZP=qp("floor");function JP(o){return o&&o.length?wu(o,ai,Ep):n}function eB(o,y){return o&&o.length?wu(o,vt(y,2),Ep):n}function tB(o){return ge(o,ai)}function nB(o,y){return ge(o,vt(y,2))}function rB(o){return o&&o.length?wu(o,ai,Ip):n}function iB(o,y){return o&&o.length?wu(o,vt(y,2),Ip):n}var oB=Tu(function(o,y){return o*y},1),sB=qp("round"),aB=Tu(function(o,y){return o-y},0);function lB(o){return o&&o.length?ct(o,ai):0}function cB(o,y){return o&&o.length?ct(o,vt(y,2)):0}return J.after=MD,J.ary=rx,J.assign=vF,J.assignIn=yx,J.assignInWith=Bu,J.assignWith=wF,J.at=bF,J.before=ix,J.bind=rf,J.bindAll=CP,J.bindKey=ox,J.castArray=HD,J.chain=ex,J.chunk=ZI,J.compact=JI,J.concat=eN,J.cond=TP,J.conforms=$P,J.constant=hf,J.countBy=lD,J.create=xF,J.curry=sx,J.curryRight=ax,J.debounce=lx,J.defaults=kF,J.defaultsDeep=_F,J.defer=LD,J.delay=OD,J.difference=tN,J.differenceBy=nN,J.differenceWith=rN,J.drop=iN,J.dropRight=oN,J.dropRightWhile=sN,J.dropWhile=aN,J.fill=lN,J.filter=uD,J.flatMap=pD,J.flatMapDeep=fD,J.flatMapDepth=gD,J.flatten=X0,J.flattenDeep=cN,J.flattenDepth=uN,J.flip=ID,J.flow=RP,J.flowRight=EP,J.fromPairs=hN,J.functions=EF,J.functionsIn=MF,J.groupBy=mD,J.initial=pN,J.intersection=fN,J.intersectionBy=gN,J.intersectionWith=mN,J.invert=OF,J.invertBy=IF,J.invokeMap=vD,J.iteratee=df,J.keyBy=wD,J.keys=wr,J.keysIn=si,J.map=Ou,J.mapKeys=DF,J.mapValues=FF,J.matches=MP,J.matchesProperty=LP,J.memoize=Nu,J.merge=PF,J.mergeWith=vx,J.method=OP,J.methodOf=IP,J.mixin=pf,J.negate=Du,J.nthArg=DP,J.omit=BF,J.omitBy=jF,J.once=ND,J.orderBy=bD,J.over=FP,J.overArgs=DD,J.overEvery=PP,J.overSome=BP,J.partial=of,J.partialRight=cx,J.partition=xD,J.pick=WF,J.pickBy=wx,J.property=Tx,J.propertyOf=jP,J.pull=bN,J.pullAll=Z0,J.pullAllBy=xN,J.pullAllWith=kN,J.pullAt=_N,J.range=WP,J.rangeRight=zP,J.rearg=FD,J.reject=SD,J.remove=SN,J.rest=PD,J.reverse=tf,J.sampleSize=TD,J.set=HF,J.setWith=UF,J.shuffle=$D,J.slice=CN,J.sortBy=ED,J.sortedUniq=LN,J.sortedUniqBy=ON,J.split=pP,J.spread=BD,J.tail=IN,J.take=NN,J.takeRight=DN,J.takeRightWhile=FN,J.takeWhile=PN,J.tap=JN,J.throttle=jD,J.thru=Lu,J.toArray=fx,J.toPairs=bx,J.toPairsIn=xx,J.toPath=KP,J.toPlainObject=mx,J.transform=qF,J.unary=WD,J.union=BN,J.unionBy=jN,J.unionWith=WN,J.uniq=zN,J.uniqBy=HN,J.uniqWith=UN,J.unset=VF,J.unzip=nf,J.unzipWith=J0,J.update=KF,J.updateWith=GF,J.values=Ua,J.valuesIn=YF,J.without=qN,J.words=Sx,J.wrap=zD,J.xor=VN,J.xorBy=KN,J.xorWith=GN,J.zip=YN,J.zipObject=XN,J.zipObjectDeep=QN,J.zipWith=ZN,J.entries=bx,J.entriesIn=xx,J.extend=yx,J.extendWith=Bu,pf(J,J),J.add=YP,J.attempt=Cx,J.camelCase=JF,J.capitalize=kx,J.ceil=XP,J.clamp=XF,J.clone=UD,J.cloneDeep=VD,J.cloneDeepWith=KD,J.cloneWith=qD,J.conformsTo=GD,J.deburr=_x,J.defaultTo=AP,J.divide=QP,J.endsWith=eP,J.eq=io,J.escape=tP,J.escapeRegExp=nP,J.every=cD,J.find=hD,J.findIndex=G0,J.findKey=SF,J.findLast=dD,J.findLastIndex=Y0,J.findLastKey=CF,J.floor=ZP,J.forEach=tx,J.forEachRight=nx,J.forIn=TF,J.forInRight=$F,J.forOwn=AF,J.forOwnRight=RF,J.get=lf,J.gt=YD,J.gte=XD,J.has=LF,J.hasIn=cf,J.head=Q0,J.identity=ai,J.includes=yD,J.indexOf=dN,J.inRange=QF,J.invoke=NF,J.isArguments=ia,J.isArray=Rt,J.isArrayBuffer=QD,J.isArrayLike=oi,J.isArrayLikeObject=Zn,J.isBoolean=ZD,J.isBuffer=ms,J.isDate=JD,J.isElement=eF,J.isEmpty=tF,J.isEqual=nF,J.isEqualWith=rF,J.isError=sf,J.isFinite=iF,J.isFunction=Uo,J.isInteger=ux,J.isLength=Fu,J.isMap=hx,J.isMatch=oF,J.isMatchWith=sF,J.isNaN=aF,J.isNative=lF,J.isNil=uF,J.isNull=cF,J.isNumber=dx,J.isObject=In,J.isObjectLike=Hn,J.isPlainObject=Bl,J.isRegExp=af,J.isSafeInteger=hF,J.isSet=px,J.isString=Pu,J.isSymbol=_i,J.isTypedArray=Ha,J.isUndefined=dF,J.isWeakMap=pF,J.isWeakSet=fF,J.join=yN,J.kebabCase=rP,J.last=Bi,J.lastIndexOf=vN,J.lowerCase=iP,J.lowerFirst=oP,J.lt=gF,J.lte=mF,J.max=JP,J.maxBy=eB,J.mean=tB,J.meanBy=nB,J.min=rB,J.minBy=iB,J.stubArray=gf,J.stubFalse=mf,J.stubObject=HP,J.stubString=UP,J.stubTrue=qP,J.multiply=oB,J.nth=wN,J.noConflict=NP,J.noop=ff,J.now=Iu,J.pad=sP,J.padEnd=aP,J.padStart=lP,J.parseInt=cP,J.random=ZF,J.reduce=kD,J.reduceRight=_D,J.repeat=uP,J.replace=hP,J.result=zF,J.round=sB,J.runInContext=pe,J.sample=CD,J.size=AD,J.snakeCase=dP,J.some=RD,J.sortedIndex=TN,J.sortedIndexBy=$N,J.sortedIndexOf=AN,J.sortedLastIndex=RN,J.sortedLastIndexBy=EN,J.sortedLastIndexOf=MN,J.startCase=fP,J.startsWith=gP,J.subtract=aB,J.sum=lB,J.sumBy=cB,J.template=mP,J.times=VP,J.toFinite=qo,J.toInteger=Ft,J.toLength=gx,J.toLower=yP,J.toNumber=ji,J.toSafeInteger=yF,J.toString=un,J.toUpper=vP,J.trim=wP,J.trimEnd=bP,J.trimStart=xP,J.truncate=kP,J.unescape=_P,J.uniqueId=GP,J.upperCase=SP,J.upperFirst=uf,J.each=tx,J.eachRight=nx,J.first=Q0,pf(J,function(){var o={};return xo(J,function(y,R){dn.call(J.prototype,R)||(o[R]=y)}),o}(),{chain:!1}),J.VERSION=r,_r(["bind","bindKey","curry","curryRight","partial","partialRight"],function(o){J[o].placeholder=J}),_r(["drop","take"],function(o,y){Yt.prototype[o]=function(R){R=R===n?1:fr(Ft(R),0);var z=this.__filtered__&&!y?new Yt(this):this.clone();return z.__filtered__?z.__takeCount__=Fr(R,z.__takeCount__):z.__views__.push({size:Fr(R,te),type:o+(z.__dir__<0?"Right":"")}),z},Yt.prototype[o+"Right"]=function(R){return this.reverse()[o](R).reverse()}}),_r(["filter","map","takeWhile"],function(o,y){var R=y+1,z=R==T||R==N;Yt.prototype[o]=function(G){var ee=this.clone();return ee.__iteratees__.push({iteratee:vt(G,3),type:R}),ee.__filtered__=ee.__filtered__||z,ee}}),_r(["head","last"],function(o,y){var R="take"+(y?"Right":"");Yt.prototype[o]=function(){return this[R](1).value()[0]}}),_r(["initial","tail"],function(o,y){var R="drop"+(y?"":"Right");Yt.prototype[o]=function(){return this.__filtered__?new Yt(this):this[R](1)}}),Yt.prototype.compact=function(){return this.filter(ai)},Yt.prototype.find=function(o){return this.filter(o).head()},Yt.prototype.findLast=function(o){return this.reverse().find(o)},Yt.prototype.invokeMap=Ht(function(o,y){return typeof o=="function"?new Yt(this):this.map(function(R){return Ol(R,o,y)})}),Yt.prototype.reject=function(o){return this.filter(Du(vt(o)))},Yt.prototype.slice=function(o,y){o=Ft(o);var R=this;return R.__filtered__&&(o>0||y<0)?new Yt(R):(o<0?R=R.takeRight(-o):o&&(R=R.drop(o)),y!==n&&(y=Ft(y),R=y<0?R.dropRight(-y):R.take(y-o)),R)},Yt.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},Yt.prototype.toArray=function(){return this.take(te)},xo(Yt.prototype,function(o,y){var R=/^(?:filter|find|map|reject)|While$/.test(y),z=/^(?:head|last)$/.test(y),G=J[z?"take"+(y=="last"?"Right":""):y],ee=z||/^find/.test(y);G&&(J.prototype[y]=function(){var le=this.__wrapped__,de=z?[1]:arguments,me=le instanceof Yt,Oe=de[0],Ie=me||Rt(le),Pe=function(qt){var Qt=G.apply(J,$([qt],de));return z&&Ye?Qt[0]:Qt};Ie&&R&&typeof Oe=="function"&&Oe.length!=1&&(me=Ie=!1);var Ye=this.__chain__,st=!!this.__actions__.length,wt=ee&&!Ye,jt=me&&!st;if(!ee&&Ie){le=jt?le:new Yt(this);var bt=o.apply(le,de);return bt.__actions__.push({func:Lu,args:[Pe],thisArg:n}),new Di(bt,Ye)}return wt&&jt?o.apply(this,de):(bt=this.thru(Pe),wt?z?bt.value()[0]:bt.value():bt)})}),_r(["pop","push","shift","sort","splice","unshift"],function(o){var y=vr[o],R=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",z=/^(?:pop|shift)$/.test(o);J.prototype[o]=function(){var G=arguments;if(z&&!this.__chain__){var ee=this.value();return y.apply(Rt(ee)?ee:[],G)}return this[R](function(le){return y.apply(Rt(le)?le:[],G)})}}),xo(Yt.prototype,function(o,y){var R=J[y];if(R){var z=R.name+"";dn.call(Pa,z)||(Pa[z]=[]),Pa[z].push({name:y,func:R})}}),Pa[Cu(n,b).name]=[{name:"wrapper",func:n}],Yt.prototype.clone=_2,Yt.prototype.reverse=S2,Yt.prototype.value=C2,J.prototype.at=eD,J.prototype.chain=tD,J.prototype.commit=nD,J.prototype.next=rD,J.prototype.plant=oD,J.prototype.reverse=sD,J.prototype.toJSON=J.prototype.valueOf=J.prototype.value=aD,J.prototype.first=J.prototype.head,Tl&&(J.prototype[Tl]=iD),J},Xt=ar();or?((or.exports=Xt)._=Xt,Sn._=Xt):fn._=Xt}).call(fT)}(vc,vc.exports)),vc.exports}var mT=gT();Wi("a",ec(mT)).debounce(function(){this.rebuildDisplayText()},300);var Um={exports:{}},qm;function yT(){return qm||(qm=1,function(t,e){(function(){ace.require(["ace/mode/text"],function(n){t&&(t.exports=n)})})()}(Um)),Um.exports}yT();const vT=!0,cr="u-",wT="uplot",bT=cr+"hz",xT=cr+"vt",kT=cr+"title",_T=cr+"wrap",ST=cr+"under",CT=cr+"over",TT=cr+"axis",Rs=cr+"off",$T=cr+"select",AT=cr+"cursor-x",RT=cr+"cursor-y",ET=cr+"cursor-pt",MT=cr+"legend",LT=cr+"live",OT=cr+"inline",IT=cr+"series",NT=cr+"marker",Vm=cr+"label",DT=cr+"value",il="width",ol="height",sl="top",Km="bottom",fa="left",Mh="right",Lh="#000",Gm=Lh+"0",Oh="mousemove",Ym="mousedown",Ih="mouseup",Xm="mouseenter",Qm="mouseleave",Zm="dblclick",FT="resize",PT="scroll",Jm="change",wc="dppxchange",Nh="--",ga=typeof window<"u",Dh=ga?document:null,ma=ga?window:null,BT=ga?navigator:null;let rn,bc;function Fh(){let t=devicePixelRatio;rn!=t&&(rn=t,bc&&jh(Jm,bc,Fh),bc=matchMedia(`(min-resolution: ${rn-.001}dppx) and (max-resolution: ${rn+.001}dppx)`),Es(Jm,bc,Fh),ma.dispatchEvent(new CustomEvent(wc)))}function ui(t,e){if(e!=null){let n=t.classList;!n.contains(e)&&n.add(e)}}function Ph(t,e){let n=t.classList;n.contains(e)&&n.remove(e)}function _n(t,e,n){t.style[e]=n+"px"}function qi(t,e,n,r){let u=Dh.createElement(t);return e!=null&&ui(u,e),n!=null&&n.insertBefore(u,r),u}function Ti(t,e){return qi("div",t,e)}const ey=new WeakMap;function co(t,e,n,r,u){let d="translate("+e+"px,"+n+"px)",p=ey.get(t);d!=p&&(t.style.transform=d,ey.set(t,d),e<0||n<0||e>r||n>u?ui(t,Rs):Ph(t,Rs))}const ty=new WeakMap;function ny(t,e,n){let r=e+n,u=ty.get(t);r!=u&&(ty.set(t,r),t.style.background=e,t.style.borderColor=n)}const ry=new WeakMap;function iy(t,e,n,r){let u=e+""+n,d=ry.get(t);u!=d&&(ry.set(t,u),t.style.height=n+"px",t.style.width=e+"px",t.style.marginLeft=r?-e/2+"px":0,t.style.marginTop=r?-n/2+"px":0)}const Bh={passive:!0},jT={...Bh,capture:!0};function Es(t,e,n,r){e.addEventListener(t,n,r?jT:Bh)}function jh(t,e,n,r){e.removeEventListener(t,n,Bh)}ga&&Fh();function Vi(t,e,n,r){let u;n=n||0,r=r||e.length-1;let d=r<=2147483647;for(;r-n>1;)u=d?n+r>>1:di((n+r)/2),e[u]<t?n=u:r=u;return t-e[n]<=e[r]-t?n:r}function oy(t){return(e,n,r)=>{let u=-1,d=-1;for(let p=n;p<=r;p++)if(t(e[p])){u=p;break}for(let p=r;p>=n;p--)if(t(e[p])){d=p;break}return[u,d]}}const sy=t=>t!=null,ay=t=>t!=null&&t>0,xc=oy(sy),WT=oy(ay);function zT(t,e,n,r=0,u=!1){let d=u?WT:xc,p=u?ay:sy;[e,n]=d(t,e,n);let w=t[e],f=t[e];if(e>-1)if(r==1)w=t[e],f=t[n];else if(r==-1)w=t[n],f=t[e];else for(let g=e;g<=n;g++){let s=t[g];p(s)&&(s<w?w=s:s>f&&(f=s))}return[w??br,f??-1/0]}function kc(t,e,n,r){let u=uy(t),d=uy(e);t==e&&(u==-1?(t*=n,e/=n):(t/=n,e*=n));let p=n==10?Co:hy,w=u==1?di:$i,f=d==1?$i:di,g=w(p(ur(t))),s=f(p(ur(e))),a=ya(n,g),h=ya(n,s);return n==10&&(g<0&&(a=mn(a,-g)),s<0&&(h=mn(h,-s))),r||n==2?(t=a*u,e=h*d):(t=vy(t,a),e=Cc(e,h)),[t,e]}function Wh(t,e,n,r){let u=kc(t,e,n,r);return t==0&&(u[0]=0),e==0&&(u[1]=0),u}const zh=.1,ly={mode:3,pad:zh},al={pad:0,soft:null,mode:0},HT={min:al,max:al};function _c(t,e,n,r){return Tc(n)?cy(t,e,n):(al.pad=n,al.soft=r?0:null,al.mode=r?3:0,cy(t,e,HT))}function tn(t,e){return t??e}function UT(t,e,n){for(e=tn(e,0),n=tn(n,t.length-1);e<=n;){if(t[e]!=null)return!0;e++}return!1}function cy(t,e,n){let r=n.min,u=n.max,d=tn(r.pad,0),p=tn(u.pad,0),w=tn(r.hard,-1/0),f=tn(u.hard,br),g=tn(r.soft,br),s=tn(u.soft,-1/0),a=tn(r.mode,0),h=tn(u.mode,0),c=e-t,i=Co(c),l=Wr(ur(t),ur(e)),m=Co(l),b=ur(m-i);(c<1e-24||b>10)&&(c=0,(t==0||e==0)&&(c=1e-24,a==2&&g!=br&&(d=0),h==2&&s!=-1/0&&(p=0)));let x=c||l||1e3,M=Co(x),A=ya(10,di(M)),_=x*(c==0?t==0?.1:1:d),k=mn(vy(t-_,A/10),24),E=t>=g&&(a==1||a==3&&k<=g||a==2&&k>=g)?g:br,O=Wr(w,k<E&&t>=E?E:Ki(E,k)),F=x*(c==0?e==0?.1:1:p),L=mn(Cc(e+F,A/10),24),H=e<=s&&(h==1||h==3&&L>=s||h==2&&L<=s)?s:-1/0,P=Ki(f,L>H&&e<=H?H:Wr(H,L));return O==P&&O==0&&(P=100),[O,P]}const qT=new Intl.NumberFormat(ga?BT.language:"en-US"),Hh=t=>qT.format(t),hi=Math,Sc=hi.PI,ur=hi.abs,di=hi.floor,hr=hi.round,$i=hi.ceil,Ki=hi.min,Wr=hi.max,ya=hi.pow,uy=hi.sign,Co=hi.log10,hy=hi.log2,VT=(t,e=1)=>hi.sinh(t)*e,Uh=(t,e=1)=>hi.asinh(t/e),br=1/0;function dy(t){return(Co((t^t>>31)-(t>>31))|0)+1}function qh(t,e,n){return Ki(Wr(t,e),n)}function py(t){return typeof t=="function"}function Vt(t){return py(t)?t:()=>t}const KT=()=>{},fy=t=>t,gy=(t,e)=>e,GT=t=>null,my=t=>!0,yy=(t,e)=>t==e,YT=/\.\d*?(?=9{6,}|0{6,})/gm,Ms=t=>{if(by(t)||Qo.has(t))return t;const e=`${t}`,n=e.match(YT);if(n==null)return t;let r=n[0].length-1;if(e.indexOf("e-")!=-1){let[u,d]=e.split("e");return+`${Ms(u)}e${d}`}return mn(t,r)};function Ls(t,e){return Ms(mn(Ms(t/e))*e)}function Cc(t,e){return Ms($i(Ms(t/e))*e)}function vy(t,e){return Ms(di(Ms(t/e))*e)}function mn(t,e=0){if(by(t))return t;let n=10**e,r=t*n*(1+Number.EPSILON);return hr(r)/n}const Qo=new Map;function wy(t){return((""+t).split(".")[1]||"").length}function ll(t,e,n,r){let u=[],d=r.map(wy);for(let p=e;p<n;p++){let w=ur(p),f=mn(ya(t,p),w);for(let g=0;g<r.length;g++){let s=t==10?+`${r[g]}e${p}`:r[g]*f,a=(p>=0?0:w)+(p>=d[g]?0:d[g]),h=t==10?s:mn(s,a);u.push(h),Qo.set(h,a)}}return u}const cl={},Vh=[],va=[null,null],Zo=Array.isArray,by=Number.isInteger,XT=t=>t===void 0;function xy(t){return typeof t=="string"}function Tc(t){let e=!1;if(t!=null){let n=t.constructor;e=n==null||n==Object}return e}function QT(t){return t!=null&&typeof t=="object"}const ZT=Object.getPrototypeOf(Uint8Array),ky="__proto__";function wa(t,e=Tc){let n;if(Zo(t)){let r=t.find(u=>u!=null);if(Zo(r)||e(r)){n=Array(t.length);for(let u=0;u<t.length;u++)n[u]=wa(t[u],e)}else n=t.slice()}else if(t instanceof ZT)n=t.slice();else if(e(t)){n={};for(let r in t)r!=ky&&(n[r]=wa(t[r],e))}else n=t;return n}function nr(t){let e=arguments;for(let n=1;n<e.length;n++){let r=e[n];for(let u in r)u!=ky&&(Tc(t[u])?nr(t[u],wa(r[u])):t[u]=wa(r[u]))}return t}const JT=0,e$=1,t$=2;function n$(t,e,n){for(let r=0,u,d=-1;r<e.length;r++){let p=e[r];if(p>d){for(u=p-1;u>=0&&t[u]==null;)t[u--]=null;for(u=p+1;u<n&&t[u]==null;)t[d=u++]=null}}}function r$(t,e){if(s$(t)){let p=t[0].slice();for(let w=1;w<t.length;w++)p.push(...t[w].slice(1));return a$(p[0])||(p=o$(p)),p}let n=new Set;for(let p=0;p<t.length;p++){let w=t[p][0],f=w.length;for(let g=0;g<f;g++)n.add(w[g])}let r=[Array.from(n).sort((p,w)=>p-w)],u=r[0].length,d=new Map;for(let p=0;p<u;p++)d.set(r[0][p],p);for(let p=0;p<t.length;p++){let w=t[p],f=w[0];for(let g=1;g<w.length;g++){let s=w[g],a=Array(u).fill(void 0),h=e?e[p][g]:e$,c=[];for(let i=0;i<s.length;i++){let l=s[i],m=d.get(f[i]);l===null?h!=JT&&(a[m]=l,h==t$&&c.push(m)):a[m]=l}n$(a,c,u),r.push(a)}}return r}const i$=typeof queueMicrotask>"u"?t=>Promise.resolve().then(t):queueMicrotask;function o$(t){let e=t[0],n=e.length,r=Array(n);for(let d=0;d<r.length;d++)r[d]=d;r.sort((d,p)=>e[d]-e[p]);let u=[];for(let d=0;d<t.length;d++){let p=t[d],w=Array(n);for(let f=0;f<n;f++)w[f]=p[r[f]];u.push(w)}return u}function s$(t){let e=t[0][0],n=e.length;for(let r=1;r<t.length;r++){let u=t[r][0];if(u.length!=n)return!1;if(u!=e){for(let d=0;d<n;d++)if(u[d]!=e[d])return!1}}return!0}function a$(t,e=100){const n=t.length;if(n<=1)return!0;let r=0,u=n-1;for(;r<=u&&t[r]==null;)r++;for(;u>=r&&t[u]==null;)u--;if(u<=r)return!0;const d=Wr(1,di((u-r+1)/e));for(let p=t[r],w=r+d;w<=u;w+=d){const f=t[w];if(f!=null){if(f<=p)return!1;p=f}}return!0}const _y=["January","February","March","April","May","June","July","August","September","October","November","December"],Sy=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function Cy(t){return t.slice(0,3)}const l$=Sy.map(Cy),c$=_y.map(Cy),u$={MMMM:_y,MMM:c$,WWWW:Sy,WWW:l$};function ul(t){return(t<10?"0":"")+t}function h$(t){return(t<10?"00":t<100?"0":"")+t}const d$={YYYY:t=>t.getFullYear(),YY:t=>(t.getFullYear()+"").slice(2),MMMM:(t,e)=>e.MMMM[t.getMonth()],MMM:(t,e)=>e.MMM[t.getMonth()],MM:t=>ul(t.getMonth()+1),M:t=>t.getMonth()+1,DD:t=>ul(t.getDate()),D:t=>t.getDate(),WWWW:(t,e)=>e.WWWW[t.getDay()],WWW:(t,e)=>e.WWW[t.getDay()],HH:t=>ul(t.getHours()),H:t=>t.getHours(),h:t=>{let e=t.getHours();return e==0?12:e>12?e-12:e},AA:t=>t.getHours()>=12?"PM":"AM",aa:t=>t.getHours()>=12?"pm":"am",a:t=>t.getHours()>=12?"p":"a",mm:t=>ul(t.getMinutes()),m:t=>t.getMinutes(),ss:t=>ul(t.getSeconds()),s:t=>t.getSeconds(),fff:t=>h$(t.getMilliseconds())};function Kh(t,e){e=e||u$;let n=[],r=/\{([a-z]+)\}|[^{]+/gi,u;for(;u=r.exec(t);)n.push(u[0][0]=="{"?d$[u[1]]:u[0]);return d=>{let p="";for(let w=0;w<n.length;w++)p+=typeof n[w]=="string"?n[w]:n[w](d,e);return p}}const p$=new Intl.DateTimeFormat().resolvedOptions().timeZone;function f$(t,e){let n;return e=="UTC"||e=="Etc/UTC"?n=new Date(+t+t.getTimezoneOffset()*6e4):e==p$?n=t:(n=new Date(t.toLocaleString("en-US",{timeZone:e})),n.setMilliseconds(t.getMilliseconds())),n}const Ty=t=>t%1==0,$c=[1,2,2.5,5],g$=ll(10,-32,0,$c),$y=ll(10,0,32,$c),m$=$y.filter(Ty),Os=g$.concat($y),Gh=`
1490
+ `,Ay="{YYYY}",Ry=Gh+Ay,Ey="{M}/{D}",hl=Gh+Ey,Ac=hl+"/{YY}",My="{aa}",y$="{h}:{mm}",ba=y$+My,Ly=Gh+ba,Oy=":{ss}",cn=null;function Iy(t){let e=t*1e3,n=e*60,r=n*60,u=r*24,d=u*30,p=u*365,w=(t==1?ll(10,0,3,$c).filter(Ty):ll(10,-3,0,$c)).concat([e,e*5,e*10,e*15,e*30,n,n*5,n*10,n*15,n*30,r,r*2,r*3,r*4,r*6,r*8,r*12,u,u*2,u*3,u*4,u*5,u*6,u*7,u*8,u*9,u*10,u*15,d,d*2,d*3,d*4,d*6,p,p*2,p*5,p*10,p*25,p*50,p*100]);const f=[[p,Ay,cn,cn,cn,cn,cn,cn,1],[u*28,"{MMM}",Ry,cn,cn,cn,cn,cn,1],[u,Ey,Ry,cn,cn,cn,cn,cn,1],[r,"{h}"+My,Ac,cn,hl,cn,cn,cn,1],[n,ba,Ac,cn,hl,cn,cn,cn,1],[e,Oy,Ac+" "+ba,cn,hl+" "+ba,cn,Ly,cn,1],[t,Oy+".{fff}",Ac+" "+ba,cn,hl+" "+ba,cn,Ly,cn,1]];function g(s){return(a,h,c,i,l,m)=>{let b=[],x=l>=p,M=l>=d&&l<p,A=s(c),_=mn(A*t,3),k=Yh(A.getFullYear(),x?0:A.getMonth(),M||x?1:A.getDate()),E=mn(k*t,3);if(M||x){let O=M?l/d:0,F=x?l/p:0,L=_==E?_:mn(Yh(k.getFullYear()+F,k.getMonth()+O,1)*t,3),H=new Date(hr(L/t)),P=H.getFullYear(),I=H.getMonth();for(let T=0;L<=i;T++){let C=Yh(P+F*T,I+O*T,1),N=C-s(mn(C*t,3));L=mn((+C+N)*t,3),L<=i&&b.push(L)}}else{let O=l>=u?u:l,F=di(c)-di(_),L=E+F+Cc(_-E,O);b.push(L);let H=s(L),P=H.getHours()+H.getMinutes()/n+H.getSeconds()/r,I=l/r,T=a.axes[h]._space,C=m/T;for(;L=mn(L+l,t==1?0:3),!(L>i);)if(I>1){let N=di(mn(P+I,6))%24,j=s(L).getHours()-N;j>1&&(j=-1),L-=j*r,P=(P+I)%24;let U=b[b.length-1];mn((L-U)/l,3)*C>=.7&&b.push(L)}else b.push(L)}return b}}return[w,f,g]}const[v$,w$,b$]=Iy(1),[x$,k$,_$]=Iy(.001);ll(2,-53,53,[1]);function Ny(t,e){return t.map(n=>n.map((r,u)=>u==0||u==8||r==null?r:e(u==1||n[8]==0?r:n[1]+r)))}function Dy(t,e){return(n,r,u,d,p)=>{let w=e.find(i=>p>=i[0])||e[e.length-1],f,g,s,a,h,c;return r.map(i=>{let l=t(i),m=l.getFullYear(),b=l.getMonth(),x=l.getDate(),M=l.getHours(),A=l.getMinutes(),_=l.getSeconds(),k=m!=f&&w[2]||b!=g&&w[3]||x!=s&&w[4]||M!=a&&w[5]||A!=h&&w[6]||_!=c&&w[7]||w[1];return f=m,g=b,s=x,a=M,h=A,c=_,k(l)})}}function S$(t,e){let n=Kh(e);return(r,u,d,p,w)=>u.map(f=>n(t(f)))}function Yh(t,e,n){return new Date(t,e,n)}function Fy(t,e){return e(t)}const C$="{YYYY}-{MM}-{DD} {h}:{mm}{aa}";function Py(t,e){return(n,r,u,d)=>d==null?Nh:e(t(r))}function T$(t,e){let n=t.series[e];return n.width?n.stroke(t,e):n.points.width?n.points.stroke(t,e):null}function $$(t,e){return t.series[e].fill(t,e)}const A$={show:!0,live:!0,isolate:!1,mount:KT,markers:{show:!0,width:2,stroke:T$,fill:$$,dash:"solid"},idx:null,idxs:null,values:[]};function R$(t,e){let n=t.cursor.points,r=Ti(),u=n.size(t,e);_n(r,il,u),_n(r,ol,u);let d=u/-2;_n(r,"marginLeft",d),_n(r,"marginTop",d);let p=n.width(t,e,u);return p&&_n(r,"borderWidth",p),r}function E$(t,e){let n=t.series[e].points;return n._fill||n._stroke}function M$(t,e){let n=t.series[e].points;return n._stroke||n._fill}function L$(t,e){return t.series[e].points.size}const Xh=[0,0];function O$(t,e,n){return Xh[0]=e,Xh[1]=n,Xh}function Rc(t,e,n,r=!0){return u=>{u.button==0&&(!r||u.target==e)&&n(u)}}function Qh(t,e,n,r=!0){return u=>{(!r||u.target==e)&&n(u)}}const I$={show:!0,x:!0,y:!0,lock:!1,move:O$,points:{one:!1,show:R$,size:L$,width:0,stroke:M$,fill:E$},bind:{mousedown:Rc,mouseup:Rc,click:Rc,dblclick:Rc,mousemove:Qh,mouseleave:Qh,mouseenter:Qh},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(t,e)=>{e.stopPropagation(),e.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(t,e,n,r,u)=>r-u,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},By={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Zh=nr({},By,{filter:gy}),jy=nr({},Zh,{size:10}),Wy=nr({},By,{show:!1}),Jh='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',zy="bold "+Jh,Hy=1.5,Uy={show:!0,scale:"x",stroke:Lh,space:50,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:zy,side:2,grid:Zh,ticks:jy,border:Wy,font:Jh,lineGap:Hy,rotate:0},N$="Value",D$="Time",qy={show:!0,scale:"x",auto:!1,sorted:1,min:br,max:-1/0,idxs:[]};function F$(t,e,n,r,u){return e.map(d=>d==null?"":Hh(d))}function P$(t,e,n,r,u,d,p){let w=[],f=Qo.get(u)||0;n=p?n:mn(Cc(n,u),f);for(let g=n;g<=r;g=mn(g+u,f))w.push(Object.is(g,-0)?0:g);return w}function ed(t,e,n,r,u,d,p){const w=[],f=t.scales[t.axes[e].scale].log,g=f==10?Co:hy,s=di(g(n));u=ya(f,s),f==10&&(u=Os[Vi(u,Os)]);let a=n,h=u*f;f==10&&(h=Os[Vi(h,Os)]);do w.push(a),a=a+u,f==10&&!Qo.has(a)&&(a=mn(a,Qo.get(u))),a>=h&&(u=a,h=u*f,f==10&&(h=Os[Vi(h,Os)]));while(a<=r);return w}function B$(t,e,n,r,u,d,p){let w=t.scales[t.axes[e].scale].asinh,f=r>w?ed(t,e,Wr(w,n),r,u):[w],g=r>=0&&n<=0?[0]:[];return(n<-w?ed(t,e,Wr(w,-r),-n,u):[w]).reverse().map(s=>-s).concat(g,f)}const Vy=/./,j$=/[12357]/,W$=/[125]/,Ky=/1/,td=(t,e,n,r)=>t.map((u,d)=>e==4&&u==0||d%r==0&&n.test(u.toExponential()[u<0?1:0])?u:null);function z$(t,e,n,r,u){let d=t.axes[n],p=d.scale,w=t.scales[p],f=t.valToPos,g=d._space,s=f(10,p),a=f(9,p)-s>=g?Vy:f(7,p)-s>=g?j$:f(5,p)-s>=g?W$:Ky;if(a==Ky){let h=ur(f(1,p)-s);if(h<g)return td(e.slice().reverse(),w.distr,a,$i(g/h)).reverse()}return td(e,w.distr,a,1)}function H$(t,e,n,r,u){let d=t.axes[n],p=d.scale,w=d._space,f=t.valToPos,g=ur(f(1,p)-f(2,p));return g<w?td(e.slice().reverse(),3,Vy,$i(w/g)).reverse():e}function U$(t,e,n,r){return r==null?Nh:e==null?"":Hh(e)}const Gy={show:!0,scale:"y",stroke:Lh,space:30,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:zy,side:3,grid:Zh,ticks:jy,border:Wy,font:Jh,lineGap:Hy,rotate:0};function q$(t,e){let n=3+(t||1)*2;return mn(n*e,3)}function V$(t,e){let{scale:n,idxs:r}=t.series[0],u=t._data[0],d=t.valToPos(u[r[0]],n,!0),p=t.valToPos(u[r[1]],n,!0),w=ur(p-d),f=t.series[e],g=w/(f.points.space*rn);return r[1]-r[0]<=g}const Yy={scale:null,auto:!0,sorted:0,min:br,max:-1/0},Xy=(t,e,n,r,u)=>u,Qy={show:!0,auto:!0,sorted:0,gaps:Xy,alpha:1,facets:[nr({},Yy,{scale:"x"}),nr({},Yy,{scale:"y"})]},Zy={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:Xy,alpha:1,points:{show:V$,filter:null},values:null,min:br,max:-1/0,idxs:[],path:null,clip:null};function K$(t,e,n,r,u){return n/10}const Jy={time:vT,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},G$=nr({},Jy,{time:!1,ori:1}),ev={};function tv(t,e){let n=ev[t];return n||(n={key:t,plots:[],sub(r){n.plots.push(r)},unsub(r){n.plots=n.plots.filter(u=>u!=r)},pub(r,u,d,p,w,f,g){for(let s=0;s<n.plots.length;s++)n.plots[s]!=u&&n.plots[s].pub(r,u,d,p,w,f,g)}},t!=null&&(ev[t]=n)),n}const xa=1,nd=2;function Is(t,e,n){const r=t.mode,u=t.series[e],d=r==2?t._data[e]:t._data,p=t.scales,w=t.bbox;let f=d[0],g=r==2?d[1]:d[e],s=r==2?p[u.facets[0].scale]:p[t.series[0].scale],a=r==2?p[u.facets[1].scale]:p[u.scale],h=w.left,c=w.top,i=w.width,l=w.height,m=t.valToPosH,b=t.valToPosV;return s.ori==0?n(u,f,g,s,a,m,b,h,c,i,l,Mc,ka,Oc,iv,sv):n(u,f,g,s,a,b,m,c,h,l,i,Lc,_a,od,ov,av)}function rd(t,e){let n=0,r=0,u=tn(t.bands,Vh);for(let d=0;d<u.length;d++){let p=u[d];p.series[0]==e?n=p.dir:p.series[1]==e&&(p.dir==1?r|=1:r|=2)}return[n,r==1?-1:r==2?1:r==3?2:0]}function Y$(t,e,n,r,u){let d=t.mode,p=t.series[e],w=d==2?p.facets[1].scale:p.scale,f=t.scales[w];return u==-1?f.min:u==1?f.max:f.distr==3?f.dir==1?f.min:f.max:0}function To(t,e,n,r,u,d){return Is(t,e,(p,w,f,g,s,a,h,c,i,l,m)=>{let b=p.pxRound;const x=g.dir*(g.ori==0?1:-1),M=g.ori==0?ka:_a;let A,_;x==1?(A=n,_=r):(A=r,_=n);let k=b(a(w[A],g,l,c)),E=b(h(f[A],s,m,i)),O=b(a(w[_],g,l,c)),F=b(h(d==1?s.max:s.min,s,m,i)),L=new Path2D(u);return M(L,O,F),M(L,k,F),M(L,k,E),L})}function Ec(t,e,n,r,u,d){let p=null;if(t.length>0){p=new Path2D;const w=e==0?Oc:od;let f=n;for(let a=0;a<t.length;a++){let h=t[a];if(h[1]>h[0]){let c=h[0]-f;c>0&&w(p,f,r,c,r+d),f=h[1]}}let g=n+u-f,s=10;g>0&&w(p,f,r-s/2,g,r+d+s)}return p}function X$(t,e,n){let r=t[t.length-1];r&&r[0]==e?r[1]=n:t.push([e,n])}function id(t,e,n,r,u,d,p){let w=[],f=t.length;for(let g=u==1?n:r;g>=n&&g<=r;g+=u)if(e[g]===null){let s=g,a=g;if(u==1)for(;++g<=r&&e[g]===null;)a=g;else for(;--g>=n&&e[g]===null;)a=g;let h=d(t[s]),c=a==s?h:d(t[a]),i=s-u;h=p<=0&&i>=0&&i<f?d(t[i]):h;let l=a+u;c=p>=0&&l>=0&&l<f?d(t[l]):c,c>=h&&w.push([h,c])}return w}function nv(t){return t==0?fy:t==1?hr:e=>Ls(e,t)}function rv(t){let e=t==0?Mc:Lc,n=t==0?(u,d,p,w,f,g)=>{u.arcTo(d,p,w,f,g)}:(u,d,p,w,f,g)=>{u.arcTo(p,d,f,w,g)},r=t==0?(u,d,p,w,f)=>{u.rect(d,p,w,f)}:(u,d,p,w,f)=>{u.rect(p,d,f,w)};return(u,d,p,w,f,g=0,s=0)=>{g==0&&s==0?r(u,d,p,w,f):(g=Ki(g,w/2,f/2),s=Ki(s,w/2,f/2),e(u,d+g,p),n(u,d+w,p,d+w,p+f,g),n(u,d+w,p+f,d,p+f,s),n(u,d,p+f,d,p,s),n(u,d,p,d+w,p,g),u.closePath())}}const Mc=(t,e,n)=>{t.moveTo(e,n)},Lc=(t,e,n)=>{t.moveTo(n,e)},ka=(t,e,n)=>{t.lineTo(e,n)},_a=(t,e,n)=>{t.lineTo(n,e)},Oc=rv(0),od=rv(1),iv=(t,e,n,r,u,d)=>{t.arc(e,n,r,u,d)},ov=(t,e,n,r,u,d)=>{t.arc(n,e,r,u,d)},sv=(t,e,n,r,u,d,p)=>{t.bezierCurveTo(e,n,r,u,d,p)},av=(t,e,n,r,u,d,p)=>{t.bezierCurveTo(n,e,u,r,p,d)};function lv(t){return(e,n,r,u,d)=>Is(e,n,(p,w,f,g,s,a,h,c,i,l,m)=>{let{pxRound:b,points:x}=p,M,A;g.ori==0?(M=Mc,A=iv):(M=Lc,A=ov);const _=mn(x.width*rn,3);let k=(x.size-x.width)/2*rn,E=mn(k*2,3),O=new Path2D,F=new Path2D,{left:L,top:H,width:P,height:I}=e.bbox;Oc(F,L-E,H-E,P+E*2,I+E*2);const T=C=>{if(f[C]!=null){let N=b(a(w[C],g,l,c)),j=b(h(f[C],s,m,i));M(O,N+k,j),A(O,N,j,k,0,Sc*2)}};if(d)d.forEach(T);else for(let C=r;C<=u;C++)T(C);return{stroke:_>0?O:null,fill:O,clip:F,flags:xa|nd}})}function cv(t){return(e,n,r,u,d,p)=>{r!=u&&(d!=r&&p!=r&&t(e,n,r),d!=u&&p!=u&&t(e,n,u),t(e,n,p))}}const Q$=cv(ka),Z$=cv(_a);function uv(t){const e=tn(t==null?void 0:t.alignGaps,0);return(n,r,u,d)=>Is(n,r,(p,w,f,g,s,a,h,c,i,l,m)=>{[u,d]=xc(f,u,d);let b=p.pxRound,x=P=>b(a(P,g,l,c)),M=P=>b(h(P,s,m,i)),A,_;g.ori==0?(A=ka,_=Q$):(A=_a,_=Z$);const k=g.dir*(g.ori==0?1:-1),E={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:xa},O=E.stroke;let F=!1;if(d-u>=l*4){let P=he=>n.posToVal(he,g.key,!0),I=null,T=null,C,N,j,U=x(w[k==1?u:d]),K=x(w[u]),Z=x(w[d]),te=P(k==1?K+1:Z-1);for(let he=k==1?u:d;he>=u&&he<=d;he+=k){let ne=w[he],ae=(k==1?ne<te:ne>te)?U:x(ne),ce=f[he];ae==U?ce!=null?(N=ce,I==null?(A(O,ae,M(N)),C=I=T=N):N<I?I=N:N>T&&(T=N)):ce===null&&(F=!0):(I!=null&&_(O,U,M(I),M(T),M(C),M(N)),ce!=null?(N=ce,A(O,ae,M(N)),I=T=C=N):(I=T=null,ce===null&&(F=!0)),U=ae,te=P(U+k))}I!=null&&I!=T&&j!=U&&_(O,U,M(I),M(T),M(C),M(N))}else for(let P=k==1?u:d;P>=u&&P<=d;P+=k){let I=f[P];I===null?F=!0:I!=null&&A(O,x(w[P]),M(I))}let[L,H]=rd(n,r);if(p.fill!=null||L!=0){let P=E.fill=new Path2D(O),I=p.fillTo(n,r,p.min,p.max,L),T=M(I),C=x(w[u]),N=x(w[d]);k==-1&&([N,C]=[C,N]),A(P,N,T),A(P,C,T)}if(!p.spanGaps){let P=[];F&&P.push(...id(w,f,u,d,k,x,e)),E.gaps=P=p.gaps(n,r,u,d,P),E.clip=Ec(P,g.ori,c,i,l,m)}return H!=0&&(E.band=H==2?[To(n,r,u,d,O,-1),To(n,r,u,d,O,1)]:To(n,r,u,d,O,H)),E})}function J$(t){const e=tn(t.align,1),n=tn(t.ascDesc,!1),r=tn(t.alignGaps,0),u=tn(t.extend,!1);return(d,p,w,f)=>Is(d,p,(g,s,a,h,c,i,l,m,b,x,M)=>{[w,f]=xc(a,w,f);let A=g.pxRound,{left:_,width:k}=d.bbox,E=Z=>A(i(Z,h,x,m)),O=Z=>A(l(Z,c,M,b)),F=h.ori==0?ka:_a;const L={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:xa},H=L.stroke,P=h.dir*(h.ori==0?1:-1);let I=O(a[P==1?w:f]),T=E(s[P==1?w:f]),C=T,N=T;u&&e==-1&&(N=_,F(H,N,I)),F(H,T,I);for(let Z=P==1?w:f;Z>=w&&Z<=f;Z+=P){let te=a[Z];if(te==null)continue;let he=E(s[Z]),ne=O(te);e==1?F(H,he,I):F(H,C,ne),F(H,he,ne),I=ne,C=he}let j=C;u&&e==1&&(j=_+k,F(H,j,I));let[U,K]=rd(d,p);if(g.fill!=null||U!=0){let Z=L.fill=new Path2D(H),te=g.fillTo(d,p,g.min,g.max,U),he=O(te);F(Z,j,he),F(Z,N,he)}if(!g.spanGaps){let Z=[];Z.push(...id(s,a,w,f,P,E,r));let te=g.width*rn/2,he=n||e==1?te:-te,ne=n||e==-1?-te:te;Z.forEach(ae=>{ae[0]+=he,ae[1]+=ne}),L.gaps=Z=g.gaps(d,p,w,f,Z),L.clip=Ec(Z,h.ori,m,b,x,M)}return K!=0&&(L.band=K==2?[To(d,p,w,f,H,-1),To(d,p,w,f,H,1)]:To(d,p,w,f,H,K)),L})}function hv(t,e,n,r,u,d,p=br){if(t.length>1){let w=null;for(let f=0,g=1/0;f<t.length;f++)if(e[f]!==void 0){if(w!=null){let s=ur(t[f]-t[w]);s<g&&(g=s,p=ur(n(t[f],r,u,d)-n(t[w],r,u,d)))}w=f}}return p}function eA(t){t=t||cl;const e=tn(t.size,[.6,br,1]),n=t.align||0,r=t.gap||0;let u=t.radius;u=u==null?[0,0]:typeof u=="number"?[u,0]:u;const d=Vt(u),p=1-e[0],w=tn(e[1],br),f=tn(e[2],1),g=tn(t.disp,cl),s=tn(t.each,c=>{}),{fill:a,stroke:h}=g;return(c,i,l,m)=>Is(c,i,(b,x,M,A,_,k,E,O,F,L,H)=>{let P=b.pxRound,I=n,T=r*rn,C=w*rn,N=f*rn,j,U;A.ori==0?[j,U]=d(c,i):[U,j]=d(c,i);const K=A.dir*(A.ori==0?1:-1);let Z=A.ori==0?Oc:od,te=A.ori==0?s:(qe,_e,He,Qe,mt,Tt,Ct)=>{s(qe,_e,He,mt,Qe,Ct,Tt)},he=tn(c.bands,Vh).find(qe=>qe.series[0]==i),ne=he!=null?he.dir:0,ae=b.fillTo(c,i,b.min,b.max,ne),ce=P(E(ae,_,H,F)),ue,ve,Ce,Ee=L,Le=P(b.width*rn),Xe=!1,Ge=null,ft=null,it=null,gt=null;a!=null&&(Le==0||h!=null)&&(Xe=!0,Ge=a.values(c,i,l,m),ft=new Map,new Set(Ge).forEach(qe=>{qe!=null&&ft.set(qe,new Path2D)}),Le>0&&(it=h.values(c,i,l,m),gt=new Map,new Set(it).forEach(qe=>{qe!=null&&gt.set(qe,new Path2D)})));let{x0:sn,size:vn}=g;if(sn!=null&&vn!=null){I=1,x=sn.values(c,i,l,m),sn.unit==2&&(x=x.map(_e=>c.posToVal(O+_e*L,A.key,!0)));let qe=vn.values(c,i,l,m);vn.unit==2?ve=qe[0]*L:ve=k(qe[0],A,L,O)-k(0,A,L,O),Ee=hv(x,M,k,A,L,O,Ee),Ce=Ee-ve+T}else Ee=hv(x,M,k,A,L,O,Ee),Ce=Ee*p+T,ve=Ee-Ce;Ce<1&&(Ce=0),Le>=ve/2&&(Le=0),Ce<5&&(P=fy);let Jt=Ce>0,xr=Ee-Ce-(Jt?Le:0);ve=P(qh(xr,N,C)),ue=(I==0?ve/2:I==K?0:ve)-I*K*((I==0?T/2:0)+(Jt?Le/2:0));const wn={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},Dn=Xe?null:new Path2D;let Fn=null;if(he!=null)Fn=c.data[he.series[1]];else{let{y0:qe,y1:_e}=g;qe!=null&&_e!=null&&(M=_e.values(c,i,l,m),Fn=qe.values(c,i,l,m))}let ir=j*ve,xt=U*ve;for(let qe=K==1?l:m;qe>=l&&qe<=m;qe+=K){let _e=M[qe];if(_e==null)continue;if(Fn!=null){let pt=Fn[qe]??0;if(_e-pt==0)continue;ce=E(pt,_,H,F)}let He=A.distr!=2||g!=null?x[qe]:qe,Qe=k(He,A,L,O),mt=E(tn(_e,ae),_,H,F),Tt=P(Qe-ue),Ct=P(Wr(mt,ce)),Pt=P(Ki(mt,ce)),Dt=Ct-Pt;if(_e!=null){let pt=_e<0?xt:ir,kt=_e<0?ir:xt;Xe?(Le>0&&it[qe]!=null&&Z(gt.get(it[qe]),Tt,Pt+di(Le/2),ve,Wr(0,Dt-Le),pt,kt),Ge[qe]!=null&&Z(ft.get(Ge[qe]),Tt,Pt+di(Le/2),ve,Wr(0,Dt-Le),pt,kt)):Z(Dn,Tt,Pt+di(Le/2),ve,Wr(0,Dt-Le),pt,kt),te(c,i,qe,Tt-Le/2,Pt,ve+Le,Dt)}}return Le>0?wn.stroke=Xe?gt:Dn:Xe||(wn._fill=b.width==0?b._fill:b._stroke??b._fill,wn.width=0),wn.fill=Xe?ft:Dn,wn})}function tA(t,e){const n=tn(e==null?void 0:e.alignGaps,0);return(r,u,d,p)=>Is(r,u,(w,f,g,s,a,h,c,i,l,m,b)=>{[d,p]=xc(g,d,p);let x=w.pxRound,M=j=>x(h(j,s,m,i)),A=j=>x(c(j,a,b,l)),_,k,E;s.ori==0?(_=Mc,E=ka,k=sv):(_=Lc,E=_a,k=av);const O=s.dir*(s.ori==0?1:-1);let F=M(f[O==1?d:p]),L=F,H=[],P=[];for(let j=O==1?d:p;j>=d&&j<=p;j+=O)if(g[j]!=null){let U=f[j],K=M(U);H.push(L=K),P.push(A(g[j]))}const I={stroke:t(H,P,_,E,k,x),fill:null,clip:null,band:null,gaps:null,flags:xa},T=I.stroke;let[C,N]=rd(r,u);if(w.fill!=null||C!=0){let j=I.fill=new Path2D(T),U=w.fillTo(r,u,w.min,w.max,C),K=A(U);E(j,L,K),E(j,F,K)}if(!w.spanGaps){let j=[];j.push(...id(f,g,d,p,O,M,n)),I.gaps=j=w.gaps(r,u,d,p,j),I.clip=Ec(j,s.ori,i,l,m,b)}return N!=0&&(I.band=N==2?[To(r,u,d,p,T,-1),To(r,u,d,p,T,1)]:To(r,u,d,p,T,N)),I})}function nA(t){return tA(rA,t)}function rA(t,e,n,r,u,d){const p=t.length;if(p<2)return null;const w=new Path2D;if(n(w,t[0],e[0]),p==2)r(w,t[1],e[1]);else{let f=Array(p),g=Array(p-1),s=Array(p-1),a=Array(p-1);for(let h=0;h<p-1;h++)s[h]=e[h+1]-e[h],a[h]=t[h+1]-t[h],g[h]=s[h]/a[h];f[0]=g[0];for(let h=1;h<p-1;h++)g[h]===0||g[h-1]===0||g[h-1]>0!=g[h]>0?f[h]=0:(f[h]=3*(a[h-1]+a[h])/((2*a[h]+a[h-1])/g[h-1]+(a[h]+2*a[h-1])/g[h]),isFinite(f[h])||(f[h]=0));f[p-1]=g[p-2];for(let h=0;h<p-1;h++)u(w,t[h]+a[h]/3,e[h]+f[h]*a[h]/3,t[h+1]-a[h]/3,e[h+1]-f[h+1]*a[h]/3,t[h+1],e[h+1])}return w}const sd=new Set;function dv(){for(let t of sd)t.syncRect(!0)}ga&&(Es(FT,ma,dv),Es(PT,ma,dv,!0),Es(wc,ma,()=>{Ar.pxRatio=rn}));const iA=uv(),oA=lv();function pv(t,e,n,r){return(r?[t[0],t[1]].concat(t.slice(2)):[t[0]].concat(t.slice(1))).map((u,d)=>ad(u,d,e,n))}function sA(t,e){return t.map((n,r)=>r==0?{}:nr({},e,n))}function ad(t,e,n,r){return nr({},e==0?n:r,t)}function fv(t,e,n){return e==null?va:[e,n]}const aA=fv;function lA(t,e,n){return e==null?va:_c(e,n,zh,!0)}function gv(t,e,n,r){return e==null?va:kc(e,n,t.scales[r].log,!1)}const cA=gv;function mv(t,e,n,r){return e==null?va:Wh(e,n,t.scales[r].log,!1)}const uA=mv;function hA(t,e,n,r,u){let d=Wr(dy(t),dy(e)),p=e-t,w=Vi(u/r*p,n);do{let f=n[w],g=r*f/p;if(g>=u&&d+(f<5?Qo.get(f):0)<=17)return[f,g]}while(++w<n.length);return[0,0]}function yv(t){let e,n;return t=t.replace(/(\d+)px/,(r,u)=>(e=hr((n=+u)*rn))+"px"),[t,e,n]}function dA(t){t.show&&[t.font,t.labelFont].forEach(e=>{let n=mn(e[2]*rn,1);e[0]=e[0].replace(/[0-9.]+px/,n+"px"),e[1]=n})}function Ar(t,e,n){const r={mode:tn(t.mode,1)},u=r.mode;function d(q,X,ie,oe){let fe=X.valToPct(q);return oe+ie*(X.dir==-1?1-fe:fe)}function p(q,X,ie,oe){let fe=X.valToPct(q);return oe+ie*(X.dir==-1?fe:1-fe)}function w(q,X,ie,oe){return X.ori==0?d(q,X,ie,oe):p(q,X,ie,oe)}r.valToPosH=d,r.valToPosV=p;let f=!1;r.status=0;const g=r.root=Ti(wT);if(t.id!=null&&(g.id=t.id),ui(g,t.class),t.title){let q=Ti(kT,g);q.textContent=t.title}const s=qi("canvas"),a=r.ctx=s.getContext("2d"),h=Ti(_T,g);Es("click",h,q=>{q.target===i&&(ln!=Mi||Gt!=bo)&&Bn.click(r,q)},!0);const c=r.under=Ti(ST,h);h.appendChild(s);const i=r.over=Ti(CT,h);t=wa(t);const l=+tn(t.pxAlign,1),m=nv(l);(t.plugins||[]).forEach(q=>{q.opts&&(t=q.opts(r,t)||t)});const b=t.ms||.001,x=r.series=u==1?pv(t.series||[],qy,Zy,!1):sA(t.series||[null],Qy),M=r.axes=pv(t.axes||[],Uy,Gy,!0),A=r.scales={},_=r.bands=t.bands||[];_.forEach(q=>{q.fill=Vt(q.fill||null),q.dir=tn(q.dir,-1)});const k=u==2?x[1].facets[0].scale:x[0].scale,E={axes:Lo,series:La},O=(t.drawOrder||["axes","series"]).map(q=>E[q]);function F(q){const X=q.distr==3?ie=>Co(ie>0?ie:q.clamp(r,ie,q.min,q.max,q.key)):q.distr==4?ie=>Uh(ie,q.asinh):q.distr==100?ie=>q.fwd(ie):ie=>ie;return ie=>{let oe=X(ie),{_min:fe,_max:be}=q,Me=be-fe;return(oe-fe)/Me}}function L(q){let X=A[q];if(X==null){let ie=(t.scales||cl)[q]||cl;if(ie.from!=null){L(ie.from);let oe=nr({},A[ie.from],ie,{key:q});oe.valToPct=F(oe),A[q]=oe}else{X=A[q]=nr({},q==k?Jy:G$,ie),X.key=q;let oe=X.time,fe=X.range,be=Zo(fe);if((q!=k||u==2&&!oe)&&(be&&(fe[0]==null||fe[1]==null)&&(fe={min:fe[0]==null?ly:{mode:1,hard:fe[0],soft:fe[0]},max:fe[1]==null?ly:{mode:1,hard:fe[1],soft:fe[1]}},be=!1),!be&&Tc(fe))){let Me=fe;fe=(Be,We,Ke)=>We==null?va:_c(We,Ke,Me)}X.range=Vt(fe||(oe?aA:q==k?X.distr==3?cA:X.distr==4?uA:fv:X.distr==3?gv:X.distr==4?mv:lA)),X.auto=Vt(be?!1:X.auto),X.clamp=Vt(X.clamp||K$),X._min=X._max=null,X.valToPct=F(X)}}}L("x"),L("y"),u==1&&x.forEach(q=>{L(q.scale)}),M.forEach(q=>{L(q.scale)});for(let q in t.scales)L(q);const H=A[k],P=H.distr;let I,T;H.ori==0?(ui(g,bT),I=d,T=p):(ui(g,xT),I=p,T=d);const C={};for(let q in A){let X=A[q];(X.min!=null||X.max!=null)&&(C[q]={min:X.min,max:X.max},X.min=X.max=null)}const N=t.tzDate||(q=>new Date(hr(q/b))),j=t.fmtDate||Kh,U=b==1?b$(N):_$(N),K=Dy(N,Ny(b==1?w$:k$,j)),Z=Py(N,Fy(C$,j)),te=[],he=r.legend=nr({},A$,t.legend),ne=r.cursor=nr({},I$,{drag:{y:u==2}},t.cursor),ae=he.show,ce=ne.show,ue=he.markers;he.idxs=te,ue.width=Vt(ue.width),ue.dash=Vt(ue.dash),ue.stroke=Vt(ue.stroke),ue.fill=Vt(ue.fill);let ve,Ce,Ee,Le=[],Xe=[],Ge,ft=!1,it={};if(he.live){const q=x[1]?x[1].values:null;ft=q!=null,Ge=ft?q(r,1,0):{_:0};for(let X in Ge)it[X]=Nh}if(ae)if(ve=qi("table",MT,g),Ee=qi("tbody",null,ve),he.mount(r,ve),ft){Ce=qi("thead",null,ve,Ee);let q=qi("tr",null,Ce);qi("th",null,q);for(var gt in Ge)qi("th",Vm,q).textContent=gt}else ui(ve,OT),he.live&&ui(ve,LT);const sn={show:!0},vn={show:!1};function Jt(q,X){if(X==0&&(ft||!he.live||u==2))return va;let ie=[],oe=qi("tr",IT,Ee,Ee.childNodes[X]);ui(oe,q.class),q.show||ui(oe,Rs);let fe=qi("th",null,oe);if(ue.show){let Be=Ti(NT,fe);if(X>0){let We=ue.width(r,X);We&&(Be.style.border=We+"px "+ue.dash(r,X)+" "+ue.stroke(r,X)),Be.style.background=ue.fill(r,X)}}let be=Ti(Vm,fe);q.label instanceof HTMLElement?be.appendChild(q.label):be.textContent=q.label,X>0&&(ue.show||(be.style.color=q.width>0?ue.stroke(r,X):ue.fill(r,X)),wn("click",fe,Be=>{if(ne._lock)return;Qi(Be);let We=x.indexOf(q);if((Be.ctrlKey||Be.metaKey)!=he.isolate){let Ke=x.some((Ze,et)=>et>0&&et!=We&&Ze.show);x.forEach((Ze,et)=>{et>0&&Ur(et,Ke?et==We?sn:vn:sn,!0,ht.setSeries)})}else Ur(We,{show:!q.show},!0,ht.setSeries)},!1),Zi&&wn(Xm,fe,Be=>{ne._lock||(Qi(Be),Ur(x.indexOf(q),Ii,!0,ht.setSeries))},!1));for(var Me in Ge){let Be=qi("td",DT,oe);Be.textContent="--",ie.push(Be)}return[oe,ie]}const xr=new Map;function wn(q,X,ie,oe=!0){const fe=xr.get(X)||{},be=ne.bind[q](r,X,ie,oe);be&&(Es(q,X,fe[q]=be),xr.set(X,fe))}function Dn(q,X,ie){const oe=xr.get(X)||{};for(let fe in oe)(q==null||fe==q)&&(jh(fe,X,oe[fe]),delete oe[fe]);q==null&&xr.delete(X)}let Fn=0,ir=0,xt=0,qe=0,_e=0,He=0,Qe=_e,mt=He,Tt=xt,Ct=qe,Pt=0,Dt=0,pt=0,kt=0;r.bbox={};let Tn=!1,Mr=!1,ei=!1,Xi=!1,$o=!1,kr=!1;function Ao(q,X,ie){(ie||q!=r.width||X!=r.height)&&Jo(q,X),no(!1),ei=!0,Mr=!0,wo()}function Jo(q,X){r.width=Fn=xt=q,r.height=ir=qe=X,_e=He=0,Ws(),Ra();let ie=r.bbox;Pt=ie.left=Ls(_e*rn,.5),Dt=ie.top=Ls(He*rn,.5),pt=ie.width=Ls(xt*rn,.5),kt=ie.height=Ls(qe*rn,.5)}const xl=3;function gi(){let q=!1,X=0;for(;!q;){X++;let ie=Oa(X),oe=Cl(X);q=X==xl||ie&&oe,q||(Jo(r.width,r.height),Mr=!0)}}function kl({width:q,height:X}){Ao(q,X)}r.setSize=kl;function Ws(){let q=!1,X=!1,ie=!1,oe=!1;M.forEach((fe,be)=>{if(fe.show&&fe._show){let{side:Me,_size:Be}=fe,We=Me%2,Ke=fe.label!=null?fe.labelSize:0,Ze=Be+Ke;Ze>0&&(We?(xt-=Ze,Me==3?(_e+=Ze,oe=!0):ie=!0):(qe-=Ze,Me==0?(He+=Ze,q=!0):X=!0))}}),eo[0]=q,eo[1]=ie,eo[2]=X,eo[3]=oe,xt-=Ir[1]+Ir[3],_e+=Ir[3],qe-=Ir[2]+Ir[0],He+=Ir[0]}function Ra(){let q=_e+xt,X=He+qe,ie=_e,oe=He;function fe(be,Me){switch(be){case 1:return q+=Me,q-Me;case 2:return X+=Me,X-Me;case 3:return ie-=Me,ie+Me;case 0:return oe-=Me,oe+Me}}M.forEach((be,Me)=>{if(be.show&&be._show){let Be=be.side;be._pos=fe(Be,be._size),be.label!=null&&(be._lpos=fe(Be,be.labelSize))}})}if(ne.dataIdx==null){let q=ne.hover,X=q.skip=new Set(q.skip??[]);X.add(void 0);let ie=q.prox=Vt(q.prox),oe=q.bias??(q.bias=0);ne.dataIdx=(fe,be,Me,Be)=>{if(be==0)return Me;let We=Me,Ke=ie(fe,be,Me,Be)??br,Ze=Ke>=0&&Ke<br,et=H.ori==0?xt:qe,St=ne.left,Ut=e[0],At=e[be];if(X.has(At[Me])){We=null;let zt=null,yt=null,at;if(oe==0||oe==-1)for(at=Me;zt==null&&at-- >0;)X.has(At[at])||(zt=at);if(oe==0||oe==1)for(at=Me;yt==null&&at++<At.length;)X.has(At[at])||(yt=at);if(zt!=null||yt!=null)if(Ze){let yn=zt==null?-1/0:I(Ut[zt],H,et,0),Rn=yt==null?1/0:I(Ut[yt],H,et,0),ar=St-yn,Xt=Rn-St;ar<=Xt?ar<=Ke&&(We=zt):Xt<=Ke&&(We=yt)}else We=yt==null?zt:zt==null?yt:Me-zt<=yt-Me?zt:yt}else Ze&&ur(St-I(Ut[Me],H,et,0))>Ke&&(We=null);return We}}const Qi=q=>{ne.event=q};ne.idxs=te,ne._lock=!1;let Yn=ne.points;Yn.show=Vt(Yn.show),Yn.size=Vt(Yn.size),Yn.stroke=Vt(Yn.stroke),Yn.width=Vt(Yn.width),Yn.fill=Vt(Yn.fill);const Lr=r.focus=nr({},t.focus||{alpha:.3},ne.focus),Zi=Lr.prox>=0,Ln=Zi&&Yn.one;let Or=[],go=[],Ji=[];function zs(q,X){let ie=Yn.show(r,X);if(ie instanceof HTMLElement)return ui(ie,ET),ui(ie,q.class),co(ie,-10,-10,xt,qe),i.insertBefore(ie,Or[X]),ie}function Ea(q,X){if(u==1||X>0){let ie=u==1&&A[q.scale].time,oe=q.value;q.value=ie?xy(oe)?Py(N,Fy(oe,j)):oe||Z:oe||U$,q.label=q.label||(ie?D$:N$)}if(Ln||X>0){q.width=q.width==null?1:q.width,q.paths=q.paths||iA||GT,q.fillTo=Vt(q.fillTo||Y$),q.pxAlign=+tn(q.pxAlign,l),q.pxRound=nv(q.pxAlign),q.stroke=Vt(q.stroke||null),q.fill=Vt(q.fill||null),q._stroke=q._fill=q._paths=q._focus=null;let ie=q$(Wr(1,q.width),1),oe=q.points=nr({},{size:ie,width:Wr(1,ie*.2),stroke:q.stroke,space:ie*2,paths:oA,_stroke:null,_fill:null},q.points);oe.show=Vt(oe.show),oe.filter=Vt(oe.filter),oe.fill=Vt(oe.fill),oe.stroke=Vt(oe.stroke),oe.paths=Vt(oe.paths),oe.pxAlign=q.pxAlign}if(ae){let ie=Jt(q,X);Le.splice(X,0,ie[0]),Xe.splice(X,0,ie[1]),he.values.push(null)}if(ce){te.splice(X,0,null);let ie=null;Ln?X==0&&(ie=zs(q,X)):X>0&&(ie=zs(q,X)),Or.splice(X,0,ie),go.splice(X,0,0),Ji.splice(X,0,0)}rt("addSeries",X)}function _l(q,X){X=X??x.length,q=u==1?ad(q,X,qy,Zy):ad(q,X,{},Qy),x.splice(X,0,q),Ea(x[X],X)}r.addSeries=_l;function Sl(q){if(x.splice(q,1),ae){he.values.splice(q,1),Xe.splice(q,1);let X=Le.splice(q,1)[0];Dn(null,X.firstChild),X.remove()}ce&&(te.splice(q,1),Or.splice(q,1)[0].remove(),go.splice(q,1),Ji.splice(q,1)),rt("delSeries",q)}r.delSeries=Sl;const eo=[!1,!1,!1,!1];function mi(q,X){if(q._show=q.show,q.show){let ie=q.side%2,oe=A[q.scale];oe==null&&(q.scale=ie?x[1].scale:k,oe=A[q.scale]);let fe=oe.time;q.size=Vt(q.size),q.space=Vt(q.space),q.rotate=Vt(q.rotate),Zo(q.incrs)&&q.incrs.forEach(Me=>{!Qo.has(Me)&&Qo.set(Me,wy(Me))}),q.incrs=Vt(q.incrs||(oe.distr==2?m$:fe?b==1?v$:x$:Os)),q.splits=Vt(q.splits||(fe&&oe.distr==1?U:oe.distr==3?ed:oe.distr==4?B$:P$)),q.stroke=Vt(q.stroke),q.grid.stroke=Vt(q.grid.stroke),q.ticks.stroke=Vt(q.ticks.stroke),q.border.stroke=Vt(q.border.stroke);let be=q.values;q.values=Zo(be)&&!Zo(be[0])?Vt(be):fe?Zo(be)?Dy(N,Ny(be,j)):xy(be)?S$(N,be):be||K:be||F$,q.filter=Vt(q.filter||(oe.distr>=3&&oe.log==10?z$:oe.distr==3&&oe.log==2?H$:gy)),q.font=yv(q.font),q.labelFont=yv(q.labelFont),q._size=q.size(r,null,X,0),q._space=q._rotate=q._incrs=q._found=q._splits=q._values=null,q._size>0&&(eo[X]=!0,q._el=Ti(TT,h))}}function Kt(q,X,ie,oe){let[fe,be,Me,Be]=ie,We=X%2,Ke=0;return We==0&&(Be||be)&&(Ke=X==0&&!fe||X==2&&!Me?hr(Uy.size/3):0),We==1&&(fe||Me)&&(Ke=X==1&&!be||X==3&&!Be?hr(Gy.size/2):0),Ke}const Ma=r.padding=(t.padding||[Kt,Kt,Kt,Kt]).map(q=>Vt(tn(q,Kt))),Ir=r._padding=Ma.map((q,X)=>q(r,X,eo,0));let Xn,bn=null,Pn=null;const Ai=u==1?x[0].idxs:null;let Nr=null,Ri=!1;function es(q,X){if(e=q??[],r.data=r._data=e,u==2){Xn=0;for(let ie=1;ie<x.length;ie++)Xn+=e[ie][0].length}else{e.length==0&&(r.data=r._data=e=[[]]),Nr=e[0],Xn=Nr.length;let ie=e;if(P==2){ie=e.slice();let oe=ie[0]=Array(Xn);for(let fe=0;fe<Xn;fe++)oe[fe]=fe}r._data=e=ie}if(no(!0),rt("setData"),P==2&&(ei=!0),X!==!1){let ie=H;ie.auto(r,Ri)?Hs():or(k,ie.min,ie.max),Xi=Xi||ne.left>=0,kr=!0,wo()}}r.setData=es;function Hs(){Ri=!0;let q,X;u==1&&(Xn>0?(bn=Ai[0]=0,Pn=Ai[1]=Xn-1,q=e[0][bn],X=e[0][Pn],P==2?(q=bn,X=Pn):q==X&&(P==3?[q,X]=kc(q,q,H.log,!1):P==4?[q,X]=Wh(q,q,H.log,!1):H.time?X=q+hr(86400/b):[q,X]=_c(q,X,zh,!0))):(bn=Ai[0]=q=null,Pn=Ai[1]=X=null)),or(k,q,X)}let mo,ti,Ro,ts,ni,ns,Us,qs,rs,dr;function Vs(q,X,ie,oe,fe,be){q??(q=Gm),ie??(ie=Vh),oe??(oe="butt"),fe??(fe=Gm),be??(be="round"),q!=mo&&(a.strokeStyle=mo=q),fe!=ti&&(a.fillStyle=ti=fe),X!=Ro&&(a.lineWidth=Ro=X),be!=ni&&(a.lineJoin=ni=be),oe!=ns&&(a.lineCap=ns=oe),ie!=ts&&a.setLineDash(ts=ie)}function Eo(q,X,ie,oe){X!=ti&&(a.fillStyle=ti=X),q!=Us&&(a.font=Us=q),ie!=qs&&(a.textAlign=qs=ie),oe!=rs&&(a.textBaseline=rs=oe)}function is(q,X,ie,oe,fe=0){if(oe.length>0&&q.auto(r,Ri)&&(X==null||X.min==null)){let be=tn(bn,0),Me=tn(Pn,oe.length-1),Be=ie.min==null?zT(oe,be,Me,fe,q.distr==3):[ie.min,ie.max];q.min=Ki(q.min,ie.min=Be[0]),q.max=Wr(q.max,ie.max=Be[1])}}const os={min:null,max:null};function yo(){for(let oe in A){let fe=A[oe];C[oe]==null&&(fe.min==null||C[k]!=null&&fe.auto(r,Ri))&&(C[oe]=os)}for(let oe in A){let fe=A[oe];C[oe]==null&&fe.from!=null&&C[fe.from]!=null&&(C[oe]=os)}C[k]!=null&&no(!0);let q={};for(let oe in C){let fe=C[oe];if(fe!=null){let be=q[oe]=wa(A[oe],QT);if(fe.min!=null)nr(be,fe);else if(oe!=k||u==2)if(Xn==0&&be.from==null){let Me=be.range(r,null,null,oe);be.min=Me[0],be.max=Me[1]}else be.min=br,be.max=-1/0}}if(Xn>0){x.forEach((oe,fe)=>{if(u==1){let be=oe.scale,Me=C[be];if(Me==null)return;let Be=q[be];if(fe==0){let We=Be.range(r,Be.min,Be.max,be);Be.min=We[0],Be.max=We[1],bn=Vi(Be.min,e[0]),Pn=Vi(Be.max,e[0]),Pn-bn>1&&(e[0][bn]<Be.min&&bn++,e[0][Pn]>Be.max&&Pn--),oe.min=Nr[bn],oe.max=Nr[Pn]}else oe.show&&oe.auto&&is(Be,Me,oe,e[fe],oe.sorted);oe.idxs[0]=bn,oe.idxs[1]=Pn}else if(fe>0&&oe.show&&oe.auto){let[be,Me]=oe.facets,Be=be.scale,We=Me.scale,[Ke,Ze]=e[fe],et=q[Be],St=q[We];et!=null&&is(et,C[Be],be,Ke,be.sorted),St!=null&&is(St,C[We],Me,Ze,Me.sorted),oe.min=Me.min,oe.max=Me.max}});for(let oe in q){let fe=q[oe],be=C[oe];if(fe.from==null&&(be==null||be.min==null)){let Me=fe.range(r,fe.min==br?null:fe.min,fe.max==-1/0?null:fe.max,oe);fe.min=Me[0],fe.max=Me[1]}}}for(let oe in q){let fe=q[oe];if(fe.from!=null){let be=q[fe.from];if(be.min==null)fe.min=fe.max=null;else{let Me=fe.range(r,be.min,be.max,oe);fe.min=Me[0],fe.max=Me[1]}}}let X={},ie=!1;for(let oe in q){let fe=q[oe],be=A[oe];if(be.min!=fe.min||be.max!=fe.max){be.min=fe.min,be.max=fe.max;let Me=be.distr;be._min=Me==3?Co(be.min):Me==4?Uh(be.min,be.asinh):Me==100?be.fwd(be.min):be.min,be._max=Me==3?Co(be.max):Me==4?Uh(be.max,be.asinh):Me==100?be.fwd(be.max):be.max,X[oe]=ie=!0}}if(ie){x.forEach((oe,fe)=>{u==2?fe>0&&X.y&&(oe._paths=null):X[oe.scale]&&(oe._paths=null)});for(let oe in X)ei=!0,rt("setScale",oe);ce&&ne.left>=0&&(Xi=kr=!0)}for(let oe in C)C[oe]=null}function Ks(q){let X=qh(bn-1,0,Xn-1),ie=qh(Pn+1,0,Xn-1);for(;q[X]==null&&X>0;)X--;for(;q[ie]==null&&ie<Xn-1;)ie++;return[X,ie]}function La(){if(Xn>0){let q=x.some(X=>X._focus)&&dr!=Lr.alpha;q&&(a.globalAlpha=dr=Lr.alpha),x.forEach((X,ie)=>{if(ie>0&&X.show&&(ss(ie,!1),ss(ie,!0),X._paths==null)){let oe=dr;dr!=X.alpha&&(a.globalAlpha=dr=X.alpha);let fe=u==2?[0,e[ie][0].length-1]:Ks(e[ie]);X._paths=X.paths(r,ie,fe[0],fe[1]),dr!=oe&&(a.globalAlpha=dr=oe)}}),x.forEach((X,ie)=>{if(ie>0&&X.show){let oe=dr;dr!=X.alpha&&(a.globalAlpha=dr=X.alpha),X._paths!=null&&as(ie,!1);{let fe=X._paths!=null?X._paths.gaps:null,be=X.points.show(r,ie,bn,Pn,fe),Me=X.points.filter(r,ie,be,fe);(be||Me)&&(X.points._paths=X.points.paths(r,ie,bn,Pn,Me),as(ie,!0))}dr!=oe&&(a.globalAlpha=dr=oe),rt("drawSeries",ie)}}),q&&(a.globalAlpha=dr=1)}}function ss(q,X){let ie=X?x[q].points:x[q];ie._stroke=ie.stroke(r,q),ie._fill=ie.fill(r,q)}function as(q,X){let ie=X?x[q].points:x[q],{stroke:oe,fill:fe,clip:be,flags:Me,_stroke:Be=ie._stroke,_fill:We=ie._fill,_width:Ke=ie.width}=ie._paths;Ke=mn(Ke*rn,3);let Ze=null,et=Ke%2/2;X&&We==null&&(We=Ke>0?"#fff":Be);let St=ie.pxAlign==1&&et>0;if(St&&a.translate(et,et),!X){let Ut=Pt-Ke/2,At=Dt-Ke/2,zt=pt+Ke,yt=kt+Ke;Ze=new Path2D,Ze.rect(Ut,At,zt,yt)}X?Mo(Be,Ke,ie.dash,ie.cap,We,oe,fe,Me,be):Gs(q,Be,Ke,ie.dash,ie.cap,We,oe,fe,Me,Ze,be),St&&a.translate(-et,-et)}function Gs(q,X,ie,oe,fe,be,Me,Be,We,Ke,Ze){let et=!1;We!=0&&_.forEach((St,Ut)=>{if(St.series[0]==q){let At=x[St.series[1]],zt=e[St.series[1]],yt=(At._paths||cl).band;Zo(yt)&&(yt=St.dir==1?yt[0]:yt[1]);let at,yn=null;At.show&&yt&&UT(zt,bn,Pn)?(yn=St.fill(r,Ut)||be,at=At._paths.clip):yt=null,Mo(X,ie,oe,fe,yn,Me,Be,We,Ke,Ze,at,yt),et=!0}}),et||Mo(X,ie,oe,fe,be,Me,Be,We,Ke,Ze)}const ls=xa|nd;function Mo(q,X,ie,oe,fe,be,Me,Be,We,Ke,Ze,et){Vs(q,X,ie,oe,fe),(We||Ke||et)&&(a.save(),We&&a.clip(We),Ke&&a.clip(Ke)),et?(Be&ls)==ls?(a.clip(et),Ze&&a.clip(Ze),pr(fe,Me),Ei(q,be,X)):Be&nd?(pr(fe,Me),a.clip(et),Ei(q,be,X)):Be&xa&&(a.save(),a.clip(et),Ze&&a.clip(Ze),pr(fe,Me),a.restore(),Ei(q,be,X)):(pr(fe,Me),Ei(q,be,X)),(We||Ke||et)&&a.restore()}function Ei(q,X,ie){ie>0&&(X instanceof Map?X.forEach((oe,fe)=>{a.strokeStyle=mo=fe,a.stroke(oe)}):X!=null&&q&&a.stroke(X))}function pr(q,X){X instanceof Map?X.forEach((ie,oe)=>{a.fillStyle=ti=oe,a.fill(ie)}):X!=null&&q&&a.fill(X)}function vo(q,X,ie,oe){let fe=M[q],be;if(oe<=0)be=[0,0];else{let Me=fe._space=fe.space(r,q,X,ie,oe),Be=fe._incrs=fe.incrs(r,q,X,ie,oe,Me);be=hA(X,ie,Be,oe,Me)}return fe._found=be}function to(q,X,ie,oe,fe,be,Me,Be,We,Ke){let Ze=Me%2/2;l==1&&a.translate(Ze,Ze),Vs(Be,Me,We,Ke,Be),a.beginPath();let et,St,Ut,At,zt=fe+(oe==0||oe==3?-be:be);ie==0?(St=fe,At=zt):(et=fe,Ut=zt);for(let yt=0;yt<q.length;yt++)X[yt]!=null&&(ie==0?et=Ut=q[yt]:St=At=q[yt],a.moveTo(et,St),a.lineTo(Ut,At));a.stroke(),l==1&&a.translate(-Ze,-Ze)}function Oa(q){let X=!0;return M.forEach((ie,oe)=>{if(!ie.show)return;let fe=A[ie.scale];if(fe.min==null){ie._show&&(X=!1,ie._show=!1,no(!1));return}else ie._show||(X=!1,ie._show=!0,no(!1));let be=ie.side,Me=be%2,{min:Be,max:We}=fe,[Ke,Ze]=vo(oe,Be,We,Me==0?xt:qe);if(Ze==0)return;let et=fe.distr==2,St=ie._splits=ie.splits(r,oe,Be,We,Ke,Ze,et),Ut=fe.distr==2?St.map(at=>Nr[at]):St,At=fe.distr==2?Nr[St[1]]-Nr[St[0]]:Ke,zt=ie._values=ie.values(r,ie.filter(r,Ut,oe,Ze,At),oe,Ze,At);ie._rotate=be==2?ie.rotate(r,zt,oe,Ze):0;let yt=ie._size;ie._size=$i(ie.size(r,zt,oe,q)),yt!=null&&ie._size!=yt&&(X=!1)}),X}function Cl(q){let X=!0;return Ma.forEach((ie,oe)=>{let fe=ie(r,oe,eo,q);fe!=Ir[oe]&&(X=!1),Ir[oe]=fe}),X}function Lo(){for(let q=0;q<M.length;q++){let X=M[q];if(!X.show||!X._show)continue;let ie=X.side,oe=ie%2,fe,be,Me=X.stroke(r,q),Be=ie==0||ie==3?-1:1,[We,Ke]=X._found;if(X.label!=null){let gn=X.labelGap*Be,vr=hr((X._lpos+gn)*rn);Eo(X.labelFont[0],Me,"center",ie==2?sl:Km),a.save(),oe==1?(fe=be=0,a.translate(vr,hr(Dt+kt/2)),a.rotate((ie==3?-Sc:Sc)/2)):(fe=hr(Pt+pt/2),be=vr);let Fo=py(X.label)?X.label(r,q,We,Ke):X.label;a.fillText(Fo,fe,be),a.restore()}if(Ke==0)continue;let Ze=A[X.scale],et=oe==0?pt:kt,St=oe==0?Pt:Dt,Ut=X._splits,At=Ze.distr==2?Ut.map(gn=>Nr[gn]):Ut,zt=Ze.distr==2?Nr[Ut[1]]-Nr[Ut[0]]:We,yt=X.ticks,at=X.border,yn=yt.show?yt.size:0,Rn=hr(yn*rn),ar=hr((X.alignTo==2?X._size-yn-X.gap:X.gap)*rn),Xt=X._rotate*-Sc/180,pe=m(X._pos*rn),Se=(Rn+ar)*Be,xe=pe+Se;be=oe==0?xe:0,fe=oe==1?xe:0;let Ue=X.font[0],dt=X.align==1?fa:X.align==2?Mh:Xt>0?fa:Xt<0?Mh:oe==0?"center":ie==3?Mh:fa,Nt=Xt||oe==1?"middle":ie==2?sl:Km;Eo(Ue,Me,dt,Nt);let en=X.font[1]*X.lineGap,Bt=Ut.map(gn=>m(w(gn,Ze,et,St))),qr=X._values;for(let gn=0;gn<qr.length;gn++){let vr=qr[gn];if(vr!=null){oe==0?fe=Bt[gn]:be=Bt[gn],vr=""+vr;let Fo=vr.indexOf(`
1491
+ `)==-1?[vr]:vr.split(/\n/gm);for(let zn=0;zn<Fo.length;zn++){let Xs=Fo[zn];Xt?(a.save(),a.translate(fe,be+zn*en),a.rotate(Xt),a.fillText(Xs,0,0),a.restore()):a.fillText(Xs,fe,be+zn*en)}}}yt.show&&to(Bt,yt.filter(r,At,q,Ke,zt),oe,ie,pe,Rn,mn(yt.width*rn,3),yt.stroke(r,q),yt.dash,yt.cap);let Ni=X.grid;Ni.show&&to(Bt,Ni.filter(r,At,q,Ke,zt),oe,oe==0?2:1,oe==0?Dt:Pt,oe==0?kt:pt,mn(Ni.width*rn,3),Ni.stroke(r,q),Ni.dash,Ni.cap),at.show&&to([pe],[1],oe==0?1:0,oe==0?1:2,oe==1?Dt:Pt,oe==1?kt:pt,mn(at.width*rn,3),at.stroke(r,q),at.dash,at.cap)}rt("drawAxes")}function no(q){x.forEach((X,ie)=>{ie>0&&(X._paths=null,q&&(u==1?(X.min=null,X.max=null):X.facets.forEach(oe=>{oe.min=null,oe.max=null})))})}let Oo=!1,cs=!1,Io=[];function Ia(){cs=!1;for(let q=0;q<Io.length;q++)rt(...Io[q]);Io.length=0}function wo(){Oo||(i$(Na),Oo=!0)}function je(q,X=!1){Oo=!0,cs=X,q(r),Na(),X&&Io.length>0&&queueMicrotask(Ia)}r.batch=je;function Na(){if(Tn&&(yo(),Tn=!1),ei&&(gi(),ei=!1),Mr){if(_n(c,fa,_e),_n(c,sl,He),_n(c,il,xt),_n(c,ol,qe),_n(i,fa,_e),_n(i,sl,He),_n(i,il,xt),_n(i,ol,qe),_n(h,il,Fn),_n(h,ol,ir),s.width=hr(Fn*rn),s.height=hr(ir*rn),M.forEach(({_el:q,_show:X,_size:ie,_pos:oe,side:fe})=>{if(q!=null)if(X){let be=fe===3||fe===0?ie:0,Me=fe%2==1;_n(q,Me?"left":"top",oe-be),_n(q,Me?"width":"height",ie),_n(q,Me?"top":"left",Me?He:_e),_n(q,Me?"height":"width",Me?qe:xt),Ph(q,Rs)}else ui(q,Rs)}),mo=ti=Ro=ni=ns=Us=qs=rs=ts=null,dr=1,B(!0),_e!=Qe||He!=mt||xt!=Tt||qe!=Ct){no(!1);let q=xt/Tt,X=qe/Ct;if(ce&&!Xi&&ne.left>=0){ne.left*=q,ne.top*=X,yi&&co(yi,hr(ne.left),0,xt,qe),Qn&&co(Qn,0,hr(ne.top),xt,qe);for(let ie=0;ie<Or.length;ie++){let oe=Or[ie];oe!=null&&(go[ie]*=q,Ji[ie]*=X,co(oe,$i(go[ie]),$i(Ji[ie]),xt,qe))}}if(_t.show&&!$o&&_t.left>=0&&_t.width>0){_t.left*=q,_t.width*=q,_t.top*=X,_t.height*=X;for(let ie in Y)_n(Hr,ie,_t[ie])}Qe=_e,mt=He,Tt=xt,Ct=qe}rt("setSize"),Mr=!1}Fn>0&&ir>0&&(a.clearRect(0,0,s.width,s.height),rt("drawClear"),O.forEach(q=>q()),rt("draw")),_t.show&&$o&&(fn(_t),$o=!1),ce&&Xi&&(S(null,!0,!1),Xi=!1),he.show&&he.live&&kr&&(v(),kr=!1),f||(f=!0,r.status=1,rt("ready")),Ri=!1,Oo=!1}r.redraw=(q,X)=>{ei=X||!1,q!==!1?or(k,H.min,H.max):wo()};function Fe(q,X){let ie=A[q];if(ie.from==null){if(Xn==0){let oe=ie.range(r,X.min,X.max,q);X.min=oe[0],X.max=oe[1]}if(X.min>X.max){let oe=X.min;X.min=X.max,X.max=oe}if(Xn>1&&X.min!=null&&X.max!=null&&X.max-X.min<1e-16)return;q==k&&ie.distr==2&&Xn>0&&(X.min=Vi(X.min,e[0]),X.max=Vi(X.max,e[0]),X.min==X.max&&X.max++),C[q]=X,Tn=!0,wo()}}r.setScale=Fe;let On,No,yi,Qn,Da,Do,Mi,bo,an,nn,ln,Gt,Li=!1;const Bn=ne.drag;let ze=Bn.x,xn=Bn.y;ce&&(ne.x&&(On=Ti(AT,i)),ne.y&&(No=Ti(RT,i)),H.ori==0?(yi=On,Qn=No):(yi=No,Qn=On),ln=ne.left,Gt=ne.top);const _t=r.select=nr({show:!0,over:!0,left:0,width:0,top:0,height:0},t.select),Hr=_t.show?Ti($T,_t.over?i:c):null;function fn(q,X){if(_t.show){for(let ie in q)_t[ie]=q[ie],ie in Y&&_n(Hr,ie,q[ie]);X!==!1&&rt("setSelect")}}r.setSelect=fn;function Sn(q){if(x[q].show)ae&&Ph(Le[q],Rs);else if(ae&&ui(Le[q],Rs),ce){let X=Ln?Or[0]:Or[q];X!=null&&co(X,-10,-10,xt,qe)}}function or(q,X,ie){Fe(q,{min:X,max:ie})}function Ur(q,X,ie,oe){X.focus!=null&&gr(q),X.show!=null&&x.forEach((fe,be)=>{be>0&&(q==be||q==null)&&(fe.show=X.show,Sn(be),u==2?(or(fe.facets[0].scale,null,null),or(fe.facets[1].scale,null,null)):or(fe.scale,null,null),wo())}),ie!==!1&&rt("setSeries",q,X),oe&&It("setSeries",r,q,X)}r.setSeries=Ur;function Oi(q,X){nr(_[q],X)}function jn(q,X){q.fill=Vt(q.fill||null),q.dir=tn(q.dir,-1),X=X??_.length,_.splice(X,0,q)}function ri(q){q==null?_.length=0:_.splice(q,1)}r.addBand=jn,r.setBand=Oi,r.delBand=ri;function us(q,X){x[q].alpha=X,ce&&Or[q]!=null&&(Or[q].style.opacity=X),ae&&Le[q]&&(Le[q].style.opacity=X)}let Wn,vi,wi;const Ii={focus:!0};function gr(q){if(q!=wi){let X=q==null,ie=Lr.alpha!=1;x.forEach((oe,fe)=>{if(u==1||fe>0){let be=X||fe==0||fe==q;oe._focus=X?null:be,ie&&us(fe,be?1:Lr.alpha)}}),wi=q,ie&&wo()}}ae&&Zi&&wn(Qm,ve,q=>{ne._lock||(Qi(q),wi!=null&&Ur(null,Ii,!0,ht.setSeries))});function mr(q,X,ie){let oe=A[X];ie&&(q=q/rn-(oe.ori==1?He:_e));let fe=xt;oe.ori==1&&(fe=qe,q=fe-q),oe.dir==-1&&(q=fe-q);let be=oe._min,Me=oe._max,Be=q/fe,We=be+(Me-be)*Be,Ke=oe.distr;return Ke==3?ya(10,We):Ke==4?VT(We,oe.asinh):Ke==100?oe.bwd(We):We}function _r(q,X){let ie=mr(q,k,X);return Vi(ie,e[0],bn,Pn)}r.valToIdx=q=>Vi(q,e[0]),r.posToIdx=_r,r.posToVal=mr,r.valToPos=(q,X,ie)=>A[X].ori==0?d(q,A[X],ie?pt:xt,ie?Pt:0):p(q,A[X],ie?kt:qe,ie?Dt:0),r.setCursor=(q,X,ie)=>{ln=q.left,Gt=q.top,S(null,X,ie)};function Ys(q,X){_n(Hr,fa,_t.left=q),_n(Hr,il,_t.width=X)}function Sr(q,X){_n(Hr,sl,_t.top=q),_n(Hr,ol,_t.height=X)}let Dr=H.ori==0?Ys:Sr,bi=H.ori==1?Ys:Sr;function xi(){if(ae&&he.live)for(let q=u==2?1:0;q<x.length;q++){if(q==0&&ft)continue;let X=he.values[q],ie=0;for(let oe in X)Xe[q][ie++].firstChild.nodeValue=X[oe]}}function v(q,X){if(q!=null&&(q.idxs?q.idxs.forEach((ie,oe)=>{te[oe]=ie}):XT(q.idx)||te.fill(q.idx),he.idx=te[0]),ae&&he.live){for(let ie=0;ie<x.length;ie++)(ie>0||u==1&&!ft)&&$(ie,te[ie]);xi()}kr=!1,X!==!1&&rt("setLegend")}r.setLegend=v;function $(q,X){let ie=x[q],oe=q==0&&P==2?Nr:e[q],fe;ft?fe=ie.values(r,q,X)??it:(fe=ie.value(r,X==null?null:oe[X],q,X),fe=fe==null?it:{_:fe}),he.values[q]=fe}function S(q,X,ie){an=ln,nn=Gt,[ln,Gt]=ne.move(r,ln,Gt),ne.left=ln,ne.top=Gt,ce&&(yi&&co(yi,hr(ln),0,xt,qe),Qn&&co(Qn,0,hr(Gt),xt,qe));let oe,fe=bn>Pn;Wn=br,vi=null;let be=H.ori==0?xt:qe,Me=H.ori==1?xt:qe;if(ln<0||Xn==0||fe){oe=ne.idx=null;for(let Be=0;Be<x.length;Be++){let We=Or[Be];We!=null&&co(We,-10,-10,xt,qe)}Zi&&Ur(null,Ii,!0,q==null&&ht.setSeries),he.live&&(te.fill(oe),kr=!0)}else{let Be,We,Ke;u==1&&(Be=H.ori==0?ln:Gt,We=mr(Be,k),oe=ne.idx=Vi(We,e[0],bn,Pn),Ke=I(e[0][oe],H,be,0));let Ze=-10,et=-10,St=0,Ut=0,At=!0,zt="",yt="";for(let at=u==2?1:0;at<x.length;at++){let yn=x[at],Rn=te[at],ar=Rn==null?null:u==1?e[at][Rn]:e[at][1][Rn],Xt=ne.dataIdx(r,at,oe,We),pe=Xt==null?null:u==1?e[at][Xt]:e[at][1][Xt];if(kr=kr||pe!=ar||Xt!=Rn,te[at]=Xt,at>0&&yn.show){let Se=Xt==null?-10:Xt==oe?Ke:I(u==1?e[0][Xt]:e[at][0][Xt],H,be,0),xe=pe==null?-10:T(pe,u==1?A[yn.scale]:A[yn.facets[1].scale],Me,0);if(Zi&&pe!=null){let Ue=H.ori==1?ln:Gt,dt=ur(Lr.dist(r,at,Xt,xe,Ue));if(dt<Wn){let Nt=Lr.bias;if(Nt!=0){let en=mr(Ue,yn.scale),Bt=pe>=0?1:-1,qr=en>=0?1:-1;qr==Bt&&(qr==1?Nt==1?pe>=en:pe<=en:Nt==1?pe<=en:pe>=en)&&(Wn=dt,vi=at)}else Wn=dt,vi=at}}if(kr||Ln){let Ue,dt;H.ori==0?(Ue=Se,dt=xe):(Ue=xe,dt=Se);let Nt,en,Bt,qr,Ni,gn,vr=!0,Fo=Yn.bbox;if(Fo!=null){vr=!1;let zn=Fo(r,at);Bt=zn.left,qr=zn.top,Nt=zn.width,en=zn.height}else Bt=Ue,qr=dt,Nt=en=Yn.size(r,at);if(gn=Yn.fill(r,at),Ni=Yn.stroke(r,at),Ln)at==vi&&Wn<=Lr.prox&&(Ze=Bt,et=qr,St=Nt,Ut=en,At=vr,zt=gn,yt=Ni);else{let zn=Or[at];zn!=null&&(go[at]=Bt,Ji[at]=qr,iy(zn,Nt,en,vr),ny(zn,gn,Ni),co(zn,$i(Bt),$i(qr),xt,qe))}}}}if(Ln){let at=Lr.prox,yn=wi==null?Wn<=at:Wn>at||vi!=wi;if(kr||yn){let Rn=Or[0];Rn!=null&&(go[0]=Ze,Ji[0]=et,iy(Rn,St,Ut,At),ny(Rn,zt,yt),co(Rn,$i(Ze),$i(et),xt,qe))}}}if(_t.show&&Li)if(q!=null){let[Be,We]=ht.scales,[Ke,Ze]=ht.match,[et,St]=q.cursor.sync.scales,Ut=q.cursor.drag;if(ze=Ut._x,xn=Ut._y,ze||xn){let{left:At,top:zt,width:yt,height:at}=q.select,yn=q.scales[et].ori,Rn=q.posToVal,ar,Xt,pe,Se,xe,Ue=Be!=null&&Ke(Be,et),dt=We!=null&&Ze(We,St);Ue&&ze?(yn==0?(ar=At,Xt=yt):(ar=zt,Xt=at),pe=A[Be],Se=I(Rn(ar,et),pe,be,0),xe=I(Rn(ar+Xt,et),pe,be,0),Dr(Ki(Se,xe),ur(xe-Se))):Dr(0,be),dt&&xn?(yn==1?(ar=At,Xt=yt):(ar=zt,Xt=at),pe=A[We],Se=T(Rn(ar,St),pe,Me,0),xe=T(Rn(ar+Xt,St),pe,Me,0),bi(Ki(Se,xe),ur(xe-Se))):bi(0,Me)}else Q()}else{let Be=ur(an-Da),We=ur(nn-Do);if(H.ori==1){let St=Be;Be=We,We=St}ze=Bn.x&&Be>=Bn.dist,xn=Bn.y&&We>=Bn.dist;let Ke=Bn.uni;Ke!=null?ze&&xn&&(ze=Be>=Ke,xn=We>=Ke,!ze&&!xn&&(We>Be?xn=!0:ze=!0)):Bn.x&&Bn.y&&(ze||xn)&&(ze=xn=!0);let Ze,et;ze&&(H.ori==0?(Ze=Mi,et=ln):(Ze=bo,et=Gt),Dr(Ki(Ze,et),ur(et-Ze)),xn||bi(0,Me)),xn&&(H.ori==1?(Ze=Mi,et=ln):(Ze=bo,et=Gt),bi(Ki(Ze,et),ur(et-Ze)),ze||Dr(0,be)),!ze&&!xn&&(Dr(0,0),bi(0,0))}if(Bn._x=ze,Bn._y=xn,q==null){if(ie){if($n!=null){let[Be,We]=ht.scales;ht.values[0]=Be!=null?mr(H.ori==0?ln:Gt,Be):null,ht.values[1]=We!=null?mr(H.ori==1?ln:Gt,We):null}It(Oh,r,ln,Gt,xt,qe,oe)}if(Zi){let Be=ie&&ht.setSeries,We=Lr.prox;wi==null?Wn<=We&&Ur(vi,Ii,!0,Be):Wn>We?Ur(null,Ii,!0,Be):vi!=wi&&Ur(vi,Ii,!0,Be)}}kr&&(he.idx=oe,v()),X!==!1&&rt("setCursor")}let D=null;Object.defineProperty(r,"rect",{get(){return D==null&&B(!1),D}});function B(q=!1){q?D=null:(D=i.getBoundingClientRect(),rt("syncRect",D))}function W(q,X,ie,oe,fe,be,Me){ne._lock||Li&&q!=null&&q.movementX==0&&q.movementY==0||(V(q,X,ie,oe,fe,be,Me,!1,q!=null),q!=null?S(null,!0,!0):S(X,!0,!1))}function V(q,X,ie,oe,fe,be,Me,Be,We){if(D==null&&B(!1),Qi(q),q!=null)ie=q.clientX-D.left,oe=q.clientY-D.top;else{if(ie<0||oe<0){ln=-10,Gt=-10;return}let[Ke,Ze]=ht.scales,et=X.cursor.sync,[St,Ut]=et.values,[At,zt]=et.scales,[yt,at]=ht.match,yn=X.axes[0].side%2==1,Rn=H.ori==0?xt:qe,ar=H.ori==1?xt:qe,Xt=yn?be:fe,pe=yn?fe:be,Se=yn?oe:ie,xe=yn?ie:oe;if(At!=null?ie=yt(Ke,At)?w(St,A[Ke],Rn,0):-10:ie=Rn*(Se/Xt),zt!=null?oe=at(Ze,zt)?w(Ut,A[Ze],ar,0):-10:oe=ar*(xe/pe),H.ori==1){let Ue=ie;ie=oe,oe=Ue}}We&&(X==null||X.cursor.event.type==Oh)&&((ie<=1||ie>=xt-1)&&(ie=Ls(ie,xt)),(oe<=1||oe>=qe-1)&&(oe=Ls(oe,qe))),Be?(Da=ie,Do=oe,[Mi,bo]=ne.move(r,ie,oe)):(ln=ie,Gt=oe)}const Y={width:0,height:0,left:0,top:0};function Q(){fn(Y,!1)}let re,se,ye,ke;function ge(q,X,ie,oe,fe,be,Me){Li=!0,ze=xn=Bn._x=Bn._y=!1,V(q,X,ie,oe,fe,be,Me,!0,!1),q!=null&&(wn(Ih,Dh,we,!1),It(Ym,r,Mi,bo,xt,qe,null));let{left:Be,top:We,width:Ke,height:Ze}=_t;re=Be,se=We,ye=Ke,ke=Ze}function we(q,X,ie,oe,fe,be,Me){Li=Bn._x=Bn._y=!1,V(q,X,ie,oe,fe,be,Me,!1,!0);let{left:Be,top:We,width:Ke,height:Ze}=_t,et=Ke>0||Ze>0,St=re!=Be||se!=We||ye!=Ke||ke!=Ze;if(et&&St&&fn(_t),Bn.setScale&&et&&St){let Ut=Be,At=Ke,zt=We,yt=Ze;if(H.ori==1&&(Ut=We,At=Ze,zt=Be,yt=Ke),ze&&or(k,mr(Ut,k),mr(Ut+At,k)),xn)for(let at in A){let yn=A[at];at!=k&&yn.from==null&&yn.min!=br&&or(at,mr(zt+yt,at),mr(zt,at))}Q()}else ne.lock&&(ne._lock=!ne._lock,S(X,!0,q!=null));q!=null&&(Dn(Ih,Dh),It(Ih,r,ln,Gt,xt,qe,null))}function De(q,X,ie,oe,fe,be,Me){if(ne._lock)return;Qi(q);let Be=Li;if(Li){let We=!0,Ke=!0,Ze=10,et,St;H.ori==0?(et=ze,St=xn):(et=xn,St=ze),et&&St&&(We=ln<=Ze||ln>=xt-Ze,Ke=Gt<=Ze||Gt>=qe-Ze),et&&We&&(ln=ln<Mi?0:xt),St&&Ke&&(Gt=Gt<bo?0:qe),S(null,!0,!0),Li=!1}ln=-10,Gt=-10,te.fill(null),S(null,!0,!0),Be&&(Li=Be)}function Ne(q,X,ie,oe,fe,be,Me){ne._lock||(Qi(q),Hs(),Q(),q!=null&&It(Zm,r,ln,Gt,xt,qe,null))}function Ve(){M.forEach(dA),Ao(r.width,r.height,!0)}Es(wc,ma,Ve);const ct={};ct.mousedown=ge,ct.mousemove=W,ct.mouseup=we,ct.dblclick=Ne,ct.setSeries=(q,X,ie,oe)=>{let fe=ht.match[2];ie=fe(r,X,ie),ie!=-1&&Ur(ie,oe,!0,!1)},ce&&(wn(Ym,i,ge),wn(Oh,i,W),wn(Xm,i,q=>{Qi(q),B(!1)}),wn(Qm,i,De),wn(Zm,i,Ne),sd.add(r),r.syncRect=B);const Je=r.hooks=t.hooks||{};function rt(q,X,ie){cs?Io.push([q,X,ie]):q in Je&&Je[q].forEach(oe=>{oe.call(null,r,X,ie)})}(t.plugins||[]).forEach(q=>{for(let X in q.hooks)Je[X]=(Je[X]||[]).concat(q.hooks[X])});const kn=(q,X,ie)=>ie,ht=nr({key:null,setSeries:!1,filters:{pub:my,sub:my},scales:[k,x[1]?x[1].scale:null],match:[yy,yy,kn],values:[null,null]},ne.sync);ht.match.length==2&&ht.match.push(kn),ne.sync=ht;const $n=ht.key,$t=tv($n);function It(q,X,ie,oe,fe,be,Me){ht.filters.pub(q,X,ie,oe,fe,be,Me)&&$t.pub(q,X,ie,oe,fe,be,Me)}$t.sub(r);function sr(q,X,ie,oe,fe,be,Me){ht.filters.sub(q,X,ie,oe,fe,be,Me)&&ct[q](null,X,ie,oe,fe,be,Me)}r.pub=sr;function yr(){$t.unsub(r),sd.delete(r),xr.clear(),jh(wc,ma,Ve),g.remove(),ve==null||ve.remove(),rt("destroy")}r.destroy=yr;function An(){rt("init",t,e),es(e||t.data,!1),C[k]?Fe(k,C[k]):Hs(),$o=_t.show&&(_t.width>0||_t.height>0),Xi=kr=!0,Ao(t.width,t.height)}return x.forEach(Ea),M.forEach(mi),n?n instanceof HTMLElement?(n.appendChild(g),An()):n(r,An):An(),r}Ar.assign=nr,Ar.fmtNum=Hh,Ar.rangeNum=_c,Ar.rangeLog=kc,Ar.rangeAsinh=Wh,Ar.orient=Is,Ar.pxRatio=rn,Ar.join=r$,Ar.fmtDate=Kh,Ar.tzDate=f$,Ar.sync=tv;{Ar.addGap=X$,Ar.clipGaps=Ec;let t=Ar.paths={points:lv};t.linear=uv,t.stepped=J$,t.bars=eA,t.spline=nA}var vv,wv;function pA(){return wv||(wv=1,vv=function(t,e,n,r,u){var d,p;if(r===void 0)r=0;else if(r=r|0,r<0||r>=t.length)throw new RangeError("invalid lower bound");if(u===void 0)u=t.length-1;else if(u=u|0,u<r||u>=t.length)throw new RangeError("invalid upper bound");for(;r<=u;)if(d=r+(u-r>>>1),p=+n(t[d],e,d,t),p<0)r=d+1;else if(p>0)u=d-1;else return d;return~r}),vv}var fA=pA();const KB=Wi("B",ec(fA));var ld,bv;function gA(){if(bv)return ld;bv=1;function t(e,n,r){var u=-1,d=e.length;n<0&&(n=-n>d?0:d+n),r=r>d?d:r,r<0&&(r+=d),d=n>r?0:r-n>>>0,n>>>=0;for(var p=Array(d);++u<d;)p[u]=e[u+n];return p}return ld=t,ld}var cd,xv;function mA(){if(xv)return cd;xv=1;var t=gA();function e(n,r,u){var d=n.length;return u=u===void 0?d:u,!r&&u>=d?n:t(n,r,u)}return cd=e,cd}var ud,kv;function _v(){if(kv)return ud;kv=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",u=e+n+r,d="\\ufe0e\\ufe0f",p="\\u200d",w=RegExp("["+p+t+u+d+"]");function f(g){return w.test(g)}return ud=f,ud}var hd,Sv;function yA(){if(Sv)return hd;Sv=1;function t(e){return e.split("")}return hd=t,hd}var dd,Cv;function vA(){if(Cv)return dd;Cv=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",u=e+n+r,d="\\ufe0e\\ufe0f",p="["+t+"]",w="["+u+"]",f="\\ud83c[\\udffb-\\udfff]",g="(?:"+w+"|"+f+")",s="[^"+t+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",c="\\u200d",i=g+"?",l="["+d+"]?",m="(?:"+c+"(?:"+[s,a,h].join("|")+")"+l+i+")*",b=l+i+m,x="(?:"+[s+w+"?",w,a,h,p].join("|")+")",M=RegExp(f+"(?="+f+")|"+x+b,"g");function A(_){return _.match(M)||[]}return dd=A,dd}var pd,Tv;function wA(){if(Tv)return pd;Tv=1;var t=yA(),e=_v(),n=vA();function r(u){return e(u)?n(u):t(u)}return pd=r,pd}var fd,$v;function bA(){if($v)return fd;$v=1;var t=typeof Xo=="object"&&Xo&&Xo.Object===Object&&Xo;return fd=t,fd}var gd,Av;function xA(){if(Av)return gd;Av=1;var t=bA(),e=typeof self=="object"&&self&&self.Object===Object&&self,n=t||e||Function("return this")();return gd=n,gd}var md,Rv;function yd(){if(Rv)return md;Rv=1;var t=xA(),e=t.Symbol;return md=e,md}var vd,Ev;function kA(){if(Ev)return vd;Ev=1;function t(e,n){for(var r=-1,u=e==null?0:e.length,d=Array(u);++r<u;)d[r]=n(e[r],r,e);return d}return vd=t,vd}var wd,Mv;function _A(){if(Mv)return wd;Mv=1;var t=Array.isArray;return wd=t,wd}var bd,Lv;function SA(){if(Lv)return bd;Lv=1;var t=yd(),e=Object.prototype,n=e.hasOwnProperty,r=e.toString,u=t?t.toStringTag:void 0;function d(p){var w=n.call(p,u),f=p[u];try{p[u]=void 0;var g=!0}catch{}var s=r.call(p);return g&&(w?p[u]=f:delete p[u]),s}return bd=d,bd}var xd,Ov;function CA(){if(Ov)return xd;Ov=1;var t=Object.prototype,e=t.toString;function n(r){return e.call(r)}return xd=n,xd}var kd,Iv;function TA(){if(Iv)return kd;Iv=1;var t=yd(),e=SA(),n=CA(),r="[object Null]",u="[object Undefined]",d=t?t.toStringTag:void 0;function p(w){return w==null?w===void 0?u:r:d&&d in Object(w)?e(w):n(w)}return kd=p,kd}var _d,Nv;function $A(){if(Nv)return _d;Nv=1;function t(e){return e!=null&&typeof e=="object"}return _d=t,_d}var Sd,Dv;function AA(){if(Dv)return Sd;Dv=1;var t=TA(),e=$A(),n="[object Symbol]";function r(u){return typeof u=="symbol"||e(u)&&t(u)==n}return Sd=r,Sd}var Cd,Fv;function RA(){if(Fv)return Cd;Fv=1;var t=yd(),e=kA(),n=_A(),r=AA(),u=t?t.prototype:void 0,d=u?u.toString:void 0;function p(w){if(typeof w=="string")return w;if(n(w))return e(w,p)+"";if(r(w))return d?d.call(w):"";var f=w+"";return f=="0"&&1/w==-1/0?"-0":f}return Cd=p,Cd}var Td,Pv;function Ic(){if(Pv)return Td;Pv=1;var t=RA();function e(n){return n==null?"":t(n)}return Td=e,Td}var $d,Bv;function EA(){if(Bv)return $d;Bv=1;var t=mA(),e=_v(),n=wA(),r=Ic();function u(d){return function(p){p=r(p);var w=e(p)?n(p):void 0,f=w?w[0]:p.charAt(0),g=w?t(w,1).join(""):p.slice(1);return f[d]()+g}}return $d=u,$d}var Ad,jv;function Wv(){if(jv)return Ad;jv=1;var t=EA(),e=t("toUpperCase");return Ad=e,Ad}var MA=Wv();const LA=ec(MA);var Rd,zv;function OA(){if(zv)return Rd;zv=1;var t=Ic(),e=Wv();function n(r){return e(t(r).toLowerCase())}return Rd=n,Rd}var Ed,Hv;function IA(){if(Hv)return Ed;Hv=1;function t(e,n,r,u){var d=-1,p=e==null?0:e.length;for(u&&p&&(r=e[++d]);++d<p;)r=n(r,e[d],d,e);return r}return Ed=t,Ed}var Md,Uv;function NA(){if(Uv)return Md;Uv=1;function t(e){return function(n){return e==null?void 0:e[n]}}return Md=t,Md}var Ld,qv;function DA(){if(qv)return Ld;qv=1;var t=NA(),e={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},n=t(e);return Ld=n,Ld}var Od,Vv;function FA(){if(Vv)return Od;Vv=1;var t=DA(),e=Ic(),n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,r="\\u0300-\\u036f",u="\\ufe20-\\ufe2f",d="\\u20d0-\\u20ff",p=r+u+d,w="["+p+"]",f=RegExp(w,"g");function g(s){return s=e(s),s&&s.replace(n,t).replace(f,"")}return Od=g,Od}var Id,Kv;function PA(){if(Kv)return Id;Kv=1;var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function e(n){return n.match(t)||[]}return Id=e,Id}var Nd,Gv;function BA(){if(Gv)return Nd;Gv=1;var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function e(n){return t.test(n)}return Nd=e,Nd}var Dd,Yv;function jA(){if(Yv)return Dd;Yv=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",u=e+n+r,d="\\u2700-\\u27bf",p="a-z\\xdf-\\xf6\\xf8-\\xff",w="\\xac\\xb1\\xd7\\xf7",f="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g="\\u2000-\\u206f",s=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",a="A-Z\\xc0-\\xd6\\xd8-\\xde",h="\\ufe0e\\ufe0f",c=w+f+g+s,i="['’]",l="["+c+"]",m="["+u+"]",b="\\d+",x="["+d+"]",M="["+p+"]",A="[^"+t+c+b+d+p+a+"]",_="\\ud83c[\\udffb-\\udfff]",k="(?:"+m+"|"+_+")",E="[^"+t+"]",O="(?:\\ud83c[\\udde6-\\uddff]){2}",F="[\\ud800-\\udbff][\\udc00-\\udfff]",L="["+a+"]",H="\\u200d",P="(?:"+M+"|"+A+")",I="(?:"+L+"|"+A+")",T="(?:"+i+"(?:d|ll|m|re|s|t|ve))?",C="(?:"+i+"(?:D|LL|M|RE|S|T|VE))?",N=k+"?",j="["+h+"]?",U="(?:"+H+"(?:"+[E,O,F].join("|")+")"+j+N+")*",K="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Z="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",te=j+N+U,he="(?:"+[x,O,F].join("|")+")"+te,ne=RegExp([L+"?"+M+"+"+T+"(?="+[l,L,"$"].join("|")+")",I+"+"+C+"(?="+[l,L+P,"$"].join("|")+")",L+"?"+P+"+"+T,L+"+"+C,Z,K,b,he].join("|"),"g");function ae(ce){return ce.match(ne)||[]}return Dd=ae,Dd}var Fd,Xv;function WA(){if(Xv)return Fd;Xv=1;var t=PA(),e=BA(),n=Ic(),r=jA();function u(d,p,w){return d=n(d),p=w?void 0:p,p===void 0?e(d)?r(d):t(d):d.match(p)||[]}return Fd=u,Fd}var Pd,Qv;function zA(){if(Qv)return Pd;Qv=1;var t=IA(),e=FA(),n=WA(),r="['’]",u=RegExp(r,"g");function d(p){return function(w){return t(n(e(w).replace(u,"")),p,"")}}return Pd=d,Pd}var Bd,Zv;function HA(){if(Zv)return Bd;Zv=1;var t=OA(),e=zA(),n=e(function(r,u,d){return u=u.toLowerCase(),r+(d?t(u):u)});return Bd=n,Bd}var UA=HA();const qA=ec(UA),VA=Object.assign({"./ArrayWidget.vue":()=>lt(()=>ut.import("./ArrayWidget-BbsN1dzF-3c816617807c4a1bbd0b.js"),void 0),"./ArrayplotWidget.vue":()=>lt(()=>ut.import("./ArrayplotWidget-CCKEyYIx-e643e8798adc5b452a84.js"),void 0),"./BlockWidget.vue":()=>lt(()=>ut.import("./BlockWidget-DlCHbqZX-2e2734ab4b0f1a5538ac.js"),void 0),"./ButtonWidget.vue":()=>lt(()=>ut.import("./ButtonWidget-CtfJzCBR-49ed86a3eeaff7fb591e.js"),void 0),"./CanvasWidget.vue":()=>lt(()=>ut.import("./CanvasWidget-CqRlXc4r-df0117c2b26a03da9da9.js"),void 0),"./CanvasdotWidget.vue":()=>lt(()=>ut.import("./CanvasdotWidget--Xr_KsZs-fc30f1224a7323408794.js"),void 0),"./CanvasimageWidget.vue":()=>lt(()=>ut.import("./CanvasimageWidget-BPlj5QYK-8d8661eb3bec77850365.js"),void 0),"./CanvasimagevalueWidget.vue":()=>lt(()=>ut.import("./CanvasimagevalueWidget-DVFGLt8f-cb1b1c1e263304996795.js"),void 0),"./CanvaslabelWidget.vue":()=>lt(()=>ut.import("./CanvaslabelWidget-CYNqmyP0-ecc1e24fd84ea4d742c4.js"),void 0),"./CanvaslabelvalueWidget.vue":()=>lt(()=>ut.import("./CanvaslabelvalueWidget-B7yIDmsn-ee35639139b2238e6c45.js"),void 0),"./CanvaslineWidget.vue":()=>lt(()=>ut.import("./CanvaslineWidget-BICdxX0Q-99f8550b9928117b63d1.js"),void 0),"./CanvaslinevalueWidget.vue":()=>lt(()=>ut.import("./CanvaslinevalueWidget-Cq-Ddh0P-f01ad88e930142c950cc.js"),void 0),"./CheckbuttonWidget.vue":()=>lt(()=>ut.import("./CheckbuttonWidget-B74AWeaW-deb0dab57a05d5af158b.js"),void 0),"./ComboboxWidget.vue":()=>lt(()=>ut.import("./ComboboxWidget-CtyKbEWb-213a19cde84919ab44db.js"),void 0),"./DateWidget.vue":()=>lt(()=>ut.import("./DateWidget-BEVSczU8-b3d34083d4706f4543f9.js"),void 0),"./DynamicWidget.vue":()=>lt(()=>ut.import("./DynamicWidget-CfMtj7H8-62f823a867781781596e.js"),void 0),"./FormatvalueWidget.vue":()=>lt(()=>ut.import("./FormatvalueWidget-DN12xymS-8d9c1ffc0a6950bea903.js"),void 0),"./HorizontalWidget.vue":()=>lt(()=>ut.import("./HorizontalWidget-Cd_wl1b3-c828473da5c64e4c9489.js"),void 0),"./HorizontalboxWidget.vue":()=>lt(()=>ut.import("./HorizontalboxWidget-BcMTFBU--cd3830bdb8d05f2819a3.js"),void 0),"./HorizontallineWidget.vue":()=>lt(()=>ut.import("./HorizontallineWidget-CXFqHclf-643db9a80d241e6e2df8.js"),void 0),"./IframeWidget.vue":()=>lt(()=>ut.import("./IframeWidget-BPerHCCa-3d7296ffca16530b6b04.js"),void 0),"./ImageviewerWidget.vue":()=>lt(()=>ut.import("./ImageviewerWidget-Cw_H_HmZ-3956afe82618985654d2.js"),void 0),"./LabelWidget.vue":()=>lt(()=>ut.import("./LabelWidget-xrmcVeq8-fcc9fea1e3b2a89b572e.js"),void 0),"./LabelledWidget.vue":()=>lt(()=>ut.import("./LabelledWidget-D48QoyMk-a92c1bcb9dbe018ac11e.js"),void 0),"./LabelprogressbarWidget.vue":()=>lt(()=>ut.import("./LabelprogressbarWidget-C_950t6g-bb0d03d7482148b436db.js"),void 0),"./LabelsparklineWidget.vue":()=>lt(()=>ut.import("./LabelsparklineWidget-0KXQyPoU-343f35445a43d237ac38.js"),void 0),"./LabelvalueWidget.vue":()=>lt(()=>ut.import("./LabelvalueWidget-CQ06wWDK-948ef42346f9dde609e2.js"),void 0),"./LabelvaluedescWidget.vue":()=>lt(()=>ut.import("./LabelvaluedescWidget-Bo8zT01X-d9fe81480425c396a048.js"),void 0),"./LabelvaluelimitsbarWidget.vue":()=>lt(()=>ut.import("./LabelvaluelimitsbarWidget-BucTw8Yk-21c8d656590441f125f5.js"),void 0),"./LabelvaluelimitscolumnWidget.vue":()=>lt(()=>ut.import("./LabelvaluelimitscolumnWidget-Dflb1hNd-d760751c866674a79410.js"),void 0),"./LabelvaluerangebarWidget.vue":()=>lt(()=>ut.import("./LabelvaluerangebarWidget-D8cbfXFM-e1ae51493447f44ce2a6.js"),void 0),"./LedWidget.vue":()=>lt(()=>ut.import("./LedWidget-qH_FthkK-4e1254e4141543ad21a0.js"),void 0),"./LimitsbarWidget.vue":()=>lt(()=>ut.import("./LimitsbarWidget-B9lAB2RD-3e2b48bc0114dd3da28c.js"),void 0),"./LimitscolorWidget.vue":()=>lt(()=>ut.import("./LimitscolorWidget-c6Qa6su7-4ec34c9967178f49c48b.js"),void 0),"./LimitscolumnWidget.vue":()=>lt(()=>ut.import("./LimitscolumnWidget-CcLs_443-a86448d5635e917bc427.js"),void 0),"./LinegraphWidget.vue":()=>lt(()=>ut.import("./LinegraphWidget-BSVYLFo1-fee4c34e457b1ca7af1d.js"),void 0),"./MatrixbycolumnsWidget.vue":()=>lt(()=>ut.import("./MatrixbycolumnsWidget-DXFpZTre-23e9224c69f02f6d32d5.js"),void 0),"./ProgressbarWidget.vue":()=>lt(()=>ut.import("./ProgressbarWidget-iYGw8-Dc-b2714b06042b710b2aa6.js"),void 0),"./RadiobuttonWidget.vue":()=>lt(()=>ut.import("./RadiobuttonWidget-ytmoVZ3u-169453335987c0f80710.js"),void 0),"./RadiogroupWidget.vue":()=>lt(()=>ut.import("./RadiogroupWidget-CusMBhKH-2ea8e64bcbb604d3fdd3.js"),void 0),"./RangebarWidget.vue":()=>lt(()=>ut.import("./RangebarWidget-D_zGTtCa-8afafbc3b78c05353dd1.js"),void 0),"./RollupWidget.vue":()=>lt(()=>ut.import("./RollupWidget-Dolsixyt-523dd72502cac46e5e11.js"),void 0),"./ScrollwindowWidget.vue":()=>lt(()=>ut.import("./ScrollwindowWidget-DV2nZuNi-383cddbf07f020fa8597.js"),void 0),"./SignalWidget.vue":()=>lt(()=>ut.import("./SignalWidget-d9-6h85k-228cec76e7f4bf140459.js"),void 0),"./SpacerWidget.vue":()=>lt(()=>ut.import("./SpacerWidget-BH0p2OLi-66846b399ec3e33dc711.js"),void 0),"./SparklineWidget.vue":()=>lt(()=>ut.import("./SparklineWidget-coxi9r2g-3002a5ca5a6aa8f05308.js"),void 0),"./TabbookWidget.vue":()=>lt(()=>ut.import("./TabbookWidget-B1XKplGH-bd824a152e6eabbc63f9.js"),void 0),"./TextboxWidget.vue":()=>lt(()=>ut.import("./TextboxWidget-C-_M2M4l-85e29fd4a2af82ef161e.js"),void 0),"./TextfieldWidget.vue":()=>lt(()=>ut.import("./TextfieldWidget-C08N4JE8-c8f84ae183157aa30ad7.js"),void 0),"./TimeWidget.vue":()=>lt(()=>ut.import("./TimeWidget-DtwdEcFg-d2d5984a0aa366ad1d27.js"),void 0),"./TitleWidget.vue":()=>lt(()=>ut.import("./TitleWidget-CT-aLcNb-640dea16004e819dd90f.js"),void 0),"./ValueWidget.vue":()=>lt(()=>ut.import("./ValueWidget-C6RanBj3-83744f73e96bc8267ef5.js"),void 0),"./ValuelimitsbarWidget.vue":()=>lt(()=>ut.import("./ValuelimitsbarWidget-B3bvjfxc-1306042ed01ad1aebc54.js"),void 0),"./ValuelimitscolumnWidget.vue":()=>lt(()=>ut.import("./ValuelimitscolumnWidget-QvhI6EcE-9342e3f4549eee944c9d.js"),void 0),"./ValuerangebarWidget.vue":()=>lt(()=>ut.import("./ValuerangebarWidget-Dt3K9BnC-2ed9341849547e81903a.js"),void 0),"./VerticalWidget.vue":()=>lt(()=>ut.import("./VerticalWidget-BIIViZgI-992c95609a2a2e955b1e.js"),void 0),"./VerticalboxWidget.vue":()=>lt(()=>ut.import("./VerticalboxWidget-DY72fLHW-9e9cc22604c92d8faac2.js"),void 0)}),KA=Object.entries(VA).reduce((t,[e,n])=>{e=e.split("/").pop();const r=LA(qA(e.replace(/\.\w+$/,"")));return{...t,[r]:vf(n)}},{}),GB=Wi("W",{components:KA}),GA={methods:{buildLanguageMode(t,e){let n=jr.require("ace/lib/oop"),r=Object.getOwnPropertyNames(jm.prototype).filter(f=>f!=="constructor").filter(f=>f!=="exec").concat(["check","check_raw","check_formatted","check_with_units","check_exception","check_tolerance","check_expression","wait","wait_tolerance","wait_expression","wait_check","wait_check_tolerance","wait_check_expression","wait_packet","wait_check_packet","disable_instrumentation","set_line_delay","get_line_delay","set_max_output","get_max_output"]),u=new RegExp(`(\\b${r.join("\\b|\\b")}\\b)`),d=function(){t.call(this);for(let f in this.$rules)this.$rules[f].unshift({regex:u,token:"support.function"})};n.inherits(d,t);let p=jr.require("ace/mode/matching_brace_outdent").MatchingBraceOutdent,w=jr.require("ace/mode/behaviour/cstyle").CstyleBehaviour;return[n,function(){this.HighlightRules=d,this.$outdent=new p,this.$behaviour=new w,this.foldingRules=new e,this.indentKeywords=this.foldingRules.indentKeywords}]},buildRubyMode(){const[t,e]=this.buildLanguageMode(jr.require("ace/mode/ruby_highlight_rules").RubyHighlightRules,jr.require("ace/mode/folding/ruby").FoldMode);let n=jr.require("ace/mode/ruby").Mode;return t.inherits(e,n),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildPythonMode(){const[t,e]=this.buildLanguageMode(jr.require("ace/mode/python_highlight_rules").PythonHighlightRules,jr.require("ace/mode/folding/pythonic").FoldMode);let n=jr.require("ace/mode/python").Mode;return t.inherits(e,n),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildJsonMode(){const[t,e]=this.buildLanguageMode(jr.require("ace/mode/json_highlight_rules").JsonHighlightRules,jr.require("ace/mode/folding/ruby").FoldMode);let n=jr.require("ace/mode/json").Mode;return t.inherits(e,n),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildMarkdownMode(){const[t,e]=this.buildLanguageMode(jr.require("ace/mode/markdown_highlight_rules").MarkdownHighlightRules,jr.require("ace/mode/folding/markdown").FoldMode);let n=jr.require("ace/mode/markdown").Mode;return t.inherits(e,n),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e}}},YA={props:{content:{type:String,required:!0},type:String,name:String,modelValue:Boolean,filename:{type:String,required:!1}},mixins:[GA],data(){return{editor:null,mode:null}},mounted(){this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");let t=null;switch(this.filename?this.filename.split(".").pop():"txt"){case"json":const e=this.buildJsonMode();t=new e,this.editor.setOptions({useWorker:!1});break;case"py":case"pyi":const n=this.buildPythonMode();t=new n;break;case"md":const r=this.buildMarkdownMode();t=new r;break;default:const u=this.buildRubyMode();t=new u;break}this.editor.session.setMode(t),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.content),this.editor.clearSelection(),this.editor.focus(),this.editor.setReadOnly(!0)},beforeUnmount(){this.editor&&this.editor.destroy()},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},title:function(){return`${this.type}: ${this.name}`}},methods:{close:function(){this.show=!this.show},download:function(){const t=new Blob([this.editor.getValue()],{type:"text/plain"});let e=`${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`;this.filename&&(e=this.filename);const n=document.createElement("a");n.href=URL.createObjectURL(t),n.setAttribute("download",e),n.click()}}},XA=["textContent"],QA={class:"mx-2"},ZA={class:"editor",ref:"editor"};function JA(t,e,n,r,u,d){const p=Wt("v-spacer"),w=Wt("v-icon"),f=Wt("v-tooltip"),g=Wt("v-toolbar"),s=Wt("v-card-text"),a=Wt("v-btn"),h=Wt("v-card-actions"),c=Wt("v-card"),i=Wt("v-dialog");return Zt(),er(i,{modelValue:d.show,"onUpdate:modelValue":e[1]||(e[1]=l=>d.show=l),width:"85vw"},{default:nt(()=>[ot(c,null,{default:nt(()=>[ot(g,{height:"24"},{default:nt(()=>[ot(p),lr("span",{textContent:Br(d.title)},null,8,XA),ot(p),lr("div",QA,[ot(f,{location:"top"},{activator:nt(({props:l})=>[lr("div",wf(bf(l)),[ot(w,{"data-test":"downloadIcon",onClick:d.download},{default:nt(()=>e[2]||(e[2]=[En(" mdi-download ")])),_:1},8,["onClick"])],16)]),default:nt(()=>[e[3]||(e[3]=lr("span",null," Download ",-1))]),_:1})])]),_:1}),ot(s,null,{default:nt(()=>[lr("pre",ZA,null,512)]),_:1}),ot(h,{class:"pr-6 pb-4 pt-0"},{default:nt(()=>[ot(p),ot(a,{variant:"flat",onClick:e[0]||(e[0]=l=>d.show=!d.show)},{default:nt(()=>e[4]||(e[4]=[En(" Ok ")])),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const eR=ju(YA,[["render",JA],["__scopeId","data-v-35a62559"]]),tR={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(t){return t.replaceAll(" ","-").toLowerCase()},subMenuClick(t){t.command(t),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},nR={class:"app-title mr-2"};function rR(t,e,n,r,u,d){const p=Wt("v-col"),w=Wt("v-row"),f=Wt("v-icon"),g=Wt("v-btn"),s=Wt("v-divider"),a=Wt("v-list-item-title"),h=Wt("v-list-item"),c=Wt("v-list"),i=Wt("v-menu"),l=Wt("v-radio"),m=Wt("v-list-item-action"),b=Wt("v-radio-group"),x=Wt("v-checkbox");return Zt(),er(xf,{to:"#openc3-menu"},[ot(w,{"no-gutters":""},{default:nt(()=>[ot(p,{"align-self":"end"},{default:nt(()=>[lr("span",nR,Br(n.title),1)]),_:1})]),_:1}),ot(w,{dense:"",class:"flex-nowrap"},{default:nt(()=>[(Zt(!0),Yr(So,null,Ko(n.menus,(M,A)=>(Zt(),er(i,{ref_for:!0,ref:"topmenu",key:A},{activator:nt(({props:_})=>[ot(g,Wu({ref_for:!0},_,{variant:"outlined",class:"mx-1 menu-button",text:M.label,"data-test":d.formatDT(`${n.title} ${M.label}`)}),{append:nt(()=>[ot(f,{class:"menu-button-icon"},{default:nt(()=>e[0]||(e[0]=[En(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:nt(()=>[ot(c,null,{default:nt(()=>[(Zt(!0),Yr(So,null,Ko(M.items,(_,k)=>(Zt(),Yr(So,null,[_.divider?(Zt(),er(s,{key:k+"-divider"})):_.subMenu&&_.subMenu.length>0?(Zt(),Yr("div",{key:k+"-submenu"},[(Zt(),er(i,{"open-on-hover":"",location:"right",key:k},{activator:nt(({props:E})=>[(Zt(),er(h,Wu({ref_for:!0},E,{disabled:_.disabled,key:k}),zu({append:nt(()=>[ot(f,null,{default:nt(()=>e[1]||(e[1]=[En(" mdi-chevron-right ")])),_:1})]),default:nt(()=>[!_.radio&&!_.checkbox?(Zt(),er(a,{key:0,style:Hu("cursor: pointer;"+(_.disabled?"opacity: 0.2":""))},{default:nt(()=>[En(Br(_.label),1)]),_:2},1032,["style"])):so("",!0)]),_:2},[_.icon?{name:"prepend",fn:nt(()=>[ot(f,{disabled:_.disabled},{default:nt(()=>[En(Br(_.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:nt(()=>[ot(c,null,{default:nt(()=>[(Zt(!0),Yr(So,null,Ko(_.subMenu,(E,O)=>(Zt(),er(h,{key:O,"prepend-icon":E.icon,onClick:F=>d.subMenuClick(E)},{default:nt(()=>[ot(a,null,{default:nt(()=>[En(Br(E.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):_.radioGroup?(Zt(),er(b,{"model-value":_.value,"onUpdate:modelValue":_.command,key:k+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:nt(()=>[(Zt(!0),Yr(So,null,Ko(_.choices,(E,O)=>(Zt(),er(h,{key:O+"-choice"},{default:nt(()=>[ot(m,{class:"list-action"},{default:nt(()=>[ot(l,{color:"secondary",label:E.label,value:E.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(Zt(),er(h,{onClick:E=>_.command(_),disabled:_.disabled,"data-test":d.formatDT(`${n.title} ${M.label} ${_.label}`),key:k+"-list"},zu({default:nt(()=>[_.checkbox?(Zt(),er(m,{key:0,class:"list-action"},{default:nt(()=>[ot(x,{modelValue:_.checked,"onUpdate:modelValue":E=>_.checked=E,label:_.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):so("",!0),!_.radio&&!_.checkbox?(Zt(),er(a,{key:1,style:Hu("cursor: pointer;"+(_.disabled?"opacity: 0.2":""))},{default:nt(()=>[En(Br(_.label),1)]),_:2},1032,["style"])):so("",!0)]),_:2},[_.icon?{name:"prepend",fn:nt(()=>[ot(f,{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 iR=ju(tR,[["render",rR],["__scopeId","data-v-4d454b93"]]);function Jv(t,e){return function(){return t.apply(e,arguments)}}const{toString:oR}=Object.prototype,{getPrototypeOf:jd}=Object,Nc=(t=>e=>{const n=oR.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Gi=t=>(t=t.toLowerCase(),e=>Nc(e)===t),Dc=t=>e=>typeof e===t,{isArray:Sa}=Array,dl=Dc("undefined");function sR(t){return t!==null&&!dl(t)&&t.constructor!==null&&!dl(t.constructor)&&pi(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const ew=Gi("ArrayBuffer");function aR(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&ew(t.buffer),e}const lR=Dc("string"),pi=Dc("function"),tw=Dc("number"),Fc=t=>t!==null&&typeof t=="object",cR=t=>t===!0||t===!1,Pc=t=>{if(Nc(t)!=="object")return!1;const e=jd(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},uR=Gi("Date"),hR=Gi("File"),dR=Gi("Blob"),pR=Gi("FileList"),fR=t=>Fc(t)&&pi(t.pipe),gR=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||pi(t.append)&&((e=Nc(t))==="formdata"||e==="object"&&pi(t.toString)&&t.toString()==="[object FormData]"))},mR=Gi("URLSearchParams"),[yR,vR,wR,bR]=["ReadableStream","Request","Response","Headers"].map(Gi),xR=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function pl(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,u;if(typeof t!="object"&&(t=[t]),Sa(t))for(r=0,u=t.length;r<u;r++)e.call(null,t[r],r,t);else{const d=n?Object.getOwnPropertyNames(t):Object.keys(t),p=d.length;let w;for(r=0;r<p;r++)w=d[r],e.call(null,t[w],w,t)}}function nw(t,e){e=e.toLowerCase();const n=Object.keys(t);let r=n.length,u;for(;r-- >0;)if(u=n[r],e===u.toLowerCase())return u;return null}const Ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,rw=t=>!dl(t)&&t!==Ns;function Wd(){const{caseless:t}=rw(this)&&this||{},e={},n=(r,u)=>{const d=t&&nw(e,u)||u;Pc(e[d])&&Pc(r)?e[d]=Wd(e[d],r):Pc(r)?e[d]=Wd({},r):Sa(r)?e[d]=r.slice():e[d]=r};for(let r=0,u=arguments.length;r<u;r++)arguments[r]&&pl(arguments[r],n);return e}const kR=(t,e,n,{allOwnKeys:r}={})=>(pl(e,(u,d)=>{n&&pi(u)?t[d]=Jv(u,n):t[d]=u},{allOwnKeys:r}),t),_R=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),SR=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},CR=(t,e,n,r)=>{let u,d,p;const w={};if(e=e||{},t==null)return e;do{for(u=Object.getOwnPropertyNames(t),d=u.length;d-- >0;)p=u[d],(!r||r(p,t,e))&&!w[p]&&(e[p]=t[p],w[p]=!0);t=n!==!1&&jd(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},TR=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},$R=t=>{if(!t)return null;if(Sa(t))return t;let e=t.length;if(!tw(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},AR=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&jd(Uint8Array)),RR=(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const u=r.value;e.call(t,u[0],u[1])}},ER=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},MR=Gi("HTMLFormElement"),LR=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,r){return n.toUpperCase()+r}),iw=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),OR=Gi("RegExp"),ow=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};pl(n,(u,d)=>{let p;(p=e(u,d,t))!==!1&&(r[d]=p||u)}),Object.defineProperties(t,r)},IR=t=>{ow(t,(e,n)=>{if(pi(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(pi(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},NR=(t,e)=>{const n={},r=u=>{u.forEach(d=>{n[d]=!0})};return Sa(t)?r(t):r(String(t).split(e)),n},DR=()=>{},FR=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function PR(t){return!!(t&&pi(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const BR=t=>{const e=new Array(10),n=(r,u)=>{if(Fc(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[u]=r;const d=Sa(r)?[]:{};return pl(r,(p,w)=>{const f=n(p,u+1);!dl(f)&&(d[w]=f)}),e[u]=void 0,d}}return r};return n(t,0)},jR=Gi("AsyncFunction"),WR=t=>t&&(Fc(t)||pi(t))&&pi(t.then)&&pi(t.catch),sw=((t,e)=>t?setImmediate:e?((n,r)=>(Ns.addEventListener("message",({source:u,data:d})=>{u===Ns&&d===n&&r.length&&r.shift()()},!1),u=>{r.push(u),Ns.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",pi(Ns.postMessage)),zR=typeof queueMicrotask<"u"?queueMicrotask.bind(Ns):typeof process<"u"&&process.nextTick||sw,Ae={isArray:Sa,isArrayBuffer:ew,isBuffer:sR,isFormData:gR,isArrayBufferView:aR,isString:lR,isNumber:tw,isBoolean:cR,isObject:Fc,isPlainObject:Pc,isReadableStream:yR,isRequest:vR,isResponse:wR,isHeaders:bR,isUndefined:dl,isDate:uR,isFile:hR,isBlob:dR,isRegExp:OR,isFunction:pi,isStream:fR,isURLSearchParams:mR,isTypedArray:AR,isFileList:pR,forEach:pl,merge:Wd,extend:kR,trim:xR,stripBOM:_R,inherits:SR,toFlatObject:CR,kindOf:Nc,kindOfTest:Gi,endsWith:TR,toArray:$R,forEachEntry:RR,matchAll:ER,isHTMLForm:MR,hasOwnProperty:iw,hasOwnProp:iw,reduceDescriptors:ow,freezeMethods:IR,toObjectSet:NR,toCamelCase:LR,noop:DR,toFiniteNumber:FR,findKey:nw,global:Ns,isContextDefined:rw,isSpecCompliantForm:PR,toJSONObject:BR,isAsyncFn:jR,isThenable:WR,setImmediate:sw,asap:zR};function Lt(t,e,n,r,u){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),u&&(this.response=u,this.status=u.status?u.status:null)}Ae.inherits(Lt,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:Ae.toJSONObject(this.config),code:this.code,status:this.status}}});const aw=Lt.prototype,lw={};["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(t=>{lw[t]={value:t}}),Object.defineProperties(Lt,lw),Object.defineProperty(aw,"isAxiosError",{value:!0}),Lt.from=(t,e,n,r,u,d)=>{const p=Object.create(aw);return Ae.toFlatObject(t,p,function(w){return w!==Error.prototype},w=>w!=="isAxiosError"),Lt.call(p,t.message,e,n,r,u),p.cause=t,p.name=t.name,d&&Object.assign(p,d),p};const HR=null;function zd(t){return Ae.isPlainObject(t)||Ae.isArray(t)}function cw(t){return Ae.endsWith(t,"[]")?t.slice(0,-2):t}function uw(t,e,n){return t?t.concat(e).map(function(r,u){return r=cw(r),!n&&u?"["+r+"]":r}).join(n?".":""):e}function UR(t){return Ae.isArray(t)&&!t.some(zd)}const qR=Ae.toFlatObject(Ae,{},null,function(t){return/^is[A-Z]/.test(t)});function Bc(t,e,n){if(!Ae.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=Ae.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(c,i){return!Ae.isUndefined(i[c])});const r=n.metaTokens,u=n.visitor||g,d=n.dots,p=n.indexes,w=(n.Blob||typeof Blob<"u"&&Blob)&&Ae.isSpecCompliantForm(e);if(!Ae.isFunction(u))throw new TypeError("visitor must be a function");function f(c){if(c===null)return"";if(Ae.isDate(c))return c.toISOString();if(!w&&Ae.isBlob(c))throw new Lt("Blob is not supported. Use a Buffer instead.");return Ae.isArrayBuffer(c)||Ae.isTypedArray(c)?w&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function g(c,i,l){let m=c;if(c&&!l&&typeof c=="object"){if(Ae.endsWith(i,"{}"))i=r?i:i.slice(0,-2),c=JSON.stringify(c);else if(Ae.isArray(c)&&UR(c)||(Ae.isFileList(c)||Ae.endsWith(i,"[]"))&&(m=Ae.toArray(c)))return i=cw(i),m.forEach(function(b,x){!(Ae.isUndefined(b)||b===null)&&e.append(p===!0?uw([i],x,d):p===null?i:i+"[]",f(b))}),!1}return zd(c)?!0:(e.append(uw(l,i,d),f(c)),!1)}const s=[],a=Object.assign(qR,{defaultVisitor:g,convertValue:f,isVisitable:zd});function h(c,i){if(!Ae.isUndefined(c)){if(s.indexOf(c)!==-1)throw Error("Circular reference detected in "+i.join("."));s.push(c),Ae.forEach(c,function(l,m){(!(Ae.isUndefined(l)||l===null)&&u.call(e,l,Ae.isString(m)?m.trim():m,i,a))===!0&&h(l,i?i.concat(m):[m])}),s.pop()}}if(!Ae.isObject(t))throw new TypeError("data must be an object");return h(t),e}function hw(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function Hd(t,e){this._pairs=[],t&&Bc(t,this,e)}const dw=Hd.prototype;dw.append=function(t,e){this._pairs.push([t,e])},dw.toString=function(t){const e=t?function(n){return t.call(this,n,hw)}:hw;return this._pairs.map(function(n){return e(n[0])+"="+e(n[1])},"").join("&")};function VR(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function pw(t,e,n){if(!e)return t;const r=n&&n.encode||VR;Ae.isFunction(n)&&(n={serialize:n});const u=n&&n.serialize;let d;if(u?d=u(e,n):d=Ae.isURLSearchParams(e)?e.toString():new Hd(e,n).toString(r),d){const p=t.indexOf("#");p!==-1&&(t=t.slice(0,p)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}let fw=class{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Ae.forEach(this.handlers,function(n){n!==null&&e(n)})}};const gw={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},KR=typeof URLSearchParams<"u"?URLSearchParams:Hd,GR=typeof FormData<"u"?FormData:null,YR=typeof Blob<"u"?Blob:null,XR={isBrowser:!0,classes:{URLSearchParams:KR,FormData:GR,Blob:YR},protocols:["http","https","file","blob","url","data"]},Ud=typeof window<"u"&&typeof document<"u",qd=typeof navigator=="object"&&navigator||void 0,QR=Ud&&(!qd||["ReactNative","NativeScript","NS"].indexOf(qd.product)<0),ZR=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",JR=Ud&&window.location.href||"http://localhost",eE=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ud,hasStandardBrowserEnv:QR,hasStandardBrowserWebWorkerEnv:ZR,navigator:qd,origin:JR},Symbol.toStringTag,{value:"Module"})),Rr={...eE,...XR};function tE(t,e){return Bc(t,new Rr.classes.URLSearchParams,Object.assign({visitor:function(n,r,u,d){return Rr.isNode&&Ae.isBuffer(n)?(this.append(r,n.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)}},e))}function nE(t){return Ae.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function rE(t){const e={},n=Object.keys(t);let r;const u=n.length;let d;for(r=0;r<u;r++)d=n[r],e[d]=t[d];return e}function mw(t){function e(n,r,u,d){let p=n[d++];if(p==="__proto__")return!0;const w=Number.isFinite(+p),f=d>=n.length;return p=!p&&Ae.isArray(u)?u.length:p,f?(Ae.hasOwnProp(u,p)?u[p]=[u[p],r]:u[p]=r,!w):((!u[p]||!Ae.isObject(u[p]))&&(u[p]=[]),e(n,r,u[p],d)&&Ae.isArray(u[p])&&(u[p]=rE(u[p])),!w)}if(Ae.isFormData(t)&&Ae.isFunction(t.entries)){const n={};return Ae.forEachEntry(t,(r,u)=>{e(nE(r),u,n,0)}),n}return null}function iE(t,e,n){if(Ae.isString(t))try{return(e||JSON.parse)(t),Ae.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const fl={transitional:gw,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,u=Ae.isObject(t);if(u&&Ae.isHTMLForm(t)&&(t=new FormData(t)),Ae.isFormData(t))return r?JSON.stringify(mw(t)):t;if(Ae.isArrayBuffer(t)||Ae.isBuffer(t)||Ae.isStream(t)||Ae.isFile(t)||Ae.isBlob(t)||Ae.isReadableStream(t))return t;if(Ae.isArrayBufferView(t))return t.buffer;if(Ae.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let d;if(u){if(n.indexOf("application/x-www-form-urlencoded")>-1)return tE(t,this.formSerializer).toString();if((d=Ae.isFileList(t))||n.indexOf("multipart/form-data")>-1){const p=this.env&&this.env.FormData;return Bc(d?{"files[]":t}:t,p&&new p,this.formSerializer)}}return u||r?(e.setContentType("application/json",!1),iE(t)):t}],transformResponse:[function(t){const e=this.transitional||fl.transitional,n=e&&e.forcedJSONParsing,r=this.responseType==="json";if(Ae.isResponse(t)||Ae.isReadableStream(t))return t;if(t&&Ae.isString(t)&&(n&&!this.responseType||r)){const u=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(d){if(u)throw d.name==="SyntaxError"?Lt.from(d,Lt.ERR_BAD_RESPONSE,this,null,this.response):d}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Rr.classes.FormData,Blob:Rr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ae.forEach(["delete","get","head","post","put","patch"],t=>{fl.headers[t]={}});const oE=Ae.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"]),sE=t=>{const e={};let n,r,u;return t&&t.split(`
1492
+ `).forEach(function(d){u=d.indexOf(":"),n=d.substring(0,u).trim().toLowerCase(),r=d.substring(u+1).trim(),!(!n||e[n]&&oE[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},yw=Symbol("internals");function gl(t){return t&&String(t).trim().toLowerCase()}function jc(t){return t===!1||t==null?t:Ae.isArray(t)?t.map(jc):String(t)}function aE(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const lE=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Vd(t,e,n,r,u){if(Ae.isFunction(r))return r.call(this,e,n);if(u&&(e=n),!!Ae.isString(e)){if(Ae.isString(r))return e.indexOf(r)!==-1;if(Ae.isRegExp(r))return r.test(e)}}function cE(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function uE(t,e){const n=Ae.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(u,d,p){return this[r].call(this,e,u,d,p)},configurable:!0})})}let Zr=class{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function u(p,w,f){const g=gl(w);if(!g)throw new Error("header name must be a non-empty string");const s=Ae.findKey(r,g);(!s||r[s]===void 0||f===!0||f===void 0&&r[s]!==!1)&&(r[s||w]=jc(p))}const d=(p,w)=>Ae.forEach(p,(f,g)=>u(f,g,w));if(Ae.isPlainObject(t)||t instanceof this.constructor)d(t,e);else if(Ae.isString(t)&&(t=t.trim())&&!lE(t))d(sE(t),e);else if(Ae.isHeaders(t))for(const[p,w]of t.entries())u(w,p,n);else t!=null&&u(e,t,n);return this}get(t,e){if(t=gl(t),t){const n=Ae.findKey(this,t);if(n){const r=this[n];if(!e)return r;if(e===!0)return aE(r);if(Ae.isFunction(e))return e.call(this,r,n);if(Ae.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=gl(t),t){const n=Ae.findKey(this,t);return!!(n&&this[n]!==void 0&&(!e||Vd(this,this[n],n,e)))}return!1}delete(t,e){const n=this;let r=!1;function u(d){if(d=gl(d),d){const p=Ae.findKey(n,d);p&&(!e||Vd(n,n[p],p,e))&&(delete n[p],r=!0)}}return Ae.isArray(t)?t.forEach(u):u(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const u=e[n];(!t||Vd(this,this[u],u,t,!0))&&(delete this[u],r=!0)}return r}normalize(t){const e=this,n={};return Ae.forEach(this,(r,u)=>{const d=Ae.findKey(n,u);if(d){e[d]=jc(r),delete e[u];return}const p=t?cE(u):String(u).trim();p!==u&&delete e[u],e[p]=jc(r),n[p]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return Ae.forEach(this,(n,r)=>{n!=null&&n!==!1&&(e[r]=t&&Ae.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join(`
1493
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach(r=>n.set(r)),n}static accessor(t){const e=(this[yw]=this[yw]={accessors:{}}).accessors,n=this.prototype;function r(u){const d=gl(u);e[d]||(uE(n,u),e[d]=!0)}return Ae.isArray(t)?t.forEach(r):r(t),this}};Zr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ae.reduceDescriptors(Zr.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),Ae.freezeMethods(Zr);function Kd(t,e){const n=this||fl,r=e||n,u=Zr.from(r.headers);let d=r.data;return Ae.forEach(t,function(p){d=p.call(n,d,u.normalize(),e?e.status:void 0)}),u.normalize(),d}function vw(t){return!!(t&&t.__CANCEL__)}function Ca(t,e,n){Lt.call(this,t??"canceled",Lt.ERR_CANCELED,e,n),this.name="CanceledError"}Ae.inherits(Ca,Lt,{__CANCEL__:!0});function ww(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new Lt("Request failed with status code "+n.status,[Lt.ERR_BAD_REQUEST,Lt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function hE(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function dE(t,e){t=t||10;const n=new Array(t),r=new Array(t);let u=0,d=0,p;return e=e!==void 0?e:1e3,function(w){const f=Date.now(),g=r[d];p||(p=f),n[u]=w,r[u]=f;let s=d,a=0;for(;s!==u;)a+=n[s++],s=s%t;if(u=(u+1)%t,u===d&&(d=(d+1)%t),f-p<e)return;const h=g&&f-g;return h?Math.round(a*1e3/h):void 0}}function pE(t,e){let n=0,r=1e3/e,u,d;const p=(w,f=Date.now())=>{n=f,u=null,d&&(clearTimeout(d),d=null),t.apply(null,w)};return[(...w)=>{const f=Date.now(),g=f-n;g>=r?p(w,f):(u=w,d||(d=setTimeout(()=>{d=null,p(u)},r-g)))},()=>u&&p(u)]}const Wc=(t,e,n=3)=>{let r=0;const u=dE(50,250);return pE(d=>{const p=d.loaded,w=d.lengthComputable?d.total:void 0,f=p-r,g=u(f),s=p<=w;r=p;const a={loaded:p,total:w,progress:w?p/w:void 0,bytes:f,rate:g||void 0,estimated:g&&w&&s?(w-p)/g:void 0,event:d,lengthComputable:w!=null,[e?"download":"upload"]:!0};t(a)},n)},bw=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},xw=t=>(...e)=>Ae.asap(()=>t(...e)),fE=Rr.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Rr.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Rr.origin),Rr.navigator&&/(msie|trident)/i.test(Rr.navigator.userAgent)):()=>!0,gE=Rr.hasStandardBrowserEnv?{write(t,e,n,r,u,d){const p=[t+"="+encodeURIComponent(e)];Ae.isNumber(n)&&p.push("expires="+new Date(n).toGMTString()),Ae.isString(r)&&p.push("path="+r),Ae.isString(u)&&p.push("domain="+u),d===!0&&p.push("secure"),document.cookie=p.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function mE(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function yE(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function kw(t,e,n){let r=!mE(e);return t&&(r||n==!1)?yE(t,e):e}const _w=t=>t instanceof Zr?{...t}:t;function Ds(t,e){e=e||{};const n={};function r(g,s,a,h){return Ae.isPlainObject(g)&&Ae.isPlainObject(s)?Ae.merge.call({caseless:h},g,s):Ae.isPlainObject(s)?Ae.merge({},s):Ae.isArray(s)?s.slice():s}function u(g,s,a,h){if(Ae.isUndefined(s)){if(!Ae.isUndefined(g))return r(void 0,g,a,h)}else return r(g,s,a,h)}function d(g,s){if(!Ae.isUndefined(s))return r(void 0,s)}function p(g,s){if(Ae.isUndefined(s)){if(!Ae.isUndefined(g))return r(void 0,g)}else return r(void 0,s)}function w(g,s,a){if(a in e)return r(g,s);if(a in t)return r(void 0,g)}const f={url:d,method:d,data:d,baseURL:p,transformRequest:p,transformResponse:p,paramsSerializer:p,timeout:p,timeoutMessage:p,withCredentials:p,withXSRFToken:p,adapter:p,responseType:p,xsrfCookieName:p,xsrfHeaderName:p,onUploadProgress:p,onDownloadProgress:p,decompress:p,maxContentLength:p,maxBodyLength:p,beforeRedirect:p,transport:p,httpAgent:p,httpsAgent:p,cancelToken:p,socketPath:p,responseEncoding:p,validateStatus:w,headers:(g,s,a)=>u(_w(g),_w(s),a,!0)};return Ae.forEach(Object.keys(Object.assign({},t,e)),function(g){const s=f[g]||u,a=s(t[g],e[g],g);Ae.isUndefined(a)&&s!==w||(n[g]=a)}),n}const Sw=t=>{const e=Ds({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:u,xsrfCookieName:d,headers:p,auth:w}=e;e.headers=p=Zr.from(p),e.url=pw(kw(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),w&&p.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let f;if(Ae.isFormData(n)){if(Rr.hasStandardBrowserEnv||Rr.hasStandardBrowserWebWorkerEnv)p.setContentType(void 0);else if((f=p.getContentType())!==!1){const[g,...s]=f?f.split(";").map(a=>a.trim()).filter(Boolean):[];p.setContentType([g||"multipart/form-data",...s].join("; "))}}if(Rr.hasStandardBrowserEnv&&(r&&Ae.isFunction(r)&&(r=r(e)),r||r!==!1&&fE(e.url))){const g=u&&d&&gE.read(d);g&&p.set(u,g)}return e},vE=typeof XMLHttpRequest<"u",wE=vE&&function(t){return new Promise(function(e,n){const r=Sw(t);let u=r.data;const d=Zr.from(r.headers).normalize();let{responseType:p,onUploadProgress:w,onDownloadProgress:f}=r,g,s,a,h,c;function i(){h&&h(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(g),r.signal&&r.signal.removeEventListener("abort",g)}let l=new XMLHttpRequest;l.open(r.method.toUpperCase(),r.url,!0),l.timeout=r.timeout;function m(){if(!l)return;const x=Zr.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),M={data:!p||p==="text"||p==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:x,config:t,request:l};ww(function(A){e(A),i()},function(A){n(A),i()},M),l=null}"onloadend"in l?l.onloadend=m:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(m)},l.onabort=function(){l&&(n(new Lt("Request aborted",Lt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new Lt("Network Error",Lt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const M=r.transitional||gw;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),n(new Lt(x,M.clarifyTimeoutError?Lt.ETIMEDOUT:Lt.ECONNABORTED,t,l)),l=null},u===void 0&&d.setContentType(null),"setRequestHeader"in l&&Ae.forEach(d.toJSON(),function(x,M){l.setRequestHeader(M,x)}),Ae.isUndefined(r.withCredentials)||(l.withCredentials=!!r.withCredentials),p&&p!=="json"&&(l.responseType=r.responseType),f&&([a,c]=Wc(f,!0),l.addEventListener("progress",a)),w&&l.upload&&([s,h]=Wc(w),l.upload.addEventListener("progress",s),l.upload.addEventListener("loadend",h)),(r.cancelToken||r.signal)&&(g=x=>{l&&(n(!x||x.type?new Ca(null,t,l):x),l.abort(),l=null)},r.cancelToken&&r.cancelToken.subscribe(g),r.signal&&(r.signal.aborted?g():r.signal.addEventListener("abort",g)));const b=hE(r.url);if(b&&Rr.protocols.indexOf(b)===-1){n(new Lt("Unsupported protocol "+b+":",Lt.ERR_BAD_REQUEST,t));return}l.send(u||null)})},bE=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,u;const d=function(g){if(!u){u=!0,w();const s=g instanceof Error?g:this.reason;r.abort(s instanceof Lt?s:new Ca(s instanceof Error?s.message:s))}};let p=e&&setTimeout(()=>{p=null,d(new Lt(`timeout ${e} of ms exceeded`,Lt.ETIMEDOUT))},e);const w=()=>{t&&(p&&clearTimeout(p),p=null,t.forEach(g=>{g.unsubscribe?g.unsubscribe(d):g.removeEventListener("abort",d)}),t=null)};t.forEach(g=>g.addEventListener("abort",d));const{signal:f}=r;return f.unsubscribe=()=>Ae.asap(w),f}},xE=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,u;for(;r<n;)u=r+e,yield t.slice(r,u),r=u},kE=async function*(t,e){for await(const n of _E(t))yield*xE(n,e)},_E=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},Cw=(t,e,n,r)=>{const u=kE(t,e);let d=0,p,w=f=>{p||(p=!0,r&&r(f))};return new ReadableStream({async pull(f){try{const{done:g,value:s}=await u.next();if(g){w(),f.close();return}let a=s.byteLength;if(n){let h=d+=a;n(h)}f.enqueue(new Uint8Array(s))}catch(g){throw w(g),g}},cancel(f){return w(f),u.return()}},{highWaterMark:2})},zc=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Tw=zc&&typeof ReadableStream=="function",SE=zc&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),$w=(t,...e)=>{try{return!!t(...e)}catch{return!1}},CE=Tw&&$w(()=>{let t=!1;const e=new Request(Rr.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),Aw=64*1024,Gd=Tw&&$w(()=>Ae.isReadableStream(new Response("").body)),Hc={stream:Gd&&(t=>t.body)};zc&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Hc[e]&&(Hc[e]=Ae.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new Lt(`Response type '${e}' is not supported`,Lt.ERR_NOT_SUPPORT,r)})})})(new Response);const TE=async t=>{if(t==null)return 0;if(Ae.isBlob(t))return t.size;if(Ae.isSpecCompliantForm(t))return(await new Request(Rr.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(Ae.isArrayBufferView(t)||Ae.isArrayBuffer(t))return t.byteLength;if(Ae.isURLSearchParams(t)&&(t=t+""),Ae.isString(t))return(await SE(t)).byteLength},$E=async(t,e)=>Ae.toFiniteNumber(t.getContentLength())??TE(e),AE=zc&&(async t=>{let{url:e,method:n,data:r,signal:u,cancelToken:d,timeout:p,onDownloadProgress:w,onUploadProgress:f,responseType:g,headers:s,withCredentials:a="same-origin",fetchOptions:h}=Sw(t);g=g?(g+"").toLowerCase():"text";let c=bE([u,d&&d.toAbortSignal()],p),i;const l=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(f&&CE&&n!=="get"&&n!=="head"&&(m=await $E(s,r))!==0){let _=new Request(e,{method:"POST",body:r,duplex:"half"}),k;if(Ae.isFormData(r)&&(k=_.headers.get("content-type"))&&s.setContentType(k),_.body){const[E,O]=bw(m,Wc(xw(f)));r=Cw(_.body,Aw,E,O)}}Ae.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;i=new Request(e,{...h,signal:c,method:n.toUpperCase(),headers:s.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(i);const M=Gd&&(g==="stream"||g==="response");if(Gd&&(w||M&&l)){const _={};["status","statusText","headers"].forEach(F=>{_[F]=x[F]});const k=Ae.toFiniteNumber(x.headers.get("content-length")),[E,O]=w&&bw(k,Wc(xw(w),!0))||[];x=new Response(Cw(x.body,Aw,E,()=>{O&&O(),l&&l()}),_)}g=g||"text";let A=await Hc[Ae.findKey(Hc,g)||"text"](x,t);return!M&&l&&l(),await new Promise((_,k)=>{ww(_,k,{data:A,headers:Zr.from(x.headers),status:x.status,statusText:x.statusText,config:t,request:i})})}catch(b){throw l&&l(),b&&b.name==="TypeError"&&/fetch/i.test(b.message)?Object.assign(new Lt("Network Error",Lt.ERR_NETWORK,t,i),{cause:b.cause||b}):Lt.from(b,b&&b.code,t,i)}}),Yd={http:HR,xhr:wE,fetch:AE};Ae.forEach(Yd,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Rw=t=>`- ${t}`,RE=t=>Ae.isFunction(t)||t===null||t===!1,Ew={getAdapter:t=>{t=Ae.isArray(t)?t:[t];const{length:e}=t;let n,r;const u={};for(let d=0;d<e;d++){n=t[d];let p;if(r=n,!RE(n)&&(r=Yd[(p=String(n)).toLowerCase()],r===void 0))throw new Lt(`Unknown adapter '${p}'`);if(r)break;u[p||"#"+d]=r}if(!r){const d=Object.entries(u).map(([w,f])=>`adapter ${w} `+(f===!1?"is not supported by the environment":"is not available in the build"));let p=e?d.length>1?`since :
1494
+ `+d.map(Rw).join(`
1495
+ `):" "+Rw(d[0]):"as no adapter specified";throw new Lt("There is no suitable adapter to dispatch the request "+p,"ERR_NOT_SUPPORT")}return r},adapters:Yd};function Xd(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ca(null,t)}function Mw(t){return Xd(t),t.headers=Zr.from(t.headers),t.data=Kd.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Ew.getAdapter(t.adapter||fl.adapter)(t).then(function(e){return Xd(t),e.data=Kd.call(t,t.transformResponse,e),e.headers=Zr.from(e.headers),e},function(e){return vw(e)||(Xd(t),e&&e.response&&(e.response.data=Kd.call(t,t.transformResponse,e.response),e.response.headers=Zr.from(e.response.headers))),Promise.reject(e)})}const Lw="1.8.4",Uc={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Uc[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const Ow={};Uc.transitional=function(t,e,n){function r(u,d){return"[Axios v"+Lw+"] Transitional option '"+u+"'"+d+(n?". "+n:"")}return(u,d,p)=>{if(t===!1)throw new Lt(r(d," has been removed"+(e?" in "+e:"")),Lt.ERR_DEPRECATED);return e&&!Ow[d]&&(Ow[d]=!0,console.warn(r(d," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(u,d,p):!0}},Uc.spelling=function(t){return(e,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function EE(t,e,n){if(typeof t!="object")throw new Lt("options must be an object",Lt.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let u=r.length;for(;u-- >0;){const d=r[u],p=e[d];if(p){const w=t[d],f=w===void 0||p(w,d,t);if(f!==!0)throw new Lt("option "+d+" must be "+f,Lt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Lt("Unknown option "+d,Lt.ERR_BAD_OPTION)}}const qc={assertOptions:EE,validators:Uc},uo=qc.validators;let Fs=class{constructor(e){this.defaults=e,this.interceptors={request:new fw,response:new fw}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let u={};Error.captureStackTrace?Error.captureStackTrace(u):u=new Error;const d=u.stack?u.stack.replace(/^.+\n/,""):"";try{r.stack?d&&!String(r.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(r.stack+=`
1496
+ `+d):r.stack=d}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Ds(this.defaults,n);const{transitional:r,paramsSerializer:u,headers:d}=n;r!==void 0&&qc.assertOptions(r,{silentJSONParsing:uo.transitional(uo.boolean),forcedJSONParsing:uo.transitional(uo.boolean),clarifyTimeoutError:uo.transitional(uo.boolean)},!1),u!=null&&(Ae.isFunction(u)?n.paramsSerializer={serialize:u}:qc.assertOptions(u,{encode:uo.function,serialize:uo.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),qc.assertOptions(n,{baseUrl:uo.spelling("baseURL"),withXsrfToken:uo.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let p=d&&Ae.merge(d.common,d[n.method]);d&&Ae.forEach(["delete","get","head","post","put","patch","common"],i=>{delete d[i]}),n.headers=Zr.concat(p,d);const w=[];let f=!0;this.interceptors.request.forEach(function(i){typeof i.runWhen=="function"&&i.runWhen(n)===!1||(f=f&&i.synchronous,w.unshift(i.fulfilled,i.rejected))});const g=[];this.interceptors.response.forEach(function(i){g.push(i.fulfilled,i.rejected)});let s,a=0,h;if(!f){const i=[Mw.bind(this),void 0];for(i.unshift.apply(i,w),i.push.apply(i,g),h=i.length,s=Promise.resolve(n);a<h;)s=s.then(i[a++],i[a++]);return s}h=w.length;let c=n;for(a=0;a<h;){const i=w[a++],l=w[a++];try{c=i(c)}catch(m){l.call(this,m);break}}try{s=Mw.call(this,c)}catch(i){return Promise.reject(i)}for(a=0,h=g.length;a<h;)s=s.then(g[a++],g[a++]);return s}getUri(e){e=Ds(this.defaults,e);const n=kw(e.baseURL,e.url,e.allowAbsoluteUrls);return pw(n,e.params,e.paramsSerializer)}};Ae.forEach(["delete","get","head","options"],function(t){Fs.prototype[t]=function(e,n){return this.request(Ds(n||{},{method:t,url:e,data:(n||{}).data}))}}),Ae.forEach(["post","put","patch"],function(t){function e(n){return function(r,u,d){return this.request(Ds(d||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:r,data:u}))}}Fs.prototype[t]=e(),Fs.prototype[t+"Form"]=e(!0)});let ME=class Ex{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(u){n=u});const r=this;this.promise.then(u=>{if(!r._listeners)return;let d=r._listeners.length;for(;d-- >0;)r._listeners[d](u);r._listeners=null}),this.promise.then=u=>{let d;const p=new Promise(w=>{r.subscribe(w),d=w}).then(u);return p.cancel=function(){r.unsubscribe(d)},p},e(function(u,d,p){r.reason||(r.reason=new Ca(u,d,p),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Ex(function(n){e=n}),cancel:e}}};function LE(t){return function(e){return t.apply(null,e)}}function OE(t){return Ae.isObject(t)&&t.isAxiosError===!0}const Qd={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(Qd).forEach(([t,e])=>{Qd[e]=t});function Iw(t){const e=new Fs(t),n=Jv(Fs.prototype.request,e);return Ae.extend(n,Fs.prototype,e,{allOwnKeys:!0}),Ae.extend(n,e,null,{allOwnKeys:!0}),n.create=function(r){return Iw(Ds(t,r))},n}const rr=Wi("E",Iw(fl));rr.Axios=Fs,rr.CanceledError=Ca,rr.CancelToken=ME,rr.isCancel=vw,rr.VERSION=Lw,rr.toFormData=Bc,rr.AxiosError=Lt,rr.Cancel=rr.CanceledError,rr.all=function(t){return Promise.all(t)},rr.spread=LE,rr.isAxiosError=OE,rr.mergeConfig=Ds,rr.AxiosHeaders=Zr,rr.formToJSON=t=>mw(Ae.isHTMLForm(t)?new FormData(t):t),rr.getAdapter=Ew.getAdapter,rr.HttpStatusCode=Qd,rr.default=rr;const{Axios:YB,AxiosError:XB,CanceledError:QB,isCancel:ZB,CancelToken:JB,VERSION:ej,all:tj,Cancel:nj,isAxiosError:rj,spread:ij,toFormData:oj,AxiosHeaders:sj,HttpStatusCode:aj,formToJSON:lj,getAdapter:cj,mergeConfig:uj}=rr;function Nw(){return Object.assign({},aa())}function IE(t,e,n){const r=Cn(t,void 0);return r.setTime(r.getTime()+e*Zl),r}function NE(t,e){const n=()=>tr(void 0,NaN),r=BE(t);let u;if(r.date){const f=jE(r.date,2);u=WE(f.restDateString,f.year)}if(!u||isNaN(+u))return n();const d=+u;let p=0,w;if(r.time&&(p=zE(r.time),isNaN(p)))return n();if(r.timezone){if(w=HE(r.timezone),isNaN(w))return n()}else{const f=new Date(d+p),g=Cn(0,void 0);return g.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),g.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),g}return Cn(d+p+w,void 0)}const Vc={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},DE=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,FE=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,PE=/^([+-])(\d{2})(?::?(\d{2}))?$/;function BE(t){const e={},n=t.split(Vc.dateTimeDelimiter);let r;if(n.length>2)return e;if(/:/.test(n[0])?r=n[0]:(e.date=n[0],r=n[1],Vc.timeZoneDelimiter.test(e.date)&&(e.date=t.split(Vc.timeZoneDelimiter)[0],r=t.substr(e.date.length,t.length))),r){const u=Vc.timezone.exec(r);u?(e.time=r.replace(u[1],""),e.timezone=u[1]):e.time=r}return e}function jE(t,e){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=t.match(n);if(!r)return{year:NaN,restDateString:""};const u=r[1]?parseInt(r[1]):null,d=r[2]?parseInt(r[2]):null;return{year:d===null?u:d*100,restDateString:t.slice((r[1]||r[2]).length)}}function WE(t,e){if(e===null)return new Date(NaN);const n=t.match(DE);if(!n)return new Date(NaN);const r=!!n[4],u=ml(n[1]),d=ml(n[2])-1,p=ml(n[3]),w=ml(n[4]),f=ml(n[5])-1;if(r)return GE(e,w,f)?UE(e,w,f):new Date(NaN);{const g=new Date(0);return!VE(e,d,p)||!KE(e,u)?new Date(NaN):(g.setUTCFullYear(e,d,Math.max(u,p)),g)}}function ml(t){return t?parseInt(t):1}function zE(t){const e=t.match(FE);if(!e)return NaN;const n=Zd(e[1]),r=Zd(e[2]),u=Zd(e[3]);return YE(n,r,u)?n*rh+r*Zl+u*1e3:NaN}function Zd(t){return t&&parseFloat(t.replace(",","."))||0}function HE(t){if(t==="Z")return 0;const e=t.match(PE);if(!e)return 0;const n=e[1]==="+"?-1:1,r=parseInt(e[2]),u=e[3]&&parseInt(e[3])||0;return XE(r,u)?n*(r*rh+u*Zl):NaN}function UE(t,e,n){const r=new Date(0);r.setUTCFullYear(t,0,4);const u=r.getUTCDay()||7,d=(e-1)*7+n+1-u;return r.setUTCDate(r.getUTCDate()+d),r}const qE=[31,null,31,30,31,30,31,31,30,31,30,31];function Dw(t){return t%400===0||t%4===0&&t%100!==0}function VE(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(qE[e]||(Dw(t)?29:28))}function KE(t,e){return e>=1&&e<=(Dw(t)?366:365)}function GE(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function YE(t,e,n){return t===24?e===0&&n===0:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function XE(t,e){return e>=0&&e<=59}function QE(t,e,n){return IE(t,-e)}function Fw(t,e,n){const r=Nw(),u=eM(t,n.timeZone,n.locale??r.locale);return"formatToParts"in u?ZE(u,e):JE(u,e)}function ZE(t,e){const n=t.formatToParts(e);for(let r=n.length-1;r>=0;--r)if(n[r].type==="timeZoneName")return n[r].value}function JE(t,e){const n=t.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(n);return r?r[0].substr(1):""}function eM(t,e,n){return new Intl.DateTimeFormat(n?[n.code,"en-US"]:void 0,{timeZone:e,timeZoneName:t})}function tM(t,e){const n=sM(e);return"formatToParts"in n?rM(n,t):iM(n,t)}const nM={year:0,month:1,day:2,hour:3,minute:4,second:5};function rM(t,e){try{const n=t.formatToParts(e),r=[];for(let u=0;u<n.length;u++){const d=nM[n[u].type];d!==void 0&&(r[d]=parseInt(n[u].value,10))}return r}catch(n){if(n instanceof RangeError)return[NaN];throw n}}function iM(t,e){const n=t.format(e),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[parseInt(r[3],10),parseInt(r[1],10),parseInt(r[2],10),parseInt(r[4],10),parseInt(r[5],10),parseInt(r[6],10)]}const Jd={},Pw=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),oM=Pw==="06/25/2014, 00:00:00"||Pw==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";function sM(t){return Jd[t]||(Jd[t]=oM?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),Jd[t]}function Bw(t,e,n,r,u,d,p){const w=new Date(0);return w.setUTCFullYear(t,e,n),w.setUTCHours(r,u,d,p),w}const jw=36e5,aM=6e4,ep={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function tp(t,e,n){if(!t)return 0;let r=ep.timezoneZ.exec(t);if(r)return 0;let u,d;if(r=ep.timezoneHH.exec(t),r)return u=parseInt(r[1],10),Ww(u)?-(u*jw):NaN;if(r=ep.timezoneHHMM.exec(t),r){u=parseInt(r[2],10);const p=parseInt(r[3],10);return Ww(u,p)?(d=Math.abs(u)*jw+p*aM,r[1]==="+"?-d:d):NaN}if(uM(t)){e=new Date(e||Date.now());const p=n?e:lM(e),w=np(p,t);return-(n?w:cM(e,w,t))}return NaN}function lM(t){return Bw(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function np(t,e){const n=tM(t,e),r=Bw(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime();let u=t.getTime();const d=u%1e3;return u-=d>=0?d:1e3+d,r-u}function cM(t,e,n){let r=t.getTime()-e;const u=np(new Date(r),n);if(e===u)return e;r-=u-e;const d=np(new Date(r),n);return u===d?u:Math.max(u,d)}function Ww(t,e){return-23<=t&&t<=23&&(e==null||0<=e&&e<=59)}const zw={};function uM(t){if(zw[t])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:t}),zw[t]=!0,!0}catch{return!1}}const hM=60*1e3,dM={X:function(t,e,n){const r=rp(n.timeZone,t);if(r===0)return"Z";switch(e){case"X":return Hw(r);case"XXXX":case"XX":return Ta(r);case"XXXXX":case"XXX":default:return Ta(r,":")}},x:function(t,e,n){const r=rp(n.timeZone,t);switch(e){case"x":return Hw(r);case"xxxx":case"xx":return Ta(r);case"xxxxx":case"xxx":default:return Ta(r,":")}},O:function(t,e,n){const r=rp(n.timeZone,t);switch(e){case"O":case"OO":case"OOO":return"GMT"+pM(r,":");case"OOOO":default:return"GMT"+Ta(r,":")}},z:function(t,e,n){switch(e){case"z":case"zz":case"zzz":return Fw("short",t,n);case"zzzz":default:return Fw("long",t,n)}}};function rp(t,e){const n=t?tp(t,e,!0)/hM:(e==null?void 0:e.getTimezoneOffset())??0;if(Number.isNaN(n))throw new RangeError("Invalid time zone specified: "+t);return n}function Kc(t,e){const n=t<0?"-":"";let r=Math.abs(t).toString();for(;r.length<e;)r="0"+r;return n+r}function Ta(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),u=Kc(Math.floor(r/60),2),d=Kc(Math.floor(r%60),2);return n+u+e+d}function Hw(t,e){return t%60===0?(t>0?"-":"+")+Kc(Math.abs(t)/60,2):Ta(t,e)}function pM(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),u=Math.floor(r/60),d=r%60;return d===0?n+String(u):n+String(u)+e+Kc(d,2)}function Uw(t){const e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+t-+e}const fM=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,ip=36e5,qw=6e4,gM=2,zr={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:fM};function Vw(t,e={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(t===null)return new Date(NaN);const n=e.additionalDigits==null?gM:Number(e.additionalDigits);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]")return new Date(t.getTime());if(typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]")return new Date(t);if(Object.prototype.toString.call(t)!=="[object String]")return new Date(NaN);const r=mM(t),{year:u,restDateString:d}=yM(r.date,n),p=vM(d,u);if(p===null||isNaN(p.getTime()))return new Date(NaN);if(p){const w=p.getTime();let f=0,g;if(r.time&&(f=wM(r.time),f===null||isNaN(f)))return new Date(NaN);if(r.timeZone||e.timeZone){if(g=tp(r.timeZone||e.timeZone,new Date(w+f)),isNaN(g))return new Date(NaN)}else g=Uw(new Date(w+f)),g=Uw(new Date(w+f+g));return new Date(w+f+g)}else return new Date(NaN)}function mM(t){const e={};let n=zr.dateTimePattern.exec(t),r;if(n?(e.date=n[1],r=n[3]):(n=zr.datePattern.exec(t),n?(e.date=n[1],r=n[2]):(e.date=null,r=t)),r){const u=zr.timeZone.exec(r);u?(e.time=r.replace(u[1],""),e.timeZone=u[1].trim()):e.time=r}return e}function yM(t,e){if(t){const n=zr.YYY[e],r=zr.YYYYY[e];let u=zr.YYYY.exec(t)||r.exec(t);if(u){const d=u[1];return{year:parseInt(d,10),restDateString:t.slice(d.length)}}if(u=zr.YY.exec(t)||n.exec(t),u){const d=u[1];return{year:parseInt(d,10)*100,restDateString:t.slice(d.length)}}}return{year:null}}function vM(t,e){if(e===null)return null;let n,r,u;if(!t||!t.length)return n=new Date(0),n.setUTCFullYear(e),n;let d=zr.MM.exec(t);if(d)return n=new Date(0),r=parseInt(d[1],10)-1,Yw(e,r)?(n.setUTCFullYear(e,r),n):new Date(NaN);if(d=zr.DDD.exec(t),d){n=new Date(0);const p=parseInt(d[1],10);return kM(e,p)?(n.setUTCFullYear(e,0,p),n):new Date(NaN)}if(d=zr.MMDD.exec(t),d){n=new Date(0),r=parseInt(d[1],10)-1;const p=parseInt(d[2],10);return Yw(e,r,p)?(n.setUTCFullYear(e,r,p),n):new Date(NaN)}if(d=zr.Www.exec(t),d)return u=parseInt(d[1],10)-1,Xw(u)?Kw(e,u):new Date(NaN);if(d=zr.WwwD.exec(t),d){u=parseInt(d[1],10)-1;const p=parseInt(d[2],10)-1;return Xw(u,p)?Kw(e,u,p):new Date(NaN)}return null}function wM(t){let e,n,r=zr.HH.exec(t);if(r)return e=parseFloat(r[1].replace(",",".")),op(e)?e%24*ip:NaN;if(r=zr.HHMM.exec(t),r)return e=parseInt(r[1],10),n=parseFloat(r[2].replace(",",".")),op(e,n)?e%24*ip+n*qw:NaN;if(r=zr.HHMMSS.exec(t),r){e=parseInt(r[1],10),n=parseInt(r[2],10);const u=parseFloat(r[3].replace(",","."));return op(e,n,u)?e%24*ip+n*qw+u*1e3:NaN}return null}function Kw(t,e,n){e=e||0,n=n||0;const r=new Date(0);r.setUTCFullYear(t,0,4);const u=r.getUTCDay()||7,d=e*7+n+1-u;return r.setUTCDate(r.getUTCDate()+d),r}const bM=[31,28,31,30,31,30,31,31,30,31,30,31],xM=[31,29,31,30,31,30,31,31,30,31,30,31];function Gw(t){return t%400===0||t%4===0&&t%100!==0}function Yw(t,e,n){if(e<0||e>11)return!1;if(n!=null){if(n<1)return!1;const r=Gw(t);if(r&&n>xM[e]||!r&&n>bM[e])return!1}return!0}function kM(t,e){if(e<1)return!1;const n=Gw(t);return!(n&&e>366||!n&&e>365)}function Xw(t,e){return!(t<0||t>52||e!=null&&(e<0||e>6))}function op(t,e,n){return!(t<0||t>=25||e!=null&&(e<0||e>=60)||n!=null&&(n<0||n>=60))}const _M=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function SM(t,e,n={}){e=String(e);const r=e.match(_M);if(r){const u=Vw(n.originalDate||t,n);e=r.reduce(function(d,p){if(p[0]==="'")return d;const w=d.indexOf(p),f=d[w-1]==="'",g=d.replace(p,"'"+dM[p[0]](u,p,n)+"'");return f?g.substring(0,w-1)+g.substring(w+1):g},e)}return ua(t,e,n)}function CM(t,e,n){t=Vw(t,n);const r=tp(e,t,!0),u=new Date(t.getTime()-r),d=new Date(0);return d.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),d.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),d}function sp(t,e,n,r){return r={...r,timeZone:e,originalDate:t},SM(CM(t,e,{timeZone:r.timeZone}),n,r)}const ap="yyyy-MM-dd",Qw="HH:mm:ss.SSS",TM="HH:mm:ss",Gc=`${ap} ${Qw}`,hj=Wi("P",{methods:{parseDateTime(t,e){return t.includes(" ")&&(t=t.replace(" ","T")),e&&e==="UTC"&&(t+="Z"),Date.parse(t)},formatUtcToLocal(t,e){return ua(!e||e==="local"?QE(t,t.getTimezoneOffset()):t,Gc)},formatDateTime(t,e){return!e||e==="local"?ua(t,Gc):sp(t,e,Gc)},formatDate:function(t,e){return!e||e==="local"?ua(t,ap):sp(t,this.timeZone,ap)},formatTime:function(t,e,n=Qw){return!e||e==="local"?ua(t,n):sp(t,this.timeZone,n)},formatTimeHMS:function(t,e){return this.formatTime(t,e,TM)},formatTimestamp(t,e){return this.formatDateTime(NE(t),e)},formatSeconds(t,e){return this.formatDateTime(new Date(t*1e3),e)},formatNanoseconds(t,e){return this.formatDateTime(new Date(parseInt(t)/1e6),e)}}});var $M=Object.defineProperty,AM=(t,e,n)=>e in t?$M(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tt=(t,e,n)=>AM(t,typeof e!="symbol"?e+"":e,n);function lp(t,e,n){const r=Cn(t,n==null?void 0:n.in);return isNaN(e)?tr((n==null?void 0:n.in)||t,NaN):(e&&r.setDate(r.getDate()+e),r)}function RM(t,e){const n=Cn(t,void 0).getDay();return n===0?7:n}function EM(t,e){const n=MM(e)?new e(0):tr(e,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n}function MM(t){var e;return typeof t=="function"&&((e=t.prototype)==null?void 0:e.constructor)===t}const LM=10;class Zw{constructor(){tt(this,"subPriority",0)}validate(e,n){return!0}}class OM extends Zw{constructor(e,n,r,u,d){super(),this.value=e,this.validateValue=n,this.setValue=r,this.priority=u,d&&(this.subPriority=d)}validate(e,n){return this.validateValue(e,this.value,n)}set(e,n,r){return this.setValue(e,n,this.value,r)}}class IM extends Zw{constructor(e,n){super(),tt(this,"priority",LM),tt(this,"subPriority",-1),this.context=e||(r=>tr(n,r))}set(e,n){return n.timestampIsSet?e:tr(e,EM(e,this.context))}}class on{run(e,n,r,u){const d=this.parse(e,n,r,u);return d?{setter:new OM(d.value,this.validate,this.set,this.priority,this.subPriority),rest:d.rest}:null}validate(e,n,r){return!0}}class NM extends on{constructor(){super(...arguments),tt(this,"priority",140),tt(this,"incompatibleTokens",["R","u","t","T"])}parse(e,n,r){switch(n){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"});case"GGGGG":return r.era(e,{width:"narrow"});case"GGGG":default:return r.era(e,{width:"wide"})||r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"})}}set(e,n,r){return n.era=r,e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}const Vn={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},ho={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Kn(t,e){return t&&{value:e(t.value),rest:t.rest}}function Mn(t,e){const n=e.match(t);return n?{value:parseInt(n[0],10),rest:e.slice(n[0].length)}:null}function po(t,e){const n=e.match(t);if(!n)return null;if(n[0]==="Z")return{value:0,rest:e.slice(1)};const r=n[1]==="+"?1:-1,u=n[2]?parseInt(n[2],10):0,d=n[3]?parseInt(n[3],10):0,p=n[5]?parseInt(n[5],10):0;return{value:r*(u*rh+d*Zl+p*pk),rest:e.slice(n[0].length)}}function Jw(t){return Mn(Vn.anyDigitsSigned,t)}function Nn(t,e){switch(t){case 1:return Mn(Vn.singleDigit,e);case 2:return Mn(Vn.twoDigits,e);case 3:return Mn(Vn.threeDigits,e);case 4:return Mn(Vn.fourDigits,e);default:return Mn(new RegExp("^\\d{1,"+t+"}"),e)}}function eb(t,e){switch(t){case 1:return Mn(Vn.singleDigitSigned,e);case 2:return Mn(Vn.twoDigitsSigned,e);case 3:return Mn(Vn.threeDigitsSigned,e);case 4:return Mn(Vn.fourDigitsSigned,e);default:return Mn(new RegExp("^-?\\d{1,"+t+"}"),e)}}function cp(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function tb(t,e){const n=e>0,r=n?e:1-e;let u;if(r<=50)u=t||100;else{const d=r+50,p=Math.trunc(d/100)*100,w=t>=d%100;u=t+p-(w?100:0)}return n?u:1-u}function nb(t){return t%400===0||t%4===0&&t%100!==0}class DM extends on{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(e,n,r){const u=d=>({year:d,isTwoDigitYear:n==="yy"});switch(n){case"y":return Kn(Nn(4,e),u);case"yo":return Kn(r.ordinalNumber(e,{unit:"year"}),u);default:return Kn(Nn(n.length,e),u)}}validate(e,n){return n.isTwoDigitYear||n.year>0}set(e,n,r){const u=e.getFullYear();if(r.isTwoDigitYear){const p=tb(r.year,u);return e.setFullYear(p,0,1),e.setHours(0,0,0,0),e}const d=!("era"in n)||n.era===1?r.year:1-r.year;return e.setFullYear(d,0,1),e.setHours(0,0,0,0),e}}class FM extends on{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(e,n,r){const u=d=>({year:d,isTwoDigitYear:n==="YY"});switch(n){case"Y":return Kn(Nn(4,e),u);case"Yo":return Kn(r.ordinalNumber(e,{unit:"year"}),u);default:return Kn(Nn(n.length,e),u)}}validate(e,n){return n.isTwoDigitYear||n.year>0}set(e,n,r,u){const d=oh(e,u);if(r.isTwoDigitYear){const w=tb(r.year,d);return e.setFullYear(w,0,u.firstWeekContainsDate),e.setHours(0,0,0,0),Go(e,u)}const p=!("era"in n)||n.era===1?r.year:1-r.year;return e.setFullYear(p,0,u.firstWeekContainsDate),e.setHours(0,0,0,0),Go(e,u)}}class PM extends on{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(e,n){return eb(n==="R"?4:n.length,e)}set(e,n,r){const u=tr(e,0);return u.setFullYear(r,0,4),u.setHours(0,0,0,0),la(u)}}class BM extends on{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(e,n){return eb(n==="u"?4:n.length,e)}set(e,n,r){return e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}class jM extends on{constructor(){super(...arguments),tt(this,"priority",120),tt(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,n,r){switch(n){case"Q":case"QQ":return Nn(n.length,e);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(e,{width:"wide",context:"formatting"})||r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=1&&n<=4}set(e,n,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class WM extends on{constructor(){super(...arguments),tt(this,"priority",120),tt(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,n,r){switch(n){case"q":case"qq":return Nn(n.length,e);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(e,{width:"wide",context:"standalone"})||r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=1&&n<=4}set(e,n,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class zM extends on{constructor(){super(...arguments),tt(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]),tt(this,"priority",110)}parse(e,n,r){const u=d=>d-1;switch(n){case"M":return Kn(Mn(Vn.month,e),u);case"MM":return Kn(Nn(2,e),u);case"Mo":return Kn(r.ordinalNumber(e,{unit:"month"}),u);case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(e,{width:"wide",context:"formatting"})||r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}class HM extends on{constructor(){super(...arguments),tt(this,"priority",110),tt(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(e,n,r){const u=d=>d-1;switch(n){case"L":return Kn(Mn(Vn.month,e),u);case"LL":return Kn(Nn(2,e),u);case"Lo":return Kn(r.ordinalNumber(e,{unit:"month"}),u);case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(e,{width:"wide",context:"standalone"})||r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}function UM(t,e,n){const r=Cn(t,n==null?void 0:n.in),u=gg(r,n)-e;return r.setDate(r.getDate()-u*7),Cn(r,n==null?void 0:n.in)}class qM extends on{constructor(){super(...arguments),tt(this,"priority",100),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(e,n,r){switch(n){case"w":return Mn(Vn.week,e);case"wo":return r.ordinalNumber(e,{unit:"week"});default:return Nn(n.length,e)}}validate(e,n){return n>=1&&n<=53}set(e,n,r,u){return Go(UM(e,r,u),u)}}function VM(t,e,n){const r=Cn(t,void 0),u=fg(r)-e;return r.setDate(r.getDate()-u*7),r}class KM extends on{constructor(){super(...arguments),tt(this,"priority",100),tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(e,n,r){switch(n){case"I":return Mn(Vn.week,e);case"Io":return r.ordinalNumber(e,{unit:"week"});default:return Nn(n.length,e)}}validate(e,n){return n>=1&&n<=53}set(e,n,r){return la(VM(e,r))}}const GM=[31,28,31,30,31,30,31,31,30,31,30,31],YM=[31,29,31,30,31,30,31,31,30,31,30,31];class XM extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"subPriority",1),tt(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(e,n,r){switch(n){case"d":return Mn(Vn.date,e);case"do":return r.ordinalNumber(e,{unit:"date"});default:return Nn(n.length,e)}}validate(e,n){const r=e.getFullYear(),u=nb(r),d=e.getMonth();return u?n>=1&&n<=YM[d]:n>=1&&n<=GM[d]}set(e,n,r){return e.setDate(r),e.setHours(0,0,0,0),e}}class QM extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"subpriority",1),tt(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(e,n,r){switch(n){case"D":case"DD":return Mn(Vn.dayOfYear,e);case"Do":return r.ordinalNumber(e,{unit:"date"});default:return Nn(n.length,e)}}validate(e,n){const r=e.getFullYear();return nb(r)?n>=1&&n<=366:n>=1&&n<=365}set(e,n,r){return e.setMonth(0,r),e.setHours(0,0,0,0),e}}function up(t,e,n){var r,u,d,p;const w=aa(),f=(n==null?void 0:n.weekStartsOn)??((u=(r=n==null?void 0:n.locale)==null?void 0:r.options)==null?void 0:u.weekStartsOn)??w.weekStartsOn??((p=(d=w.locale)==null?void 0:d.options)==null?void 0:p.weekStartsOn)??0,g=Cn(t,n==null?void 0:n.in),s=g.getDay(),a=(e%7+7)%7,h=7-f,c=e<0||e>6?e-(s+h)%7:(a+h)%7-(s+h)%7;return lp(g,c,n)}class ZM extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(e,n,r){switch(n){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,u){return e=up(e,r,u),e.setHours(0,0,0,0),e}}class JM extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(e,n,r,u){const d=p=>{const w=Math.floor((p-1)/7)*7;return(p+u.weekStartsOn+6)%7+w};switch(n){case"e":case"ee":return Kn(Nn(n.length,e),d);case"eo":return Kn(r.ordinalNumber(e,{unit:"day"}),d);case"eee":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeeee":return r.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,u){return e=up(e,r,u),e.setHours(0,0,0,0),e}}class eL extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(e,n,r,u){const d=p=>{const w=Math.floor((p-1)/7)*7;return(p+u.weekStartsOn+6)%7+w};switch(n){case"c":case"cc":return Kn(Nn(n.length,e),d);case"co":return Kn(r.ordinalNumber(e,{unit:"day"}),d);case"ccc":return r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"ccccc":return r.day(e,{width:"narrow",context:"standalone"});case"cccccc":return r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return r.day(e,{width:"wide",context:"standalone"})||r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,u){return e=up(e,r,u),e.setHours(0,0,0,0),e}}function tL(t,e,n){const r=Cn(t,void 0),u=RM(r),d=e-u;return lp(r,d,n)}class nL extends on{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(e,n,r){const u=d=>d===0?7:d;switch(n){case"i":case"ii":return Nn(n.length,e);case"io":return r.ordinalNumber(e,{unit:"day"});case"iii":return Kn(r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),u);case"iiiii":return Kn(r.day(e,{width:"narrow",context:"formatting"}),u);case"iiiiii":return Kn(r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),u);case"iiii":default:return Kn(r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),u)}}validate(e,n){return n>=1&&n<=7}set(e,n,r){return e=tL(e,r),e.setHours(0,0,0,0),e}}class rL extends on{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(e,n,r){switch(n){case"a":case"aa":case"aaa":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(cp(r),0,0,0),e}}class iL extends on{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(e,n,r){switch(n){case"b":case"bb":case"bbb":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(cp(r),0,0,0),e}}class oL extends on{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["a","b","t","T"])}parse(e,n,r){switch(n){case"B":case"BB":case"BBB":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(cp(r),0,0,0),e}}class sL extends on{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["H","K","k","t","T"])}parse(e,n,r){switch(n){case"h":return Mn(Vn.hour12h,e);case"ho":return r.ordinalNumber(e,{unit:"hour"});default:return Nn(n.length,e)}}validate(e,n){return n>=1&&n<=12}set(e,n,r){const u=e.getHours()>=12;return u&&r<12?e.setHours(r+12,0,0,0):!u&&r===12?e.setHours(0,0,0,0):e.setHours(r,0,0,0),e}}class aL extends on{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(e,n,r){switch(n){case"H":return Mn(Vn.hour23h,e);case"Ho":return r.ordinalNumber(e,{unit:"hour"});default:return Nn(n.length,e)}}validate(e,n){return n>=0&&n<=23}set(e,n,r){return e.setHours(r,0,0,0),e}}class lL extends on{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["h","H","k","t","T"])}parse(e,n,r){switch(n){case"K":return Mn(Vn.hour11h,e);case"Ko":return r.ordinalNumber(e,{unit:"hour"});default:return Nn(n.length,e)}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.getHours()>=12&&r<12?e.setHours(r+12,0,0,0):e.setHours(r,0,0,0),e}}class cL extends on{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(e,n,r){switch(n){case"k":return Mn(Vn.hour24h,e);case"ko":return r.ordinalNumber(e,{unit:"hour"});default:return Nn(n.length,e)}}validate(e,n){return n>=1&&n<=24}set(e,n,r){const u=r<=24?r%24:r;return e.setHours(u,0,0,0),e}}class uL extends on{constructor(){super(...arguments),tt(this,"priority",60),tt(this,"incompatibleTokens",["t","T"])}parse(e,n,r){switch(n){case"m":return Mn(Vn.minute,e);case"mo":return r.ordinalNumber(e,{unit:"minute"});default:return Nn(n.length,e)}}validate(e,n){return n>=0&&n<=59}set(e,n,r){return e.setMinutes(r,0,0),e}}class hL extends on{constructor(){super(...arguments),tt(this,"priority",50),tt(this,"incompatibleTokens",["t","T"])}parse(e,n,r){switch(n){case"s":return Mn(Vn.second,e);case"so":return r.ordinalNumber(e,{unit:"second"});default:return Nn(n.length,e)}}validate(e,n){return n>=0&&n<=59}set(e,n,r){return e.setSeconds(r,0),e}}class dL extends on{constructor(){super(...arguments),tt(this,"priority",30),tt(this,"incompatibleTokens",["t","T"])}parse(e,n){const r=u=>Math.trunc(u*Math.pow(10,-n.length+3));return Kn(Nn(n.length,e),r)}set(e,n,r){return e.setMilliseconds(r),e}}class pL extends on{constructor(){super(...arguments),tt(this,"priority",10),tt(this,"incompatibleTokens",["t","T","x"])}parse(e,n){switch(n){case"X":return po(ho.basicOptionalMinutes,e);case"XX":return po(ho.basic,e);case"XXXX":return po(ho.basicOptionalSeconds,e);case"XXXXX":return po(ho.extendedOptionalSeconds,e);case"XXX":default:return po(ho.extended,e)}}set(e,n,r){return n.timestampIsSet?e:tr(e,e.getTime()-Jl(e)-r)}}class fL extends on{constructor(){super(...arguments),tt(this,"priority",10),tt(this,"incompatibleTokens",["t","T","X"])}parse(e,n){switch(n){case"x":return po(ho.basicOptionalMinutes,e);case"xx":return po(ho.basic,e);case"xxxx":return po(ho.basicOptionalSeconds,e);case"xxxxx":return po(ho.extendedOptionalSeconds,e);case"xxx":default:return po(ho.extended,e)}}set(e,n,r){return n.timestampIsSet?e:tr(e,e.getTime()-Jl(e)-r)}}class gL extends on{constructor(){super(...arguments),tt(this,"priority",40),tt(this,"incompatibleTokens","*")}parse(e){return Jw(e)}set(e,n,r){return[tr(e,r*1e3),{timestampIsSet:!0}]}}class mL extends on{constructor(){super(...arguments),tt(this,"priority",20),tt(this,"incompatibleTokens","*")}parse(e){return Jw(e)}set(e,n,r){return[tr(e,r),{timestampIsSet:!0}]}}const yL={G:new NM,y:new DM,Y:new FM,R:new PM,u:new BM,Q:new jM,q:new WM,M:new zM,L:new HM,w:new qM,I:new KM,d:new XM,D:new QM,E:new ZM,e:new JM,c:new eL,i:new nL,a:new rL,b:new iL,B:new oL,h:new sL,H:new aL,K:new lL,k:new cL,m:new uL,s:new hL,S:new dL,X:new pL,x:new fL,t:new gL,T:new mL},vL=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wL=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bL=/^'([^]*?)'?$/,xL=/''/g,kL=/\S/,_L=/[a-zA-Z]/;function SL(t,e,n,r){var u,d,p,w;const f=()=>tr(n,NaN),g=Nw(),s=g.locale??pg,a=g.firstWeekContainsDate??((d=(u=g.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,h=g.weekStartsOn??((w=(p=g.locale)==null?void 0:p.options)==null?void 0:w.weekStartsOn)??0;if(!e)return t?f():Cn(n,void 0);const c={firstWeekContainsDate:a,weekStartsOn:h,locale:s},i=[new IM(void 0,n)],l=e.match(wL).map(A=>{const _=A[0];if(_ in sh){const k=sh[_];return k(A,s.formatLong)}return A}).join("").match(vL),m=[];for(let A of l){kg(A)&&ah(A,e,t),xg(A)&&ah(A,e,t);const _=A[0],k=yL[_];if(k){const{incompatibleTokens:E}=k;if(Array.isArray(E)){const F=m.find(L=>E.includes(L.token)||L.token===_);if(F)throw new RangeError(`The format string mustn't contain \`${F.fullToken}\` and \`${A}\` at the same time`)}else if(k.incompatibleTokens==="*"&&m.length>0)throw new RangeError(`The format string mustn't contain \`${A}\` and any other token at the same time`);m.push({token:_,fullToken:A});const O=k.run(t,A,s.match,c);if(!O)return f();i.push(O.setter),t=O.rest}else{if(_.match(_L))throw new RangeError("Format string contains an unescaped latin alphabet character `"+_+"`");if(A==="''"?A="'":_==="'"&&(A=CL(A)),t.indexOf(A)===0)t=t.slice(A.length);else return f()}}if(t.length>0&&kL.test(t))return f();const b=i.map(A=>A.priority).sort((A,_)=>_-A).filter((A,_,k)=>k.indexOf(A)===_).map(A=>i.filter(_=>_.priority===A).sort((_,k)=>k.subPriority-_.subPriority)).map(A=>A[0]);let x=Cn(n,void 0);if(isNaN(+x))return f();const M={};for(const A of b){if(!A.validate(x,c))return f();const _=A.set(x,M,c);Array.isArray(_)?(x=_[0],Object.assign(M,_[1])):x=_}return x}function CL(t){return t.match(bL)[1].replace(xL,"'")}function rb(t,e){return function(){return t.apply(e,arguments)}}const{toString:TL}=Object.prototype,{getPrototypeOf:hp}=Object,Yc=(t=>e=>{const n=TL.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Yi=t=>(t=t.toLowerCase(),e=>Yc(e)===t),Xc=t=>e=>typeof e===t,{isArray:$a}=Array,yl=Xc("undefined");function $L(t){return t!==null&&!yl(t)&&t.constructor!==null&&!yl(t.constructor)&&fi(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const ib=Yi("ArrayBuffer");function AL(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&ib(t.buffer),e}const RL=Xc("string"),fi=Xc("function"),ob=Xc("number"),Qc=t=>t!==null&&typeof t=="object",EL=t=>t===!0||t===!1,Zc=t=>{if(Yc(t)!=="object")return!1;const e=hp(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},ML=Yi("Date"),LL=Yi("File"),OL=Yi("Blob"),IL=Yi("FileList"),NL=t=>Qc(t)&&fi(t.pipe),DL=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||fi(t.append)&&((e=Yc(t))==="formdata"||e==="object"&&fi(t.toString)&&t.toString()==="[object FormData]"))},FL=Yi("URLSearchParams"),[PL,BL,jL,WL]=["ReadableStream","Request","Response","Headers"].map(Yi),zL=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function vl(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,u;if(typeof t!="object"&&(t=[t]),$a(t))for(r=0,u=t.length;r<u;r++)e.call(null,t[r],r,t);else{const d=n?Object.getOwnPropertyNames(t):Object.keys(t),p=d.length;let w;for(r=0;r<p;r++)w=d[r],e.call(null,t[w],w,t)}}function sb(t,e){e=e.toLowerCase();const n=Object.keys(t);let r=n.length,u;for(;r-- >0;)if(u=n[r],e===u.toLowerCase())return u;return null}const Ps=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,ab=t=>!yl(t)&&t!==Ps;function dp(){const{caseless:t}=ab(this)&&this||{},e={},n=(r,u)=>{const d=t&&sb(e,u)||u;Zc(e[d])&&Zc(r)?e[d]=dp(e[d],r):Zc(r)?e[d]=dp({},r):$a(r)?e[d]=r.slice():e[d]=r};for(let r=0,u=arguments.length;r<u;r++)arguments[r]&&vl(arguments[r],n);return e}const HL=(t,e,n,{allOwnKeys:r}={})=>(vl(e,(u,d)=>{n&&fi(u)?t[d]=rb(u,n):t[d]=u},{allOwnKeys:r}),t),UL=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),qL=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},VL=(t,e,n,r)=>{let u,d,p;const w={};if(e=e||{},t==null)return e;do{for(u=Object.getOwnPropertyNames(t),d=u.length;d-- >0;)p=u[d],(!r||r(p,t,e))&&!w[p]&&(e[p]=t[p],w[p]=!0);t=n!==!1&&hp(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},KL=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},GL=t=>{if(!t)return null;if($a(t))return t;let e=t.length;if(!ob(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},YL=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&hp(Uint8Array)),XL=(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let u;for(;(u=r.next())&&!u.done;){const d=u.value;e.call(t,d[0],d[1])}},QL=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},ZL=Yi("HTMLFormElement"),JL=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,u){return r.toUpperCase()+u}),lb=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),eO=Yi("RegExp"),cb=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};vl(n,(u,d)=>{let p;(p=e(u,d,t))!==!1&&(r[d]=p||u)}),Object.defineProperties(t,r)},tO=t=>{cb(t,(e,n)=>{if(fi(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(fi(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},nO=(t,e)=>{const n={},r=u=>{u.forEach(d=>{n[d]=!0})};return $a(t)?r(t):r(String(t).split(e)),n},rO=()=>{},iO=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function oO(t){return!!(t&&fi(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const sO=t=>{const e=new Array(10),n=(r,u)=>{if(Qc(r)){if(e.indexOf(r)>=0)return;if(!("toJSON"in r)){e[u]=r;const d=$a(r)?[]:{};return vl(r,(p,w)=>{const f=n(p,u+1);!yl(f)&&(d[w]=f)}),e[u]=void 0,d}}return r};return n(t,0)},aO=Yi("AsyncFunction"),lO=t=>t&&(Qc(t)||fi(t))&&fi(t.then)&&fi(t.catch),ub=((t,e)=>t?setImmediate:e?((n,r)=>(Ps.addEventListener("message",({source:u,data:d})=>{u===Ps&&d===n&&r.length&&r.shift()()},!1),u=>{r.push(u),Ps.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",fi(Ps.postMessage)),cO=typeof queueMicrotask<"u"?queueMicrotask.bind(Ps):typeof process<"u"&&process.nextTick||ub,Re={isArray:$a,isArrayBuffer:ib,isBuffer:$L,isFormData:DL,isArrayBufferView:AL,isString:RL,isNumber:ob,isBoolean:EL,isObject:Qc,isPlainObject:Zc,isReadableStream:PL,isRequest:BL,isResponse:jL,isHeaders:WL,isUndefined:yl,isDate:ML,isFile:LL,isBlob:OL,isRegExp:eO,isFunction:fi,isStream:NL,isURLSearchParams:FL,isTypedArray:YL,isFileList:IL,forEach:vl,merge:dp,extend:HL,trim:zL,stripBOM:UL,inherits:qL,toFlatObject:VL,kindOf:Yc,kindOfTest:Yi,endsWith:KL,toArray:GL,forEachEntry:XL,matchAll:QL,isHTMLForm:ZL,hasOwnProperty:lb,hasOwnProp:lb,reduceDescriptors:cb,freezeMethods:tO,toObjectSet:nO,toCamelCase:JL,noop:rO,toFiniteNumber:iO,findKey:sb,global:Ps,isContextDefined:ab,isSpecCompliantForm:oO,toJSONObject:sO,isAsyncFn:aO,isThenable:lO,setImmediate:ub,asap:cO};function Ot(t,e,n,r,u){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),u&&(this.response=u,this.status=u.status?u.status:null)}Re.inherits(Ot,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:Re.toJSONObject(this.config),code:this.code,status:this.status}}});const hb=Ot.prototype,db={};["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(t=>{db[t]={value:t}}),Object.defineProperties(Ot,db),Object.defineProperty(hb,"isAxiosError",{value:!0}),Ot.from=(t,e,n,r,u,d)=>{const p=Object.create(hb);return Re.toFlatObject(t,p,function(f){return f!==Error.prototype},w=>w!=="isAxiosError"),Ot.call(p,t.message,e,n,r,u),p.cause=t,p.name=t.name,d&&Object.assign(p,d),p};const uO=null;function pp(t){return Re.isPlainObject(t)||Re.isArray(t)}function pb(t){return Re.endsWith(t,"[]")?t.slice(0,-2):t}function fb(t,e,n){return t?t.concat(e).map(function(u,d){return u=pb(u),!n&&d?"["+u+"]":u}).join(n?".":""):e}function hO(t){return Re.isArray(t)&&!t.some(pp)}const dO=Re.toFlatObject(Re,{},null,function(e){return/^is[A-Z]/.test(e)});function Jc(t,e,n){if(!Re.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=Re.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(l,m){return!Re.isUndefined(m[l])});const r=n.metaTokens,u=n.visitor||s,d=n.dots,p=n.indexes,f=(n.Blob||typeof Blob<"u"&&Blob)&&Re.isSpecCompliantForm(e);if(!Re.isFunction(u))throw new TypeError("visitor must be a function");function g(i){if(i===null)return"";if(Re.isDate(i))return i.toISOString();if(!f&&Re.isBlob(i))throw new Ot("Blob is not supported. Use a Buffer instead.");return Re.isArrayBuffer(i)||Re.isTypedArray(i)?f&&typeof Blob=="function"?new Blob([i]):Buffer.from(i):i}function s(i,l,m){let b=i;if(i&&!m&&typeof i=="object"){if(Re.endsWith(l,"{}"))l=r?l:l.slice(0,-2),i=JSON.stringify(i);else if(Re.isArray(i)&&hO(i)||(Re.isFileList(i)||Re.endsWith(l,"[]"))&&(b=Re.toArray(i)))return l=pb(l),b.forEach(function(M,A){!(Re.isUndefined(M)||M===null)&&e.append(p===!0?fb([l],A,d):p===null?l:l+"[]",g(M))}),!1}return pp(i)?!0:(e.append(fb(m,l,d),g(i)),!1)}const a=[],h=Object.assign(dO,{defaultVisitor:s,convertValue:g,isVisitable:pp});function c(i,l){if(!Re.isUndefined(i)){if(a.indexOf(i)!==-1)throw Error("Circular reference detected in "+l.join("."));a.push(i),Re.forEach(i,function(b,x){(!(Re.isUndefined(b)||b===null)&&u.call(e,b,Re.isString(x)?x.trim():x,l,h))===!0&&c(b,l?l.concat(x):[x])}),a.pop()}}if(!Re.isObject(t))throw new TypeError("data must be an object");return c(t),e}function gb(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function fp(t,e){this._pairs=[],t&&Jc(t,this,e)}const mb=fp.prototype;mb.append=function(e,n){this._pairs.push([e,n])},mb.toString=function(e){const n=e?function(r){return e.call(this,r,gb)}:gb;return this._pairs.map(function(u){return n(u[0])+"="+n(u[1])},"").join("&")};function pO(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function yb(t,e,n){if(!e)return t;const r=n&&n.encode||pO;Re.isFunction(n)&&(n={serialize:n});const u=n&&n.serialize;let d;if(u?d=u(e,n):d=Re.isURLSearchParams(e)?e.toString():new fp(e,n).toString(r),d){const p=t.indexOf("#");p!==-1&&(t=t.slice(0,p)),t+=(t.indexOf("?")===-1?"?":"&")+d}return t}class vb{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Re.forEach(this.handlers,function(r){r!==null&&e(r)})}}const wb={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},fO={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:fp,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},gp=typeof window<"u"&&typeof document<"u",mp=typeof navigator=="object"&&navigator||void 0,gO=gp&&(!mp||["ReactNative","NativeScript","NS"].indexOf(mp.product)<0),mO=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",yO=gp&&window.location.href||"http://localhost",Er={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:gp,hasStandardBrowserEnv:gO,hasStandardBrowserWebWorkerEnv:mO,navigator:mp,origin:yO},Symbol.toStringTag,{value:"Module"})),...fO};function vO(t,e){return Jc(t,new Er.classes.URLSearchParams,Object.assign({visitor:function(n,r,u,d){return Er.isNode&&Re.isBuffer(n)?(this.append(r,n.toString("base64")),!1):d.defaultVisitor.apply(this,arguments)}},e))}function wO(t){return Re.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function bO(t){const e={},n=Object.keys(t);let r;const u=n.length;let d;for(r=0;r<u;r++)d=n[r],e[d]=t[d];return e}function bb(t){function e(n,r,u,d){let p=n[d++];if(p==="__proto__")return!0;const w=Number.isFinite(+p),f=d>=n.length;return p=!p&&Re.isArray(u)?u.length:p,f?(Re.hasOwnProp(u,p)?u[p]=[u[p],r]:u[p]=r,!w):((!u[p]||!Re.isObject(u[p]))&&(u[p]=[]),e(n,r,u[p],d)&&Re.isArray(u[p])&&(u[p]=bO(u[p])),!w)}if(Re.isFormData(t)&&Re.isFunction(t.entries)){const n={};return Re.forEachEntry(t,(r,u)=>{e(wO(r),u,n,0)}),n}return null}function xO(t,e,n){if(Re.isString(t))try{return(e||JSON.parse)(t),Re.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const wl={transitional:wb,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",u=r.indexOf("application/json")>-1,d=Re.isObject(e);if(d&&Re.isHTMLForm(e)&&(e=new FormData(e)),Re.isFormData(e))return u?JSON.stringify(bb(e)):e;if(Re.isArrayBuffer(e)||Re.isBuffer(e)||Re.isStream(e)||Re.isFile(e)||Re.isBlob(e)||Re.isReadableStream(e))return e;if(Re.isArrayBufferView(e))return e.buffer;if(Re.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let w;if(d){if(r.indexOf("application/x-www-form-urlencoded")>-1)return vO(e,this.formSerializer).toString();if((w=Re.isFileList(e))||r.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Jc(w?{"files[]":e}:e,f&&new f,this.formSerializer)}}return d||u?(n.setContentType("application/json",!1),xO(e)):e}],transformResponse:[function(e){const n=this.transitional||wl.transitional,r=n&&n.forcedJSONParsing,u=this.responseType==="json";if(Re.isResponse(e)||Re.isReadableStream(e))return e;if(e&&Re.isString(e)&&(r&&!this.responseType||u)){const p=!(n&&n.silentJSONParsing)&&u;try{return JSON.parse(e)}catch(w){if(p)throw w.name==="SyntaxError"?Ot.from(w,Ot.ERR_BAD_RESPONSE,this,null,this.response):w}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Er.classes.FormData,Blob:Er.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Re.forEach(["delete","get","head","post","put","patch"],t=>{wl.headers[t]={}});const kO=Re.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"]),_O=t=>{const e={};let n,r,u;return t&&t.split(`
1497
+ `).forEach(function(p){u=p.indexOf(":"),n=p.substring(0,u).trim().toLowerCase(),r=p.substring(u+1).trim(),!(!n||e[n]&&kO[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},xb=Symbol("internals");function bl(t){return t&&String(t).trim().toLowerCase()}function eu(t){return t===!1||t==null?t:Re.isArray(t)?t.map(eu):String(t)}function SO(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const CO=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function yp(t,e,n,r,u){if(Re.isFunction(r))return r.call(this,e,n);if(u&&(e=n),!!Re.isString(e)){if(Re.isString(r))return e.indexOf(r)!==-1;if(Re.isRegExp(r))return r.test(e)}}function TO(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function $O(t,e){const n=Re.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(u,d,p){return this[r].call(this,e,u,d,p)},configurable:!0})})}let Jr=class{constructor(e){e&&this.set(e)}set(e,n,r){const u=this;function d(w,f,g){const s=bl(f);if(!s)throw new Error("header name must be a non-empty string");const a=Re.findKey(u,s);(!a||u[a]===void 0||g===!0||g===void 0&&u[a]!==!1)&&(u[a||f]=eu(w))}const p=(w,f)=>Re.forEach(w,(g,s)=>d(g,s,f));if(Re.isPlainObject(e)||e instanceof this.constructor)p(e,n);else if(Re.isString(e)&&(e=e.trim())&&!CO(e))p(_O(e),n);else if(Re.isHeaders(e))for(const[w,f]of e.entries())d(f,w,r);else e!=null&&d(n,e,r);return this}get(e,n){if(e=bl(e),e){const r=Re.findKey(this,e);if(r){const u=this[r];if(!n)return u;if(n===!0)return SO(u);if(Re.isFunction(n))return n.call(this,u,r);if(Re.isRegExp(n))return n.exec(u);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=bl(e),e){const r=Re.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||yp(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let u=!1;function d(p){if(p=bl(p),p){const w=Re.findKey(r,p);w&&(!n||yp(r,r[w],w,n))&&(delete r[w],u=!0)}}return Re.isArray(e)?e.forEach(d):d(e),u}clear(e){const n=Object.keys(this);let r=n.length,u=!1;for(;r--;){const d=n[r];(!e||yp(this,this[d],d,e,!0))&&(delete this[d],u=!0)}return u}normalize(e){const n=this,r={};return Re.forEach(this,(u,d)=>{const p=Re.findKey(r,d);if(p){n[p]=eu(u),delete n[d];return}const w=e?TO(d):String(d).trim();w!==d&&delete n[d],n[w]=eu(u),r[w]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return Re.forEach(this,(r,u)=>{r!=null&&r!==!1&&(n[u]=e&&Re.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
1498
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(u=>r.set(u)),r}static accessor(e){const r=(this[xb]=this[xb]={accessors:{}}).accessors,u=this.prototype;function d(p){const w=bl(p);r[w]||($O(u,p),r[w]=!0)}return Re.isArray(e)?e.forEach(d):d(e),this}};Jr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Re.reduceDescriptors(Jr.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),Re.freezeMethods(Jr);function vp(t,e){const n=this||wl,r=e||n,u=Jr.from(r.headers);let d=r.data;return Re.forEach(t,function(w){d=w.call(n,d,u.normalize(),e?e.status:void 0)}),u.normalize(),d}function kb(t){return!!(t&&t.__CANCEL__)}function Aa(t,e,n){Ot.call(this,t??"canceled",Ot.ERR_CANCELED,e,n),this.name="CanceledError"}Re.inherits(Aa,Ot,{__CANCEL__:!0});function _b(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new Ot("Request failed with status code "+n.status,[Ot.ERR_BAD_REQUEST,Ot.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function AO(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function RO(t,e){t=t||10;const n=new Array(t),r=new Array(t);let u=0,d=0,p;return e=e!==void 0?e:1e3,function(f){const g=Date.now(),s=r[d];p||(p=g),n[u]=f,r[u]=g;let a=d,h=0;for(;a!==u;)h+=n[a++],a=a%t;if(u=(u+1)%t,u===d&&(d=(d+1)%t),g-p<e)return;const c=s&&g-s;return c?Math.round(h*1e3/c):void 0}}function EO(t,e){let n=0,r=1e3/e,u,d;const p=(g,s=Date.now())=>{n=s,u=null,d&&(clearTimeout(d),d=null),t.apply(null,g)};return[(...g)=>{const s=Date.now(),a=s-n;a>=r?p(g,s):(u=g,d||(d=setTimeout(()=>{d=null,p(u)},r-a)))},()=>u&&p(u)]}const tu=(t,e,n=3)=>{let r=0;const u=RO(50,250);return EO(d=>{const p=d.loaded,w=d.lengthComputable?d.total:void 0,f=p-r,g=u(f),s=p<=w;r=p;const a={loaded:p,total:w,progress:w?p/w:void 0,bytes:f,rate:g||void 0,estimated:g&&w&&s?(w-p)/g:void 0,event:d,lengthComputable:w!=null,[e?"download":"upload"]:!0};t(a)},n)},Sb=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Cb=t=>(...e)=>Re.asap(()=>t(...e)),MO=Er.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Er.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Er.origin),Er.navigator&&/(msie|trident)/i.test(Er.navigator.userAgent)):()=>!0,LO=Er.hasStandardBrowserEnv?{write(t,e,n,r,u,d){const p=[t+"="+encodeURIComponent(e)];Re.isNumber(n)&&p.push("expires="+new Date(n).toGMTString()),Re.isString(r)&&p.push("path="+r),Re.isString(u)&&p.push("domain="+u),d===!0&&p.push("secure"),document.cookie=p.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function OO(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function IO(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Tb(t,e,n){let r=!OO(e);return t&&(r||n==!1)?IO(t,e):e}const $b=t=>t instanceof Jr?{...t}:t;function Bs(t,e){e=e||{};const n={};function r(g,s,a,h){return Re.isPlainObject(g)&&Re.isPlainObject(s)?Re.merge.call({caseless:h},g,s):Re.isPlainObject(s)?Re.merge({},s):Re.isArray(s)?s.slice():s}function u(g,s,a,h){if(Re.isUndefined(s)){if(!Re.isUndefined(g))return r(void 0,g,a,h)}else return r(g,s,a,h)}function d(g,s){if(!Re.isUndefined(s))return r(void 0,s)}function p(g,s){if(Re.isUndefined(s)){if(!Re.isUndefined(g))return r(void 0,g)}else return r(void 0,s)}function w(g,s,a){if(a in e)return r(g,s);if(a in t)return r(void 0,g)}const f={url:d,method:d,data:d,baseURL:p,transformRequest:p,transformResponse:p,paramsSerializer:p,timeout:p,timeoutMessage:p,withCredentials:p,withXSRFToken:p,adapter:p,responseType:p,xsrfCookieName:p,xsrfHeaderName:p,onUploadProgress:p,onDownloadProgress:p,decompress:p,maxContentLength:p,maxBodyLength:p,beforeRedirect:p,transport:p,httpAgent:p,httpsAgent:p,cancelToken:p,socketPath:p,responseEncoding:p,validateStatus:w,headers:(g,s,a)=>u($b(g),$b(s),a,!0)};return Re.forEach(Object.keys(Object.assign({},t,e)),function(s){const a=f[s]||u,h=a(t[s],e[s],s);Re.isUndefined(h)&&a!==w||(n[s]=h)}),n}const Ab=t=>{const e=Bs({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:u,xsrfCookieName:d,headers:p,auth:w}=e;e.headers=p=Jr.from(p),e.url=yb(Tb(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),w&&p.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let f;if(Re.isFormData(n)){if(Er.hasStandardBrowserEnv||Er.hasStandardBrowserWebWorkerEnv)p.setContentType(void 0);else if((f=p.getContentType())!==!1){const[g,...s]=f?f.split(";").map(a=>a.trim()).filter(Boolean):[];p.setContentType([g||"multipart/form-data",...s].join("; "))}}if(Er.hasStandardBrowserEnv&&(r&&Re.isFunction(r)&&(r=r(e)),r||r!==!1&&MO(e.url))){const g=u&&d&&LO.read(d);g&&p.set(u,g)}return e},NO=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,r){const u=Ab(t);let d=u.data;const p=Jr.from(u.headers).normalize();let{responseType:w,onUploadProgress:f,onDownloadProgress:g}=u,s,a,h,c,i;function l(){c&&c(),i&&i(),u.cancelToken&&u.cancelToken.unsubscribe(s),u.signal&&u.signal.removeEventListener("abort",s)}let m=new XMLHttpRequest;m.open(u.method.toUpperCase(),u.url,!0),m.timeout=u.timeout;function b(){if(!m)return;const M=Jr.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),_={data:!w||w==="text"||w==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:M,config:t,request:m};_b(function(E){n(E),l()},function(E){r(E),l()},_),m=null}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(b)},m.onabort=function(){m&&(r(new Ot("Request aborted",Ot.ECONNABORTED,t,m)),m=null)},m.onerror=function(){r(new Ot("Network Error",Ot.ERR_NETWORK,t,m)),m=null},m.ontimeout=function(){let A=u.timeout?"timeout of "+u.timeout+"ms exceeded":"timeout exceeded";const _=u.transitional||wb;u.timeoutErrorMessage&&(A=u.timeoutErrorMessage),r(new Ot(A,_.clarifyTimeoutError?Ot.ETIMEDOUT:Ot.ECONNABORTED,t,m)),m=null},d===void 0&&p.setContentType(null),"setRequestHeader"in m&&Re.forEach(p.toJSON(),function(A,_){m.setRequestHeader(_,A)}),Re.isUndefined(u.withCredentials)||(m.withCredentials=!!u.withCredentials),w&&w!=="json"&&(m.responseType=u.responseType),g&&([h,i]=tu(g,!0),m.addEventListener("progress",h)),f&&m.upload&&([a,c]=tu(f),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",c)),(u.cancelToken||u.signal)&&(s=M=>{m&&(r(!M||M.type?new Aa(null,t,m):M),m.abort(),m=null)},u.cancelToken&&u.cancelToken.subscribe(s),u.signal&&(u.signal.aborted?s():u.signal.addEventListener("abort",s)));const x=AO(u.url);if(x&&Er.protocols.indexOf(x)===-1){r(new Ot("Unsupported protocol "+x+":",Ot.ERR_BAD_REQUEST,t));return}m.send(d||null)})},DO=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,u;const d=function(g){if(!u){u=!0,w();const s=g instanceof Error?g:this.reason;r.abort(s instanceof Ot?s:new Aa(s instanceof Error?s.message:s))}};let p=e&&setTimeout(()=>{p=null,d(new Ot(`timeout ${e} of ms exceeded`,Ot.ETIMEDOUT))},e);const w=()=>{t&&(p&&clearTimeout(p),p=null,t.forEach(g=>{g.unsubscribe?g.unsubscribe(d):g.removeEventListener("abort",d)}),t=null)};t.forEach(g=>g.addEventListener("abort",d));const{signal:f}=r;return f.unsubscribe=()=>Re.asap(w),f}},FO=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,u;for(;r<n;)u=r+e,yield t.slice(r,u),r=u},PO=async function*(t,e){for await(const n of BO(t))yield*FO(n,e)},BO=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},Rb=(t,e,n,r)=>{const u=PO(t,e);let d=0,p,w=f=>{p||(p=!0,r&&r(f))};return new ReadableStream({async pull(f){try{const{done:g,value:s}=await u.next();if(g){w(),f.close();return}let a=s.byteLength;if(n){let h=d+=a;n(h)}f.enqueue(new Uint8Array(s))}catch(g){throw w(g),g}},cancel(f){return w(f),u.return()}},{highWaterMark:2})},nu=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Eb=nu&&typeof ReadableStream=="function",jO=nu&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),Mb=(t,...e)=>{try{return!!t(...e)}catch{return!1}},WO=Eb&&Mb(()=>{let t=!1;const e=new Request(Er.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),Lb=64*1024,wp=Eb&&Mb(()=>Re.isReadableStream(new Response("").body)),ru={stream:wp&&(t=>t.body)};nu&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!ru[e]&&(ru[e]=Re.isFunction(t[e])?n=>n[e]():(n,r)=>{throw new Ot(`Response type '${e}' is not supported`,Ot.ERR_NOT_SUPPORT,r)})})})(new Response);const zO=async t=>{if(t==null)return 0;if(Re.isBlob(t))return t.size;if(Re.isSpecCompliantForm(t))return(await new Request(Er.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(Re.isArrayBufferView(t)||Re.isArrayBuffer(t))return t.byteLength;if(Re.isURLSearchParams(t)&&(t=t+""),Re.isString(t))return(await jO(t)).byteLength},HO=async(t,e)=>{const n=Re.toFiniteNumber(t.getContentLength());return n??zO(e)},bp={http:uO,xhr:NO,fetch:nu&&(async t=>{let{url:e,method:n,data:r,signal:u,cancelToken:d,timeout:p,onDownloadProgress:w,onUploadProgress:f,responseType:g,headers:s,withCredentials:a="same-origin",fetchOptions:h}=Ab(t);g=g?(g+"").toLowerCase():"text";let c=DO([u,d&&d.toAbortSignal()],p),i;const l=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(f&&WO&&n!=="get"&&n!=="head"&&(m=await HO(s,r))!==0){let _=new Request(e,{method:"POST",body:r,duplex:"half"}),k;if(Re.isFormData(r)&&(k=_.headers.get("content-type"))&&s.setContentType(k),_.body){const[E,O]=Sb(m,tu(Cb(f)));r=Rb(_.body,Lb,E,O)}}Re.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;i=new Request(e,{...h,signal:c,method:n.toUpperCase(),headers:s.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(i);const M=wp&&(g==="stream"||g==="response");if(wp&&(w||M&&l)){const _={};["status","statusText","headers"].forEach(F=>{_[F]=x[F]});const k=Re.toFiniteNumber(x.headers.get("content-length")),[E,O]=w&&Sb(k,tu(Cb(w),!0))||[];x=new Response(Rb(x.body,Lb,E,()=>{O&&O(),l&&l()}),_)}g=g||"text";let A=await ru[Re.findKey(ru,g)||"text"](x,t);return!M&&l&&l(),await new Promise((_,k)=>{_b(_,k,{data:A,headers:Jr.from(x.headers),status:x.status,statusText:x.statusText,config:t,request:i})})}catch(b){throw l&&l(),b&&b.name==="TypeError"&&/fetch/i.test(b.message)?Object.assign(new Ot("Network Error",Ot.ERR_NETWORK,t,i),{cause:b.cause||b}):Ot.from(b,b&&b.code,t,i)}})};Re.forEach(bp,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Ob=t=>`- ${t}`,UO=t=>Re.isFunction(t)||t===null||t===!1,Ib={getAdapter:t=>{t=Re.isArray(t)?t:[t];const{length:e}=t;let n,r;const u={};for(let d=0;d<e;d++){n=t[d];let p;if(r=n,!UO(n)&&(r=bp[(p=String(n)).toLowerCase()],r===void 0))throw new Ot(`Unknown adapter '${p}'`);if(r)break;u[p||"#"+d]=r}if(!r){const d=Object.entries(u).map(([w,f])=>`adapter ${w} `+(f===!1?"is not supported by the environment":"is not available in the build"));let p=e?d.length>1?`since :
1499
+ `+d.map(Ob).join(`
1500
+ `):" "+Ob(d[0]):"as no adapter specified";throw new Ot("There is no suitable adapter to dispatch the request "+p,"ERR_NOT_SUPPORT")}return r},adapters:bp};function xp(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Aa(null,t)}function Nb(t){return xp(t),t.headers=Jr.from(t.headers),t.data=vp.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Ib.getAdapter(t.adapter||wl.adapter)(t).then(function(r){return xp(t),r.data=vp.call(t,t.transformResponse,r),r.headers=Jr.from(r.headers),r},function(r){return kb(r)||(xp(t),r&&r.response&&(r.response.data=vp.call(t,t.transformResponse,r.response),r.response.headers=Jr.from(r.response.headers))),Promise.reject(r)})}const Db="1.8.4",iu={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{iu[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const Fb={};iu.transitional=function(e,n,r){function u(d,p){return"[Axios v"+Db+"] Transitional option '"+d+"'"+p+(r?". "+r:"")}return(d,p,w)=>{if(e===!1)throw new Ot(u(p," has been removed"+(n?" in "+n:"")),Ot.ERR_DEPRECATED);return n&&!Fb[p]&&(Fb[p]=!0,console.warn(u(p," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(d,p,w):!0}},iu.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function qO(t,e,n){if(typeof t!="object")throw new Ot("options must be an object",Ot.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let u=r.length;for(;u-- >0;){const d=r[u],p=e[d];if(p){const w=t[d],f=w===void 0||p(w,d,t);if(f!==!0)throw new Ot("option "+d+" must be "+f,Ot.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ot("Unknown option "+d,Ot.ERR_BAD_OPTION)}}const ou={assertOptions:qO,validators:iu},fo=ou.validators;let js=class{constructor(e){this.defaults=e,this.interceptors={request:new vb,response:new vb}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let u={};Error.captureStackTrace?Error.captureStackTrace(u):u=new Error;const d=u.stack?u.stack.replace(/^.+\n/,""):"";try{r.stack?d&&!String(r.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(r.stack+=`
1501
+ `+d):r.stack=d}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Bs(this.defaults,n);const{transitional:r,paramsSerializer:u,headers:d}=n;r!==void 0&&ou.assertOptions(r,{silentJSONParsing:fo.transitional(fo.boolean),forcedJSONParsing:fo.transitional(fo.boolean),clarifyTimeoutError:fo.transitional(fo.boolean)},!1),u!=null&&(Re.isFunction(u)?n.paramsSerializer={serialize:u}:ou.assertOptions(u,{encode:fo.function,serialize:fo.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ou.assertOptions(n,{baseUrl:fo.spelling("baseURL"),withXsrfToken:fo.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let p=d&&Re.merge(d.common,d[n.method]);d&&Re.forEach(["delete","get","head","post","put","patch","common"],i=>{delete d[i]}),n.headers=Jr.concat(p,d);const w=[];let f=!0;this.interceptors.request.forEach(function(l){typeof l.runWhen=="function"&&l.runWhen(n)===!1||(f=f&&l.synchronous,w.unshift(l.fulfilled,l.rejected))});const g=[];this.interceptors.response.forEach(function(l){g.push(l.fulfilled,l.rejected)});let s,a=0,h;if(!f){const i=[Nb.bind(this),void 0];for(i.unshift.apply(i,w),i.push.apply(i,g),h=i.length,s=Promise.resolve(n);a<h;)s=s.then(i[a++],i[a++]);return s}h=w.length;let c=n;for(a=0;a<h;){const i=w[a++],l=w[a++];try{c=i(c)}catch(m){l.call(this,m);break}}try{s=Nb.call(this,c)}catch(i){return Promise.reject(i)}for(a=0,h=g.length;a<h;)s=s.then(g[a++],g[a++]);return s}getUri(e){e=Bs(this.defaults,e);const n=Tb(e.baseURL,e.url,e.allowAbsoluteUrls);return yb(n,e.params,e.paramsSerializer)}};Re.forEach(["delete","get","head","options"],function(e){js.prototype[e]=function(n,r){return this.request(Bs(r||{},{method:e,url:n,data:(r||{}).data}))}}),Re.forEach(["post","put","patch"],function(e){function n(r){return function(d,p,w){return this.request(Bs(w||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:d,data:p}))}}js.prototype[e]=n(),js.prototype[e+"Form"]=n(!0)});let VO=class Mx{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(d){n=d});const r=this;this.promise.then(u=>{if(!r._listeners)return;let d=r._listeners.length;for(;d-- >0;)r._listeners[d](u);r._listeners=null}),this.promise.then=u=>{let d;const p=new Promise(w=>{r.subscribe(w),d=w}).then(u);return p.cancel=function(){r.unsubscribe(d)},p},e(function(d,p,w){r.reason||(r.reason=new Aa(d,p,w),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Mx(function(u){e=u}),cancel:e}}};function KO(t){return function(n){return t.apply(null,n)}}function GO(t){return Re.isObject(t)&&t.isAxiosError===!0}const kp={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(kp).forEach(([t,e])=>{kp[e]=t});function Pb(t){const e=new js(t),n=rb(js.prototype.request,e);return Re.extend(n,js.prototype,e,{allOwnKeys:!0}),Re.extend(n,e,null,{allOwnKeys:!0}),n.create=function(u){return Pb(Bs(t,u))},n}const Gn=Pb(wl);Gn.Axios=js,Gn.CanceledError=Aa,Gn.CancelToken=VO,Gn.isCancel=kb,Gn.VERSION=Db,Gn.toFormData=Jc,Gn.AxiosError=Ot,Gn.Cancel=Gn.CanceledError,Gn.all=function(e){return Promise.all(e)},Gn.spread=KO,Gn.isAxiosError=GO,Gn.mergeConfig=Bs,Gn.AxiosHeaders=Jr,Gn.formToJSON=t=>bb(Re.isHTMLForm(t)?new FormData(t):t),Gn.getAdapter=Ib.getAdapter,Gn.HttpStatusCode=kp,Gn.default=Gn;const{Axios:vj,AxiosError:wj,CanceledError:bj,isCancel:xj,CancelToken:kj,VERSION:_j,all:Sj,Cancel:Cj,isAxiosError:Tj,spread:$j,toFormData:Aj,AxiosHeaders:Rj,HttpStatusCode:Ej,formToJSON:Mj,getAdapter:Lj,mergeConfig:Oj}=Gn,YO={components:{TopBar:iR,OutputDialog:eR},data(){return{title:"Bucket Explorer",search:"",root:"",mode:"bucket",buckets:[],volumes:[],uploadPathDialog:!1,optionsDialog:!1,refreshInterval:60,updater:null,updating:!1,path:"",file:null,files:[],showDialog:!1,dialogName:"",dialogContent:"",dialogFilename:"",sortBy:[{key:"modified",order:"desc"}],headers:[{title:"Name",value:"name",sortable:!0,nowrap:!0},{title:"Size",value:"size",sortable:!0},{title:"ModifiedDate",value:"modified",sortable:!0},{title:"Action",value:"action",align:"end",nowrap:!0}],menus:[{label:"File",items:[{label:"Options",icon:"mdi-cog",command:()=>{this.optionsDialog=!0}}]}]}},computed:{folderTotal(){return this.files.reduce((t,e)=>t+(e.size?e.size:0),0).toLocaleString()},breadcrumbPath(){const t=this.path.split("/");return t.map((e,n)=>({name:e,path:t.slice(0,n+1).join("/")+"/"}))}},created(){var t;if(xs.get("/openc3-api/storage/buckets").then(e=>{this.buckets=e.data}),xs.get("/openc3-api/storage/volumes").then(e=>{this.volumes=e.data}),(t=this.$route.params.path)!=null&&t.length){this.updating=!0;let e=this.$route.params.path[0].split("/");e[0]===""?(this.mode="volume",this.root=`/${e[1]}`,this.path=e.slice(2).join("/")):(this.mode="bucket",this.root=e[0],this.path=e.slice(1).join("/")),this.updateFiles()}this.changeUpdater()},beforeUnmount(){this.clearUpdater()},watch:{file:async function(){this.file!==null&&(this.uploadFilePath=`${this.path}${this.file.name}`,this.uploadPathDialog=!0)},refreshInterval(){this.changeUpdater()}},methods:{isText(t){if(["Rakefile","Dockerfile"].includes(t))return!0;let e=t.split(".").pop();return["txt","md","rb","py","pyi","cfg","html","js","json","info","vue","sh","bat","csv"].includes(e)},gotoPath(t){this.updating||(this.updating=!0,this.path=t,this.update())},update(){this.updating=!0,this.$router.push({name:"Bucket Explorer",params:{path:`${this.root}/${this.path}`}}),this.updateFiles()},changeUpdater(){this.clearUpdater(),this.updater=setInterval(()=>{this.root&&this.updateFiles()},this.refreshInterval*1e3)},clearUpdater(){this.updater!=null&&(clearInterval(this.updater),this.updater=null)},selectBucket(t){this.updating||(this.updating=!0,this.mode="bucket",this.root=t,this.path="",this.update())},selectVolume(t){this.updating||(this.updating=!0,this.mode="volume",this.root=t,this.path="",this.update())},backArrow(){if(this.path!==""&&!this.updating){this.updating=!0;let t=this.path.split("/");this.path=t.slice(0,t.length-2).join("/"),t.length>2&&(this.path+="/"),this.update()}},fileClick(t,{item:e}){e.icon==="mdi-folder"&&(this.updating||(this.updating=!0,this.root===""?this.root=e.name:this.path+=`${e.name}/`,this.update()))},viewFile(t){let e=this.root.toUpperCase();this.mode==="volume"&&(e=e.slice(1)),xs.get(`/openc3-api/storage/download_file/${encodeURIComponent(this.path)}${t}?${this.mode}=OPENC3_${e}_${this.mode.toUpperCase()}`).then(n=>{this.dialogName=t,this.dialogFilename=t,this.dialogContent=window.atob(n.data.contents),this.showDialog=!0})},downloadFile(t){let e=this.root.toUpperCase(),n="download";this.mode==="volume"&&(n="download_file",e=e.slice(1)),xs.get(`/openc3-api/storage/${n}/${encodeURIComponent(this.path)}${t}?${this.mode}=OPENC3_${e}_${this.mode.toUpperCase()}`).then(r=>{let u=null;if(this.mode==="bucket")u=r.data.url;else{const p=window.atob(r.data.contents),w=new Uint8Array(p.length);for(let g=0;g<p.length;++g)w[g]=p.charCodeAt(g);const f=new Blob([w]);u=URL.createObjectURL(f)}const d=document.createElement("a");d.href=u,d.setAttribute("download",t),d.click()}).catch(r=>{this.$notify.caution({title:`Unable to download file ${this.path}${t} from bucket ${this.root}`})})},async uploadFile(){this.uploadPathDialog=!1,this.uploadFilePath.startsWith("/")&&(this.uploadFilePath=this.uploadFilePath.slice(1));const{data:t}=await xs.get(`/openc3-api/storage/upload/${encodeURIComponent(this.uploadFilePath)}?bucket=OPENC3_${this.root.toUpperCase()}_BUCKET`);await Gn({...t,data:this.file}),this.file=null,this.path=this.uploadFilePath.split("/").slice(0,-1).join("/")+"/",this.updateFiles()},deleteFile(t){let e=this.root.toUpperCase();this.mode==="volume"&&(e=e.slice(1)),this.$dialog.confirm(`Are you sure you want to delete: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then(n=>xs.delete(`/openc3-api/storage/delete/${encodeURIComponent(this.path)}${t}?${this.mode}=OPENC3_${e}_${this.mode.toUpperCase()}`)).then(n=>{this.updateFiles()}).catch(n=>{})},updateFiles(){let t=this.root.toUpperCase();this.mode==="volume"&&(t=t.slice(1)),xs.get(`/openc3-api/storage/files/OPENC3_${t}_${this.mode.toUpperCase()}/${this.path}`).then(e=>{this.files=e.data[0].map(n=>({name:n,icon:"mdi-folder"})),this.files=this.files.concat(e.data[1].map(n=>({name:n.name,icon:"mdi-file",size:n.size,modified:n.modified}))),this.updating=!1}).catch(({response:e})=>{var n;this.files=[],(n=e.data)!=null&&n.message?this.$notify.caution({title:e.data.message}):this.$notify.caution({title:e.message}),this.updating=!1})}}},XO={style:{"padding-left":"5px","padding-top":"5px"}},QO={key:0,style:{"padding-left":"5px"}},ZO={class:".text-body-1 ma-2 font-size","data-test":"file-path"},JO=["onClick"],e2={class:"ma-2 font-size"},t2={key:0,class:"ma-2",style:{display:"flex"}},n2={class:"mx-1"},r2={class:"pa-3"};function i2(t,e,n,r,u,d){const p=Wt("top-bar"),w=Wt("v-icon"),f=Wt("v-avatar"),g=Wt("v-chip"),s=Wt("v-spacer"),a=Wt("v-text-field"),h=Wt("v-card-title"),c=Wt("v-btn"),i=Wt("v-file-input"),l=Wt("v-row"),m=Wt("v-data-table"),b=Wt("v-card"),x=Wt("v-toolbar"),M=Wt("v-card-text"),A=Wt("v-dialog"),_=Wt("output-dialog");return Zt(),Yr("div",null,[ot(p,{title:u.title,menus:u.menus},null,8,["title","menus"]),ot(b,{width:"100%"},{default:nt(()=>[lr("div",XO,[e[12]||(e[12]=lr("span",{class:"ma-2 font-size"},"Buckets:",-1)),(Zt(!0),Yr(So,null,Ko(u.buckets,(k,E)=>(Zt(),er(g,{key:E,variant:"elevated",color:"primary",class:"ma-2",onClick:ys(O=>d.selectBucket(k),["stop"])},{default:nt(()=>[ot(f,{start:""},{default:nt(()=>[ot(w,null,{default:nt(()=>e[11]||(e[11]=[En("mdi-bucket")])),_:1})]),_:1}),En(" "+Br(k),1)]),_:2},1032,["onClick"]))),128))]),u.volumes.length!==0?(Zt(),Yr("div",QO,[e[14]||(e[14]=lr("span",{class:"ma-2 font-size"},"Volumes:",-1)),(Zt(!0),Yr(So,null,Ko(u.volumes,(k,E)=>(Zt(),er(g,{key:E,variant:"elevated",color:"primary",class:"ma-2",onClick:ys(O=>d.selectVolume(k),["stop"])},{default:nt(()=>[ot(f,{start:""},{default:nt(()=>[ot(w,null,{default:nt(()=>e[13]||(e[13]=[En("mdi-folder")])),_:1})]),_:1}),En(" "+Br(k),1)]),_:2},1032,["onClick"]))),128))])):so("",!0),ot(h,{class:"pt-0 d-flex align-center justify-content-space-between"},{default:nt(()=>[En(Br(u.root)+" Files ",1),ot(s),ot(a,{modelValue:u.search,"onUpdate:modelValue":e[0]||(e[0]=k=>u.search=k),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search","data-test":"search-input"},null,8,["modelValue"])]),_:1}),ot(m,{headers:u.headers,items:u.files,search:u.search,"items-per-page":-1,"items-per-page-options":[10,20,50,100,-1],"sort-by":u.sortBy,"onUpdate:sortBy":e[2]||(e[2]=k=>u.sortBy=k),"onClick:row":ys(d.fileClick,["stop"]),"multi-sort":"",density:"compact",hover:""},{top:nt(()=>[ot(l,{class:"ma-0",style:{"background-color":"var(--color-background-surface-header)"}},{default:nt(()=>[ot(c,{icon:"mdi-chevron-left-box-outline",variant:"text",density:"compact",class:"ml-3 mt-1",onClick:ys(d.backArrow,["stop"]),"data-test":"be-nav-back"},null,8,["onClick"]),lr("span",ZO,[(Zt(!0),Yr(So,null,Ko(d.breadcrumbPath,(k,E)=>(Zt(),Yr("a",{key:E,onClick:ys(O=>d.gotoPath(k.path),["prevent"]),style:{cursor:"pointer"}},"/ "+Br(k.name)+"  ",9,JO))),128))]),ot(s),lr("div",e2,[En(" Folder Size: "+Br(d.folderTotal)+" ",1),e[15]||(e[15]=lr("span",{class:"small-font-size"},"(not recursive)",-1))]),ot(s),u.mode==="bucket"?(Zt(),Yr("div",t2,[e[16]||(e[16]=lr("span",{class:"font-size"},"Upload File",-1)),ot(i,{modelValue:u.file,"onUpdate:modelValue":e[1]||(e[1]=k=>u.file=k),"hide-input":"","hide-details":"",class:"mr-1 file-input","prepend-icon":"mdi-upload","data-test":"upload-file"},null,8,["modelValue"])])):so("",!0)]),_:1})]),"item.name":nt(({item:k})=>[ot(w,{class:"mr-2"},{default:nt(()=>[En(Br(k.icon),1)]),_:2},1024),En(" "+Br(k.name),1)]),"item.size":nt(({item:k})=>[En(Br(k.size?k.size.toLocaleString():""),1)]),"item.action":nt(({item:k})=>[k.icon==="mdi-file"&&d.isText(k.name)?(Zt(),er(w,{key:0,onClick:E=>d.viewFile(k.name),class:"mr-3","data-test":"view-file"},{default:nt(()=>e[17]||(e[17]=[En(" mdi-eye ")])),_:2},1032,["onClick"])):so("",!0),k.icon==="mdi-file"?(Zt(),er(w,{key:1,onClick:E=>d.downloadFile(k.name),class:"mr-3","data-test":"download-file"},{default:nt(()=>e[18]||(e[18]=[En(" mdi-download-box ")])),_:2},1032,["onClick"])):so("",!0),k.icon==="mdi-file"?(Zt(),er(w,{key:2,onClick:E=>d.deleteFile(k.name),"data-test":"delete-file"},{default:nt(()=>e[19]||(e[19]=[En(" mdi-delete ")])),_:2},1032,["onClick"])):so("",!0)]),_:1},8,["headers","items","search","sort-by","onClick:row"])]),_:1}),ot(A,{modelValue:u.uploadPathDialog,"onUpdate:modelValue":e[5]||(e[5]=k=>u.uploadPathDialog=k),"max-width":"600"},{default:nt(()=>[ot(b,null,{default:nt(()=>[ot(x,{height:"24"},{default:nt(()=>[ot(s),e[20]||(e[20]=lr("span",null," Upload Path ",-1)),ot(s)]),_:1}),ot(M,null,{default:nt(()=>[lr("div",n2,[ot(l,{class:"my-2"},{default:nt(()=>e[21]||(e[21]=[lr("span",null," This file path can be modified. New directories will be automatically created. ",-1)])),_:1}),ot(l,null,{default:nt(()=>[ot(a,{modelValue:t.uploadFilePath,"onUpdate:modelValue":e[3]||(e[3]=k=>t.uploadFilePath=k),"hide-details":"",label:"File Path","data-test":"upload-file-path"},null,8,["modelValue"])]),_:1}),ot(l,{class:"mt-6"},{default:nt(()=>[ot(s),ot(c,{onClick:e[4]||(e[4]=k=>u.uploadPathDialog=!1),variant:"outlined",class:"mx-2","data-test":"upload-file-cancel-btn"},{default:nt(()=>e[22]||(e[22]=[En(" Cancel ")])),_:1}),ot(c,{onClick:ys(d.uploadFile,["prevent"]),class:"mx-2",color:"primary",type:"submit","data-test":"upload-file-submit-btn"},{default:nt(()=>e[23]||(e[23]=[En(" Upload ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),ot(A,{modelValue:u.optionsDialog,"onUpdate:modelValue":e[7]||(e[7]=k=>u.optionsDialog=k),onKeydown:e[8]||(e[8]=kf(k=>u.optionsDialog=!1,["esc"])),"max-width":"300"},{default:nt(()=>[ot(b,null,{default:nt(()=>[ot(x,{height:"24"},{default:nt(()=>[ot(s),e[24]||(e[24]=lr("span",null,"Options",-1)),ot(s)]),_:1}),ot(M,null,{default:nt(()=>[lr("div",r2,[ot(a,{modelValue:u.refreshInterval,"onUpdate:modelValue":e[6]||(e[6]=k=>u.refreshInterval=k),min:"1",max:"3600",step:"100",type:"number",label:"Refresh Interval (s)","data-test":"refresh-interval"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["modelValue"]),u.showDialog?(Zt(),er(_,{key:0,type:"File",content:u.dialogContent,name:u.dialogName,filename:u.dialogFilename,modelValue:u.showDialog,"onUpdate:modelValue":e[9]||(e[9]=k=>u.showDialog=k),onSubmit:e[10]||(e[10]=k=>u.showDialog=!1)},null,8,["content","name","filename","modelValue"])):so("",!0)])}Wi("d",Object.freeze(Object.defineProperty({__proto__:null,default:yf(YO,[["render",i2],["__scopeId","data-v-aff2a5b2"]])},Symbol.toStringTag,{value:"Module"})))}}});