From e4e527e31df0d62e1394d8b5484eacf3a1f3db20 Mon Sep 17 00:00:00 2001 From: salaheldinsoliman Date: Sun, 2 Jun 2024 14:43:56 +0200 Subject: [PATCH] add compile functionality to gh-pages Signed-off-by: salaheldinsoliman --- 3c2b3db7f940936c9622.wasm | Bin 0 -> 4676233 bytes app.bundle.js | 2 +- dc9ae6434bfd831400b6.wasm | Bin 4784392 -> 0 bytes index.html | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 3c2b3db7f940936c9622.wasm delete mode 100644 dc9ae6434bfd831400b6.wasm diff --git a/3c2b3db7f940936c9622.wasm b/3c2b3db7f940936c9622.wasm new file mode 100644 index 0000000000000000000000000000000000000000..35e2977be12040fe0ff2fbd7f5772e348e89a74c GIT binary patch literal 4676233 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%0D2-)L?{{cZ$b~~B|UeBHOWs>fWvFN?qCCW@3xw5 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 z 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
  • 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

    SIfE``G62 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%0DG#iZ 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 z zMVrRc`b9fA5vmeKRV8B7zCW&a(vj|H&C9t{*XXPx**QsJReB`xgb||Y5vDPKwD@3f zNbxd$3Ggec3>;!2J_T9mWI1%LqLDgf23x?N{I<5q$55QvpVyVX?LpI=iIM>u{o+uk zUnf2V8=TXR*4G&XxDGKiRnEgo^QGC=eP>1f>w-=0HO92?18{Uotd_bM4l0%*1WG6a z?aT$4?y~(#JuMV9=|Y`BbbDiw)-pRyKA7Hi4FO+lU_ioBm~@TYRGFVYfCJ1^yJ!q+ z#}bS12)kM<*a+iiTGHnwTO)sSXY#2VWx%Rf)OLV} zixf;M$Tunba37~wtas@_0|_cgw5{R0x-B^@O-hi8@g(|40*5B^cx2ePWKju;H zf!{2+CX%F1r37pAA%`8Bcht@-f#j6M^$`ZO|QJFQ$@I1 zof?@n{$wDV-H>Uj##|L9CC>-&Ixw1jQ>a-PS%F7#xuLK&)(7jPbvCOKEEKspmte+7 z4TIJ(?tQ8xpW-Wd6&q6j^it|@ff@3S&pM-sHK5NtZn5nPz+_g_tbLl>N2zeu0wt?D zcAzSn>GEB83qJ$SFyKIRCKX#?c5O`DU{;TPTG!|ZyNH?WztPE_UMYuUW0hnycHhhl zqrxVNIsfAzSwVJM3&}bKCh}=}lD;YqO6WN;K$CA0*Hlr>n3wdh4mkPQp!i@NB>Z6= z3t)iG=oh`{Q252~Ig;w8iw-?zX`jbRGr-#erisyE?R7XK+<%o8&A9lmEf8wPtqq*Q zxQF2%g^HZP4t`9}zkF?5+$)!^f#j2G5%FN=C~`qcDXcx{iF!<^LZXELbc%t4(k=}L zZ%IP78U+>jsN=66Er%H>G-r%qeBpjDHLiR#^=oD zn*hx;f*W!mo{TivNR}Jhv(W{O5`v887;lAHPu4yNpi9vflAf-&vT z#vg?44#1ikvymfQSULpeA!t+*l1LepUcpVj#BZlSnX#OrFDVMV<}L0>wsCV>zkP~5 z=n;e;Gjzg^%u6O4oXH9NI}gM3IcHUw%=^qCSk3mZocjX{JqtOR(q+n>bB{s96L5T2 zvY-$jdyP1U0(ft7$mazNj!a$w3!vm68R729of>iWKOY2{S0{Qw#1{ zpSecmkLsXp<73UZ@3x8}QY0Z@<0m_{;UD<_`tE46B{IBm^d8f?wUDn37hXj>QMz6$ z{YZ;IvC&5>uw2O5x0sKb^poIuJk;?QhW)z24JLTAN{)Q zpRMA};Q8}+KU@$vJJavU_PI1TdyDsnL7V zqJ%BlWBG%0x7B#FRREc&PN5I&@+@JXSlr$k7_N_CF0AXPb^}nL#N3mdy5B>h(xA(pG?U(4i>F=Na%BRm*dc)rz`q22(m0b7N zU;W0TMZMPi_5Lqip|`5P9r(+V-umqAQ@gL!OT}J(`|TCIlv1cM3Fjo-B-%OlIFV&gLdQNq zt_yynA%;UvW@_rGYAK2I!_56*RM1CuNKItZ1wDgPJ_#7u3?J(~_%ARvF7&t8FG*hNw!J z>ZA-Bta3%9hJIIs=0G5dg!aKrzgqM%d(FaRT?i{D_R;NWuZp10ypErlPwO%-x+8t& z^?Z;%bI_>FhJ=2rvi8$e9w5B8g+5~s{G}O7k;cg4(Llk{nT-%fd_cbz0O|jrAFx+{ zS|dDCjgz3oQn^~`D@X*M8_cs%?3`gHlv03d0nm!FG#6@Hqn;ZO2Y%-%0D)<83B;|Q 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 $C+OuWs&)(n4 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%0DavD)Op5Z@CHofTvg0O2x$L-oi<0$jQk>ZBTcj+N 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

    J0JoxFP5w8Kw_*P!_66bp7aU9dzJULC_~%lu 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%0DVSxg^iy@@=gc_!s@U-ZtRqy>B& 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 z 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

    t(-uuqq{R6jCVA9AZ)-kd{I!&@41Bm;yM9=A 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 JG};@4rY9_3d0GGf literal 0 HcmV?d00001 diff --git a/app.bundle.js b/app.bundle.js index 5debd29..6278407 100644 --- a/app.bundle.js +++ b/app.bundle.js @@ -1,2 +1,2 @@ /*! For license information please see app.bundle.js.LICENSE.txt */ -(()=>{var e={2294:e=>{"use strict";function t(e,t,o){e instanceof RegExp&&(e=i(e,o)),t instanceof RegExp&&(t=i(t,o));var s=n(e,t,o);return s&&{start:s[0],end:s[1],pre:o.slice(0,s[0]),body:o.slice(s[0]+e.length,s[1]),post:o.slice(s[1]+t.length)}}function i(e,t){var i=t.match(e);return i?i[0]:null}function n(e,t,i){var n,o,s,r,a,l=i.indexOf(e),c=i.indexOf(t,l+1),d=l;if(l>=0&&c>0){if(e===t)return[l,c];for(n=[],s=i.length;d>=0&&!a;)d==l?(n.push(d),l=i.indexOf(e,d+1)):1==n.length?a=[n.pop(),c]:((o=n.pop())=0?l:c;n.length&&(a=[s,r])}return a}e.exports=t,t.range=n},402:(e,t,i)=>{var n=i(4114),o=i(2294);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),_(function(e){return e.split("\\\\").join(s).split("\\{").join(r).split("\\}").join(a).split("\\,").join(l).split("\\.").join(c)}(e),!0).map(h)):[]};var s="\0SLASH"+Math.random()+"\0",r="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",l="\0COMMA"+Math.random()+"\0",c="\0PERIOD"+Math.random()+"\0";function d(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function h(e){return e.split(s).join("\\").split(r).join("{").split(a).join("}").split(l).join(",").split(c).join(".")}function u(e){if(!e)return[""];var t=[],i=o("{","}",e);if(!i)return e.split(",");var n=i.pre,s=i.body,r=i.post,a=n.split(",");a[a.length-1]+="{"+s+"}";var l=u(r);return r.length&&(a[a.length-1]+=l.shift(),a.push.apply(a,l)),t.push.apply(t,a),t}function g(e){return"{"+e+"}"}function p(e){return/^-?0\d/.test(e)}function m(e,t){return e<=t}function f(e,t){return e>=t}function _(e,t){var i=[],s=o("{","}",e);if(!s||/\$$/.test(s.pre))return[e];var r,l=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),h=l||c,v=s.body.indexOf(",")>=0;if(!h&&!v)return s.post.match(/,.*\}/)?_(e=s.pre+"{"+s.body+a+s.post):[e];if(h)r=s.body.split(/\.\./);else if(1===(r=u(s.body)).length&&1===(r=_(r[0],!1).map(g)).length)return(w=s.post.length?_(s.post,!1):[""]).map((function(e){return s.pre+r[0]+e}));var b,C=s.pre,w=s.post.length?_(s.post,!1):[""];if(h){var y=d(r[0]),S=d(r[1]),x=Math.max(r[0].length,r[1].length),k=3==r.length?Math.abs(d(r[2])):1,D=m;S0){var T=new Array(I+1).join("0");N=E<0?"-"+T+N.slice(1):T+N}}b.push(N)}}else b=n(r,(function(e){return _(e,!1)}));for(var M=0;M{e.exports=function(e,i){for(var n=[],o=0;o{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar {\n\twhite-space: nowrap;\n\theight: 100%;\n}\n\n.monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\theight: 100%;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-action-bar .action-item {\n\tdisplay: block;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .icon,\n.monaco-action-bar .action-item .codicon {\n\tdisplay: block;\n}\n\n.monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-action-bar .action-item.disabled .action-label,\n.monaco-action-bar .action-item.disabled .action-label::before,\n.monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.4;\n}\n\n/* Vertical actions */\n\n.monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-action-bar .action-item .action-label.separator {\n\twidth: 1px;\n\theight: 16px;\n\tmargin: 5px 4px !important;\n\tcursor: default;\n\tmin-width: 1px;\n\tpadding: 0;\n\tbackground-color: #bbb;\n}\n\n.secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item {\n\tdisplay: flex;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-label {\n\tmargin-right: 1px;\n}\n",""]);const a=r},6548:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-aria-container {\n\tposition: absolute; /* try to hide from window but not from screen readers */\n\tleft:-999em;\n}",""]);const a=r},6263:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-text-button {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\twidth: 100%;\n\tpadding: 4px;\n\ttext-align: center;\n\tcursor: pointer;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.monaco-text-button:focus {\n\toutline-offset: 2px !important;\n}\n\n.monaco-text-button:hover {\n\ttext-decoration: none !important;\n}\n\n.monaco-button.disabled:focus,\n.monaco-button.disabled {\n\topacity: 0.4 !important;\n\tcursor: default;\n}\n\n.monaco-text-button > .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n.monaco-button-dropdown {\n\tdisplay: flex;\n\tcursor: pointer;\n}\n\n.monaco-button-dropdown > .monaco-dropdown-button {\n\tmargin-left: 1px;\n}\n\n.monaco-description-button {\n\tflex-direction: column;\n}\n\n.monaco-description-button .monaco-button-label {\n\tfont-weight: 500;\n}\n\n.monaco-description-button .monaco-button-description {\n\tfont-style: italic;\n}\n\n.monaco-description-button .monaco-button-label,\n.monaco-description-button .monaco-button-description\n{\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.monaco-description-button .monaco-button-label > .codicon,\n.monaco-description-button .monaco-button-description > .codicon\n{\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n",""]);const a=r},4163:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-custom-checkbox {\n\tmargin-left: 2px;\n\tfloat: left;\n\tcursor: pointer;\n\toverflow: hidden;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tpadding: 1px;\n\tbox-sizing:\tborder-box;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n.monaco-custom-checkbox:hover {\n\tbackground-color: var(--vscode-inputOption-hoverBackground);\n}\n\n.hc-black .monaco-custom-checkbox:hover {\n\tborder: 1px dashed var(--vscode-focusBorder);\n}\n\n.hc-black .monaco-custom-checkbox {\n\tbackground: none;\n}\n\n.hc-black .monaco-custom-checkbox:hover {\n\tbackground: none;\n}\n\n.monaco-custom-checkbox.monaco-simple-checkbox {\n\theight: 18px;\n\twidth: 18px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tmargin-right: 9px;\n\tmargin-left: 0px;\n\tpadding: 0px;\n\topacity: 1;\n\tbackground-size: 16px !important;\n}\n\n/* hide check when unchecked */\n.monaco-custom-checkbox.monaco-simple-checkbox:not(.checked)::before {\n\tvisibility: hidden;\n}\n",""]);const a=r},5090:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.codicon-wrench-subaction {\n\topacity: 0.5;\n}\n\n@keyframes codicon-spin {\n\t100% {\n\t\ttransform:rotate(360deg);\n\t}\n}\n\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin,\n.codicon-notebook-state-executing.codicon-modifier-spin {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n\topacity: 0.4;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading,\n.codicon-tree-item-loading::before {\n\tanimation-duration: 1s !important;\n\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n",""]);const a=r},2253:(e,t,i)=>{"use strict";i.d(t,{Z:()=>u});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s),a=i(8991),l=i.n(a),c=new URL(i(5023),i.b),d=r()(o()),h=l()(c);d.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n@font-face {\n\tfont-family: "codicon";\n\tfont-display: block;\n\tsrc: url('+h+") format(\"truetype\");\n}\n\n.codicon[class*='codicon-'] {\n\tfont: normal normal normal 16px/1 codicon;\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-rendering: auto;\n\ttext-align: center;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */\n",""]);const u=d},6288:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.context-view {\n\tposition: absolute;\n\tz-index: 2500;\n}\n\n.context-view.fixed {\n\tall: initial;\n\tfont-family: inherit;\n\tfont-size: 13px;\n\tposition: fixed;\n\tz-index: 2500;\n\tcolor: inherit;\n}\n",""]);const a=r},9907:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-count-badge {\n\tpadding: 3px 6px;\n\tborder-radius: 11px;\n\tfont-size: 11px;\n\tmin-width: 18px;\n\tmin-height: 18px;\n\tline-height: 11px;\n\tfont-weight: normal;\n\ttext-align: center;\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n}\n\n.monaco-count-badge.long {\n\tpadding: 2px 3px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n",""]);const a=r},5398:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-dropdown {\n\theight: 100%;\n\tpadding: 0;\n}\n\n.monaco-dropdown > .dropdown-label {\n\tcursor: pointer;\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-dropdown > .dropdown-label > .action-label.disabled {\n\tcursor: default;\n}\n\n.monaco-dropdown-with-primary {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-primary > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const a=r},2529:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/* ---------- Find input ---------- */\n\n.monaco-findInput {\n\tposition: relative;\n}\n\n.monaco-findInput .monaco-inputbox {\n\tfont-size: 13px;\n\twidth: 100%;\n}\n\n.monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n.vs .monaco-findInput.disabled {\n\tbackground-color: #E1E1E1;\n}\n\n/* Theming */\n.vs-dark .monaco-findInput.disabled {\n\tbackground-color: #333;\n}\n\n/* Highlighting */\n.monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\n}\n.monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\n}\n.hc-black .monaco-findInput.highlight-0 .controls,\n.vs-dark .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\n}\n.hc-black .monaco-findInput.highlight-1 .controls,\n.vs-dark .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\n}\n\n@keyframes monaco-findInput-highlight-0 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-1 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n\n@keyframes monaco-findInput-highlight-dark-0 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-dark-1 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}",""]);const a=r},7907:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-hover {\n\tcursor: default;\n\tposition: absolute;\n\toverflow: hidden;\n\tz-index: 50;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n\tbox-sizing: initial;\n\tanimation: fadein 100ms linear;\n\tline-height: 1.5em;\n}\n\n.monaco-hover.hidden {\n\tdisplay: none;\n}\n\n.monaco-hover a:hover {\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-contents:not(.html-hover-contents) {\n\tpadding: 4px 8px;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {\n\tmax-width: 500px;\n\tword-wrap: break-word;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {\n\tmin-width: 100%;\n}\n\n.monaco-hover p,\n.monaco-hover .code,\n.monaco-hover ul {\n\tmargin: 8px 0;\n}\n\n.monaco-hover code {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-hover hr {\n\tbox-sizing: border-box;\n\tborder-left: 0px;\n\tborder-right: 0px;\n\tmargin-top: 4px;\n\tmargin-bottom: -4px;\n\tmargin-left: -8px;\n\tmargin-right: -8px;\n\theight: 1px;\n}\n\n.monaco-hover p:first-child,\n.monaco-hover .code:first-child,\n.monaco-hover ul:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-hover p:last-child,\n.monaco-hover .code:last-child,\n.monaco-hover ul:last-child {\n\tmargin-bottom: 0;\n}\n\n/* MarkupContent Layout */\n.monaco-hover ul {\n\tpadding-left: 20px;\n}\n.monaco-hover ol {\n\tpadding-left: 20px;\n}\n\n.monaco-hover li > p {\n\tmargin-bottom: 0;\n}\n\n.monaco-hover li > ul {\n\tmargin-top: 0;\n}\n\n.monaco-hover code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-hover .monaco-tokenized-source {\n\twhite-space: pre-wrap;\n}\n\n.monaco-hover .hover-row.status-bar {\n\tfont-size: 12px;\n\tline-height: 22px;\n}\n\n.monaco-hover .hover-row.status-bar .actions {\n\tdisplay: flex;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container {\n\tmargin-right: 16px;\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {\n\tpadding-right: 4px;\n}\n\n.monaco-hover .markdown-hover .hover-contents .codicon {\n\tcolor: inherit;\n\tfont-size: inherit;\n\tvertical-align: middle;\n}\n\n.monaco-hover .hover-contents a.code-link:hover,\n.monaco-hover .hover-contents a.code-link {\n\tcolor: inherit;\n}\n\n.monaco-hover .hover-contents a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-hover .hover-contents a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-hover .hover-contents a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n}\n\n/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/\n.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {\n\tmargin-bottom: 4px;\n\tdisplay: inline-block;\n}\n\n.monaco-hover-content .action-container a {\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.monaco-hover-content .action-container.disabled {\n\tpointer-events: none;\n\topacity: 0.4;\n\tcursor: default;\n}\n",""]);const a=r},4306:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* ---------- Icon label ---------- */\n\n.monaco-icon-label {\n\tdisplay: flex; /* required for icons support :before rule */\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-icon-label::before {\n\n\t/* svg icons rendered as background image */\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tline-height: inherit !important;\n\tdisplay: inline-block;\n\n\t/* fonts icons */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tvertical-align: top;\n\n\tflex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */\n}\n\n.monaco-icon-label > .monaco-icon-label-container {\n\tmin-width: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tflex: 1;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {\n\tcolor: inherit;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {\n\tmargin: 0 2px;\n\topacity: 0.5;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .7;\n\tmargin-left: 0.5em;\n\tfont-size: 0.9em;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{\n\twhite-space: nowrap\n}\n\n.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .95;\n}\n\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.deprecated {\n\ttext-decoration: line-through;\n\topacity: 0.66;\n}\n\n/* make sure apply italic font style to decorations as well */\n.monaco-icon-label.italic::after {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\ttext-decoration: line-through;\n}\n\n.monaco-icon-label::after {\n\topacity: 0.75;\n\tfont-size: 90%;\n\tfont-weight: 600;\n\tmargin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */\n\ttext-align: center;\n}\n\n/* make sure selection color wins when a label is being selected */\n.monaco-list:focus .selected .monaco-icon-label, /* list */\n.monaco-list:focus .selected .monaco-icon-label::after\n{\n\tcolor: inherit !important;\n}\n\n.monaco-list-row.focused.selected .label-description,\n.monaco-list-row.selected .label-description {\n\topacity: .8;\n}\n",""]);const a=r},6004:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-inputbox {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: 0;\n\tbox-sizing:\tborder-box;\n\n\t/* Customizable */\n\tfont-size: inherit;\n}\n\n.monaco-inputbox.idle {\n\tborder: 1px solid transparent;\n}\n\n.monaco-inputbox > .ibwrapper > .input,\n.monaco-inputbox > .ibwrapper > .mirror {\n\n\t/* Customizable */\n\tpadding: 4px;\n}\n\n.monaco-inputbox > .ibwrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-inputbox > .ibwrapper > .input {\n\tdisplay: inline-block;\n\tbox-sizing:\tborder-box;\n\twidth: 100%;\n\theight: 100%;\n\tline-height: inherit;\n\tborder: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tresize: none;\n\tcolor: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > input {\n\ttext-overflow: ellipsis;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input {\n\tdisplay: block;\n\t-ms-overflow-style: none; /* IE 10+: hide scrollbars */\n\tscrollbar-width: none; /* Firefox: hide scrollbars */\n\toutline: none;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {\n\tdisplay: none; /* Chrome + Safari: hide scrollbar */\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input.empty {\n\twhite-space: nowrap;\n}\n\n.monaco-inputbox > .ibwrapper > .mirror {\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 100%;\n\ttop: 0;\n\tleft: 0;\n\tbox-sizing: border-box;\n\twhite-space: pre-wrap;\n\tvisibility: hidden;\n\tword-wrap: break-word;\n}\n\n/* Context view */\n\n.monaco-inputbox-container {\n\ttext-align: right;\n}\n\n.monaco-inputbox-container .monaco-inputbox-message {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\ttext-align: left;\n\twidth: 100%;\n\tbox-sizing:\tborder-box;\n\tpadding: 0.4em;\n\tfont-size: 12px;\n\tline-height: 17px;\n\tmargin-top: -1px;\n\tword-wrap: break-word;\n}\n\n/* Action bar support */\n.monaco-inputbox .monaco-action-bar {\n\tposition: absolute;\n\tright: 2px;\n\ttop: 4px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item {\n\tmargin-left: 2px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item .codicon {\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n}\n",""]);const a=r},701:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-keybinding {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 10px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tdisplay: inline-block;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tvertical-align: middle;\n\tfont-size: 11px;\n\tpadding: 3px 5px;\n\tmargin: 0 2px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:first-child {\n\tmargin-left: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:last-child {\n\tmargin-right: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-separator {\n\tdisplay: inline-block;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-chord-separator {\n\twidth: 6px;\n}\n",""]);const a=r},2431:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-list {\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n}\n\n.monaco-list.mouse-support {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n.monaco-list > .monaco-scrollable-element {\n\theight: 100%;\n}\n\n.monaco-list-rows {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-list.horizontal-scrolling .monaco-list-rows {\n\twidth: auto;\n\tmin-width: 100%;\n}\n\n.monaco-list-row {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.monaco-list.mouse-support .monaco-list-row {\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n/* for OS X ballistic scrolling */\n.monaco-list-row.scrolling {\n\tdisplay: none !important;\n}\n\n/* Focus */\n.monaco-list.element-focused,\n.monaco-list.selection-single,\n.monaco-list.selection-multiple {\n\toutline: 0 !important;\n}\n\n/* Dnd */\n.monaco-drag-image {\n\tdisplay: inline-block;\n\tpadding: 1px 7px;\n\tborder-radius: 10px;\n\tfont-size: 12px;\n\tposition: absolute;\n\tz-index: 1000;\n}\n\n/* Type filter */\n\n.monaco-list-type-filter {\n\tdisplay: flex;\n\talign-items: center;\n\tposition: absolute;\n\tborder-radius: 2px;\n\tpadding: 0px 3px;\n\tmax-width: calc(100% - 10px);\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\ttext-align: right;\n\tbox-sizing: border-box;\n\tcursor: all-scroll;\n\tfont-size: 13px;\n\tline-height: 18px;\n\theight: 20px;\n\tz-index: 1;\n\ttop: 4px;\n}\n\n.monaco-list-type-filter.dragging {\n\ttransition: top 0.2s, left 0.2s;\n}\n\n.monaco-list-type-filter.ne {\n\tright: 4px;\n}\n\n.monaco-list-type-filter.nw {\n\tleft: 4px;\n}\n\n.monaco-list-type-filter > .controls {\n\tdisplay: flex;\n\talign-items: center;\n\tbox-sizing: border-box;\n\ttransition: width 0.2s;\n\twidth: 0;\n}\n\n.monaco-list-type-filter.dragging > .controls,\n.monaco-list-type-filter:hover > .controls {\n\twidth: 36px;\n}\n\n.monaco-list-type-filter > .controls > * {\n\tborder: none;\n\tbox-sizing: border-box;\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tbackground: none;\n\twidth: 16px;\n\theight: 16px;\n\tflex-shrink: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n}\n\n.monaco-list-type-filter > .controls > .filter {\n\tmargin-left: 4px;\n}\n\n.monaco-list-type-filter-message {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 40px 1em 1em 1em;\n\ttext-align: center;\n\twhite-space: normal;\n\topacity: 0.7;\n\tpointer-events: none;\n}\n\n.monaco-list-type-filter-message:empty {\n\tdisplay: none;\n}\n\n/* Electron */\n\n.monaco-list-type-filter {\n\tcursor: grab;\n}\n\n.monaco-list-type-filter.dragging {\n\tcursor: grabbing;\n}\n",""]);const a=r},8809:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-mouse-cursor-text {\n\tcursor: text;\n}\n",""]);const a=r},3918:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-progress-container {\n\twidth: 100%;\n\theight: 5px;\n\toverflow: hidden; /* keep progress bit in bounds */\n}\n\n.monaco-progress-container .progress-bit {\n\twidth: 2%;\n\theight: 5px;\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: none;\n}\n\n.monaco-progress-container.active .progress-bit {\n\tdisplay: inherit;\n}\n\n.monaco-progress-container.discrete .progress-bit {\n\tleft: 0;\n\ttransition: width 100ms linear;\n}\n\n.monaco-progress-container.discrete.done .progress-bit {\n\twidth: 100%;\n}\n\n.monaco-progress-container.infinite .progress-bit {\n\tanimation-name: progress;\n\tanimation-duration: 4s;\n\tanimation-iteration-count: infinite;\n\ttransform: translate3d(0px, 0px, 0px);\n\tanimation-timing-function: linear;\n}\n\n.monaco-progress-container.infinite.infinite-long-running .progress-bit {\n\t/*\n\t\tThe more smooth `linear` timing function can cause\n\t\thigher GPU consumption as indicated in\n\t\thttps://github.com/microsoft/vscode/issues/97900 &\n\t\thttps://github.com/microsoft/vscode/issues/138396\n\t*/\n\tanimation-timing-function: steps(100);\n}\n\n/**\n * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of\n * that container. Since translateX is relative to the progress bit size, we have to multiple it with\n * its relative size to the parent container:\n * parent width: 5000%\n * bit width: 100%\n * translateX should be as follow:\n * 50%: 5000% * 50% - 50% (set to center) = 2450%\n * 100%: 5000% * 100% - 100% (do not overflow) = 4900%\n */\n@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }\n",""]);const a=r},6820:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n:root {\n\t--sash-size: 4px;\n}\n\n.monaco-sash {\n\tposition: absolute;\n\tz-index: 35;\n\ttouch-action: none;\n}\n\n.monaco-sash.disabled {\n\tpointer-events: none;\n}\n\n.monaco-sash.mac.vertical {\n\tcursor: col-resize;\n}\n\n.monaco-sash.vertical.minimum {\n\tcursor: e-resize;\n}\n\n.monaco-sash.vertical.maximum {\n\tcursor: w-resize;\n}\n\n.monaco-sash.mac.horizontal {\n\tcursor: row-resize;\n}\n\n.monaco-sash.horizontal.minimum {\n\tcursor: s-resize;\n}\n\n.monaco-sash.horizontal.maximum {\n\tcursor: n-resize;\n}\n\n.monaco-sash.disabled {\n\tcursor: default !important;\n\tpointer-events: none !important;\n}\n\n.monaco-sash.vertical {\n\tcursor: ew-resize;\n\ttop: 0;\n\twidth: var(--sash-size);\n\theight: 100%;\n}\n\n.monaco-sash.horizontal {\n\tcursor: ns-resize;\n\tleft: 0;\n\twidth: 100%;\n\theight: var(--sash-size);\n}\n\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\n\tcontent: \" \";\n\theight: calc(var(--sash-size) * 2);\n\twidth: calc(var(--sash-size) * 2);\n\tz-index: 100;\n\tdisplay: block;\n\tcursor: all-scroll;\n\tposition: absolute;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.start,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.end {\n\tcursor: nwse-resize;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.end,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.start {\n\tcursor: nesw-resize;\n}\n\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\n\tleft: calc(var(--sash-size) * -0.5);\n\ttop: calc(var(--sash-size) * -1);\n}\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\n\tleft: calc(var(--sash-size) * -0.5);\n\tbottom: calc(var(--sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\n\ttop: calc(var(--sash-size) * -0.5);\n\tleft: calc(var(--sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\n\ttop: calc(var(--sash-size) * -0.5);\n\tright: calc(var(--sash-size) * -1);\n}\n\n.monaco-sash:before {\n\tcontent: '';\n\tpointer-events: none;\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\ttransition: background-color 0.1s ease-out;\n\tbackground: transparent;\n}\n\n.monaco-sash.vertical:before {\n\twidth: var(--sash-hover-size);\n\tleft: calc(50% - (var(--sash-hover-size) / 2));\n}\n\n.monaco-sash.horizontal:before {\n\theight: var(--sash-hover-size);\n\ttop: calc(50% - (var(--sash-hover-size) / 2));\n}\n\n.pointer-events-disabled {\n\tpointer-events: none !important;\n}\n\n/** Debug **/\n\n.monaco-sash.debug {\n\tbackground: cyan;\n}\n\n.monaco-sash.debug.disabled {\n\tbackground: rgba(0, 255, 255, 0.2);\n}\n\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\n\tbackground: red;\n}\n",""]);const a=r},4584:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n",""]);const a=r},2672:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-split-view2 {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .sash-container {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tpointer-events: none;\n}\n\n.monaco-split-view2 > .sash-container > .monaco-sash {\n\tpointer-events: initial;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {\n\twidth: 100%;\n\theight: 100%;\n\twhite-space: nowrap;\n\tposition: relative;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twhite-space: initial;\n\tposition: absolute;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {\n\tdisplay: none;\n}\n\n.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twidth: 100%;\n}\n\n.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\theight: 100%;\n}\n\n.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\tcontent: ' ';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 5;\n\tpointer-events: none;\n\tbackground-color: var(--separator-border);\n}\n\n.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 1px;\n\twidth: 100%;\n}\n",""]);const a=r},9237:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-table {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n}\n\n.monaco-table > .monaco-split-view2 {\n\tborder-bottom: 1px solid transparent;\n}\n\n.monaco-table > .monaco-list {\n\tflex: 1;\n}\n\n.monaco-table-tr {\n\tdisplay: flex;\n\theight: 100%;\n}\n\n.monaco-table-th {\n\twidth: 100%;\n\theight: 100%;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table-th,\n.monaco-table-td {\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\tcontent: "";\n\tposition: absolute;\n\tleft: calc(var(--sash-size) / 2);\n\twidth: 0;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-table > .monaco-split-view2,\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\ttransition: border-color 0.2s ease-out;\n}\n/*\n.monaco-table:hover > .monaco-split-view2,\n.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\tborder-color: rgba(204, 204, 204, 0.2);\n} */\n',""]);const a=r},2103:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-tl-row {\n\tdisplay: flex;\n\theight: 100%;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-tl-indent {\n\theight: 100%;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 16px;\n\tpointer-events: none;\n}\n\n.hide-arrows .monaco-tl-indent {\n\tleft: 12px;\n}\n\n.monaco-tl-indent > .indent-guide {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\theight: 100%;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-tl-indent > .indent-guide {\n\ttransition: border-color 0.1s linear;\n}\n\n.monaco-tl-twistie,\n.monaco-tl-contents {\n\theight: 100%;\n}\n\n.monaco-tl-twistie {\n\tfont-size: 10px;\n\ttext-align: right;\n\tpadding-right: 6px;\n\tflex-shrink: 0;\n\twidth: 16px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\ttransform: translateX(3px);\n}\n\n.monaco-tl-contents {\n\tflex: 1;\n\toverflow: hidden;\n}\n\n.monaco-tl-twistie::before {\n\tborder-radius: 20px;\n}\n\n.monaco-tl-twistie.collapsed::before {\n\ttransform: rotate(-90deg);\n}\n\n.monaco-tl-twistie.codicon-tree-item-loading::before {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.25s steps(30) infinite;\n}\n",""]);const a=r},4195:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tposition: absolute;\n\twidth: 600px;\n\tz-index: 2000;\n\tpadding: 0 1px 1px 1px;\n\tleft: 50%;\n\tmargin-left: -300px;\n}\n\n.quick-input-titlebar {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-left-action-bar {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\tflex: 1;\n}\n\n.quick-input-title {\n\tpadding: 3px 0px;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-right-action-bar {\n\tdisplay: flex;\n\tmargin-right: 4px;\n\tflex: 1;\n}\n\n.quick-input-right-action-bar > .actions-container {\n\tjustify-content: flex-end;\n}\n\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tpadding: 2px;\n}\n\n.quick-input-description {\n\tmargin: 6px;\n}\n\n.quick-input-header .quick-input-description {\n\tmargin: 4px 2px;\n}\n\n.quick-input-header {\n\tdisplay: flex;\n\tpadding: 6px 6px 0px 6px;\n\tmargin-bottom: -2px;\n}\n\n.quick-input-widget.hidden-input .quick-input-header {\n\t/* reduce margins and paddings when input box hidden */\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.quick-input-and-message {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmin-width: 0;\n\tposition: relative;\n}\n\n.quick-input-check-all {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-filter {\n\tflex-grow: 1;\n\tdisplay: flex;\n\tposition: relative;\n}\n\n.quick-input-box {\n\tflex-grow: 1;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-box,\n.quick-input-widget.show-checkboxes .quick-input-message {\n\tmargin-left: 5px;\n}\n\n.quick-input-visible-count {\n\tposition: absolute;\n\tleft: -10000px;\n}\n\n.quick-input-count {\n\talign-self: center;\n\tposition: absolute;\n\tright: 4px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-count .monaco-count-badge {\n\tvertical-align: middle;\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n\n.quick-input-action {\n\tmargin-left: 6px;\n}\n\n.quick-input-action .monaco-text-button {\n\tfont-size: 11px;\n\tpadding: 0 6px;\n\tdisplay: flex;\n\theight: 27.5px;\n\talign-items: center;\n}\n\n.quick-input-message {\n\tmargin-top: -1px;\n\tpadding: 5px;\n\toverflow-wrap: break-word;\n}\n\n.quick-input-message > .codicon {\n\tmargin: 0 0.2em;\n\tvertical-align: text-bottom;\n}\n\n.quick-input-progress.monaco-progress-container {\n\tposition: relative;\n}\n\n.quick-input-progress.monaco-progress-container,\n.quick-input-progress.monaco-progress-container .progress-bit {\n\theight: 2px;\n}\n\n.quick-input-list {\n\tline-height: 22px;\n\tmargin-top: 6px;\n}\n\n.quick-input-widget.hidden-input .quick-input-list {\n\tmargin-top: 0; /* reduce margins when input box hidden */\n}\n\n.quick-input-list .monaco-list {\n\toverflow: hidden;\n\tmax-height: calc(20 * 22px);\n}\n\n.quick-input-list .quick-input-list-entry {\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tpadding: 0 6px;\n}\n\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-width: 1px;\n\tborder-top-style: solid;\n}\n\n.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n.quick-input-list .quick-input-list-label {\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tflex: 1;\n}\n\n.quick-input-list .quick-input-list-checkbox {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-list .quick-input-list-rows {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tflex: 1;\n\tmargin-left: 5px;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\n\tmargin-left: 10px;\n}\n\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\n\tdisplay: none;\n}\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\n\tdisplay: inline;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\n\tflex: 1; /* make sure the icon label grows within the row */\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {\n\tvertical-align: text-bottom;\n}\n\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label span {\n\topacity: 1;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\n\tmargin-right: 8px; /* separate from the separator label or scrollbar if any */\n}\n\n.quick-input-list .quick-input-list-label-meta {\n\topacity: 0.7;\n\tline-height: normal;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-list .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\n\tmargin-right: 8px; /* separate from keybindings or actions */\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tdisplay: flex;\n\tflex: 0;\n\toverflow: visible;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\n\t/*\n\t * By default, actions in the quick input action bar are hidden\n\t * until hovered over them or selected.\n\t */\n\tdisplay: none;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\n\tmargin-right: 4px;\n\tpadding: 0px 2px 2px 2px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-top: 1px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-right: 4px; /* separate from scrollbar */\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {\n\tdisplay: flex;\n}\n\n/* focused items in quick pick */\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\n\tcolor: inherit\n}\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\n\tbackground: none;\n}\n",""]);const a=r},7953:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inputarea {\n\tmin-width: 0;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\toutline: none !important;\n\tresize: none;\n\tborder: none;\n\toverflow: hidden;\n\tcolor: transparent;\n\tbackground-color: transparent;\n}\n/*.monaco-editor .inputarea {\n\tposition: fixed !important;\n\twidth: 800px !important;\n\theight: 500px !important;\n\ttop: initial !important;\n\tleft: initial !important;\n\tbottom: 0 !important;\n\tright: 0 !important;\n\tcolor: black !important;\n\tbackground: white !important;\n\tline-height: 15px !important;\n\tfont-size: 14px !important;\n}*/\n.monaco-editor .inputarea.ime-input {\n\tz-index: 10;\n}\n",""]);const a=r},1136:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .margin-view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {\n\tborder-right: 0;\n}\n",""]);const a=r},8592:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcdr = core decorations rendering (div)\n*/\n.monaco-editor .lines-content .cdr {\n\tposition: absolute;\n}",""]);const a=r},3640:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .glyph-margin {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcgmr = core glyph margin rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cgmr {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n",""]);const a=r},7946:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lines-content .core-guide {\n\tposition: absolute;\n\tbox-sizing: border-box;\n}\n",""]);const a=r},1107:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin-view-overlays .line-numbers {\n\tfont-variant-numeric: tabular-nums;\n\tposition: absolute;\n\ttext-align: right;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\tcursor: default;\n\theight: 100%;\n}\n\n.monaco-editor .relative-current-line-number {\n\ttext-align: left;\n\tdisplay: inline-block;\n\twidth: 100%;\n}\n\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\n\tmargin-top: 1px;\n}\n",""]);const a=r},2342:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .lines-decorations {\n\tposition: absolute;\n\ttop: 0;\n\tbackground: white;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcldr = core lines decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cldr {\n\tposition: absolute;\n\theight: 100%;\n}",""]);const a=r},5305:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Uncomment to see lines flashing when they're painted */\n/*.monaco-editor .view-lines > .view-line {\n\tbackground-color: none;\n\tanimation-name: flash-background;\n\tanimation-duration: 800ms;\n}\n@keyframes flash-background {\n\t0% { background-color: lightgreen; }\n\t100% { background-color: none }\n}*/\n\n.mtkcontrol {\n\tcolor: rgb(255, 255, 255) !important;\n\tbackground: rgb(150, 0, 0) !important;\n}\n\n.monaco-editor.no-user-select .lines-content,\n.monaco-editor.no-user-select .view-line,\n.monaco-editor.no-user-select .view-lines {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n.monaco-editor .view-lines {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .view-line {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.monaco-editor .mtkz {\n\tdisplay: inline-block;\n}\n\n/* TODO@tokenization bootstrap fix */\n/*.monaco-editor .view-line > span > span {\n\tfloat: none;\n\tmin-height: inherit;\n\tmargin-left: inherit;\n}*/\n",""]);const a=r},2136:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcmdr = core margin decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cmdr {\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}",""]);const a=r},1922:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* START cover the case that slider is visible on mouseover */\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\n\topacity: 0;\n\ttransition: opacity 100ms linear;\n}\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\n\topacity: 1;\n}\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\n\topacity: 1;\n}\n/* END cover the case that slider is visible on mouseover */\n\n.monaco-editor .minimap-shadow-hidden {\n\tposition: absolute;\n\twidth: 0;\n}\n.monaco-editor .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -6px;\n\twidth: 6px;\n}\n.monaco-editor.no-minimap-shadow .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -1px;\n\twidth: 1px;\n}\n",""]);const a=r},3181:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .overlayWidgets {\n\tposition: absolute;\n\ttop: 0;\n\tleft:0;\n}",""]);const a=r},7830:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-ruler {\n\tposition: absolute;\n\ttop: 0;\n}",""]);const a=r},6748:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .scroll-decoration {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\theight: 6px;\n}",""]);const a=r},7660:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcslr = core selections layer rendering (div)\n*/\n.monaco-editor .lines-content .cslr {\n\tposition: absolute;\n}\n\n.monaco-editor\t\t\t.top-left-radius\t\t{ border-top-left-radius: 3px; }\n.monaco-editor\t\t\t.bottom-left-radius\t\t{ border-bottom-left-radius: 3px; }\n.monaco-editor\t\t\t.top-right-radius\t\t{ border-top-right-radius: 3px; }\n.monaco-editor\t\t\t.bottom-right-radius\t{ border-bottom-right-radius: 3px; }\n\n.monaco-editor.hc-black .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-black .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-black .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-black .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n",""]);const a=r},4274:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .cursors-layer {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .cursors-layer > .cursor {\n\tposition: absolute;\n\toverflow: hidden;\n}\n\n/* -- smooth-caret-animation -- */\n.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {\n\ttransition: all 80ms;\n}\n\n/* -- block-outline-style -- */\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\n\tbox-sizing: border-box;\n\tbackground: transparent !important;\n\tborder-style: solid;\n\tborder-width: 1px;\n}\n\n/* -- underline-style -- */\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\n\tborder-bottom-width: 2px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n\tbox-sizing: border-box;\n}\n\n/* -- underline-thin-style -- */\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\n\tborder-bottom-width: 1px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n\tbox-sizing: border-box;\n}\n\n@keyframes monaco-cursor-smooth {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t60%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-phase {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t90%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-expand {\n\t0%,\n\t20% {\n\t\ttransform: scaleY(1);\n\t}\n\t80%,\n\t100% {\n\t\ttransform: scaleY(0);\n\t}\n}\n\n.cursor-smooth {\n\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-phase {\n\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-expand > .cursor {\n\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\n}\n",""]);const a=r},8824:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/* ---------- DiffEditor ---------- */\n\n.monaco-diff-editor .diffOverview {\n\tz-index: 9;\n}\n\n.monaco-diff-editor .diffOverview .diffViewport {\n\tz-index: 10;\n}\n\n/* colors not externalized: using transparancy on background */\n.monaco-diff-editor.vs\t\t\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\n.monaco-diff-editor.vs-dark\t\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\t\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\t.scrollbar { background: none; }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\n\tz-index: 10;\n}\n.modified-in-monaco-diff-editor\t\t\t\t.slider.active { background: rgba(171, 171, 171, .4); }\n.modified-in-monaco-diff-editor.hc-black\t.slider.active { background: none; }\n\n/* ---------- Diff ---------- */\n\n.monaco-editor .insert-sign,\n.monaco-diff-editor .insert-sign,\n.monaco-editor .delete-sign,\n.monaco-diff-editor .delete-sign {\n\tfont-size: 11px !important;\n\topacity: 0.7 !important;\n\tdisplay: flex !important;\n\talign-items: center;\n}\n.monaco-editor.hc-black .insert-sign,\n.monaco-diff-editor.hc-black .insert-sign,\n.monaco-editor.hc-black .delete-sign,\n.monaco-diff-editor.hc-black .delete-sign {\n\topacity: 1;\n}\n\n.monaco-editor .inline-deleted-margin-view-zone {\n\ttext-align: right;\n}\n.monaco-editor .inline-added-margin-view-zone {\n\ttext-align: right;\n}\n\n/* ---------- Inline Diff ---------- */\n\n.monaco-editor .view-zones .view-lines .view-line span {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .margin-view-zones .lightbulb-glyph:hover {\n\tcursor: pointer;\n}\n",""]);const a=r},4310:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-diff-editor .diff-review-line-number {\n\ttext-align: right;\n\tdisplay: inline-block;\n}\n\n.monaco-diff-editor .diff-review {\n\tposition: absolute;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n.monaco-diff-editor .diff-review-summary {\n\tpadding-left: 10px;\n}\n\n.monaco-diff-editor .diff-review-shadow {\n\tposition: absolute;\n}\n\n.monaco-diff-editor .diff-review-row {\n\twhite-space: pre;\n}\n\n.monaco-diff-editor .diff-review-table {\n\tdisplay: table;\n\tmin-width: 100%;\n}\n\n.monaco-diff-editor .diff-review-row {\n\tdisplay: table-row;\n\twidth: 100%;\n}\n\n.monaco-diff-editor .diff-review-spacer {\n\tdisplay: inline-block;\n\twidth: 10px;\n\tvertical-align: middle;\n}\n\n.monaco-diff-editor .diff-review-spacer > .codicon {\n\tfont-size: 9px !important;\n}\n\n.monaco-diff-editor .diff-review-actions {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\ttop: 2px;\n}\n\n.monaco-diff-editor .diff-review-actions .action-label {\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px 0;\n}\n",""]);const a=r},1724:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -------------------- IE10 remove auto clear button -------------------- */\n\n::-ms-clear {\n\tdisplay: none;\n}\n\n/* All widgets */\n/* I am not a big fan of this rule */\n.monaco-editor .editor-widget input {\n\tcolor: inherit;\n}\n\n/* -------------------- Editor -------------------- */\n\n.monaco-editor {\n\tposition: relative;\n\toverflow: visible;\n\t-webkit-text-size-adjust: 100%;\n}\n\n/* -------------------- Misc -------------------- */\n\n.monaco-editor .overflow-guard {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.monaco-editor .view-overlays {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n.monaco-editor .auto-closed-character {\n\topacity: 0.3;\n}\n*/\n",""]);const a=r},8852:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .selection-anchor {\n\tbackground-color: #007ACC;\n\twidth: 2px !important;\n}\n",""]);const a=r},8070:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .bracket-match {\n\tbox-sizing: border-box;\n}\n",""]);const a=r},1199:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .contentWidgets .codicon-light-bulb,\n.monaco-editor .contentWidgets .codicon-lightbulb-autofix {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-editor .contentWidgets .codicon-light-bulb:hover,\n.monaco-editor .contentWidgets .codicon-lightbulb-autofix:hover {\n\tcursor: pointer;\n}\n",""]);const a=r},3708:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codelens-decoration {\n\toverflow: hidden;\n\tdisplay: inline-block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tcolor: var(--vscode-editorCodeLens-foreground)\n}\n\n.monaco-editor .codelens-decoration > span,\n.monaco-editor .codelens-decoration > a {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\twhite-space: nowrap;\n\tvertical-align: sub;\n}\n\n.monaco-editor .codelens-decoration > a {\n\ttext-decoration: none;\n}\n\n.monaco-editor .codelens-decoration > a:hover {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon {\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration .codicon {\n\tvertical-align: middle;\n\tcolor: currentColor !important;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon::before {\n\tcursor: pointer;\n}\n\n@keyframes fadein {\n\t0% { opacity: 0; visibility: visible;}\n\t100% { opacity: 1; }\n}\n\n.monaco-editor .codelens-decoration.fadein {\n\tanimation: fadein 0.1s linear;\n}\n",""]);const a=r},101:(e,t,i)=>{"use strict";i.d(t,{Z:()=>u});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s),a=i(8991),l=i.n(a),c=new URL(i(4748),i.b),d=r()(o()),h=l()(c);d.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.colorpicker-widget {\n\theight: 190px;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n/* Decoration */\n\n.colorpicker-color-decoration {\n\tborder: solid 0.1em #000;\n\tbox-sizing: border-box;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\twidth: 0.8em;\n\theight: 0.8em;\n\tline-height: 0.8em;\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n.hc-black .colorpicker-color-decoration,\n.vs-dark .colorpicker-color-decoration {\n\tborder: solid 0.1em #eee;\n}\n\n/* Header */\n\n.colorpicker-header {\n\tdisplay: flex;\n\theight: 24px;\n\tposition: relative;\n\tbackground: url("+h+");\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-header .picked-color {\n\twidth: 216px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 24px;\n\tcursor: pointer;\n\tcolor: white;\n\tflex: 1;\n}\n\n.colorpicker-header .picked-color .codicon {\n\tcolor: inherit;\n\tfont-size: 14px;\n\tposition: absolute;\n\tleft: 8px;\n}\n\n.colorpicker-header .picked-color.light {\n\tcolor: black;\n}\n\n.colorpicker-header .original-color {\n\twidth: 74px;\n\tz-index: inherit;\n\tcursor: pointer;\n}\n\n\n/* Body */\n\n.colorpicker-body {\n\tdisplay: flex;\n\tpadding: 8px;\n\tposition: relative;\n}\n\n.colorpicker-body .saturation-wrap {\n\toverflow: hidden;\n\theight: 150px;\n\tposition: relative;\n\tmin-width: 220px;\n\tflex: 1;\n}\n\n.colorpicker-body .saturation-box {\n\theight: 150px;\n\tposition: absolute;\n}\n\n.colorpicker-body .saturation-selection {\n\twidth: 9px;\n\theight: 9px;\n\tmargin: -5px 0 0 -5px;\n\tborder: 1px solid rgb(255, 255, 255);\n\tborder-radius: 100%;\n\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\n\tposition: absolute;\n}\n\n.colorpicker-body .strip {\n\twidth: 25px;\n\theight: 150px;\n}\n\n.colorpicker-body .hue-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.colorpicker-body .opacity-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: url("+h+");\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-body .strip.grabbing {\n\tcursor: grabbing;\n}\n\n.colorpicker-body .slider {\n\tposition: absolute;\n\ttop: 0;\n\tleft: -2px;\n\twidth: calc(100% + 4px);\n\theight: 4px;\n\tbox-sizing: border-box;\n\tborder: 1px solid rgba(255, 255, 255, 0.71);\n\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\n}\n\n.colorpicker-body .strip .overlay {\n\theight: 150px;\n\tpointer-events: none;\n}\n",""]);const u=d},3143:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor.vs .dnd-target {\n\tborder-right: 2px dotted black;\n\tcolor: white; /* opposite of black */\n}\n.monaco-editor.vs-dark .dnd-target {\n\tborder-right: 2px dotted #AEAFAD;\n\tcolor: #51504f; /* opposite of #AEAFAD */\n}\n.monaco-editor.hc-black .dnd-target {\n\tborder-right: 2px dotted #fff;\n\tcolor: #000; /* opposite of #fff */\n}\n\n.monaco-editor.mouse-default .view-lines,\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\n.monaco-editor.hc-black.mac.mouse-default .view-lines {\n\tcursor: default;\n}\n.monaco-editor.mouse-copy .view-lines,\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\n.monaco-editor.hc-black.mac.mouse-copy .view-lines {\n\tcursor: copy;\n}",""]);const a=r},7276:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Find widget */\n.monaco-editor .find-widget {\n\tposition: absolute;\n\tz-index: 35;\n\theight: 33px;\n\toverflow: hidden;\n\tline-height: 19px;\n\ttransition: transform 200ms linear;\n\tpadding: 0 4px;\n\tbox-sizing: border-box;\n\ttransform: translateY(calc(-100% - 10px)); /* shadow (10px) */\n}\n\n.monaco-editor .find-widget textarea {\n\tmargin: 0px;\n}\n\n.monaco-editor .find-widget.hiddenEditor {\n\tdisplay: none;\n}\n\n/* Find widget when replace is toggled on */\n.monaco-editor .find-widget.replaceToggled > .replace-part {\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget.visible {\n\ttransform: translateY(0);\n}\n\n.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n}\n\n.monaco-editor .find-widget .monaco-inputbox .input {\n\tbackground-color: transparent;\n\tmin-height: 0;\n}\n\n.monaco-editor .find-widget .monaco-findInput .input {\n\tfont-size: 13px;\n}\n\n.monaco-editor .find-widget > .find-part,\n.monaco-editor .find-widget > .replace-part {\n\tmargin: 4px 0 0 17px;\n\tfont-size: 12px;\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\n\tmin-height: 25px;\n}\n\n\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-right: 22px;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-top: 2px;\n\tpadding-bottom: 2px;\n}\n\n.monaco-editor .find-widget > .find-part .find-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget > .replace-part .replace-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget .monaco-findInput {\n\tvertical-align: middle;\n\tdisplay: flex;\n\tflex:1;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {\n\t/* Make sure textarea inherits the width correctly */\n\twidth: 100%;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {\n\t/* Hide vertical scrollbar */\n\topacity: 0;\n}\n\n.monaco-editor .find-widget .matchesCount {\n\tdisplay: flex;\n\tflex: initial;\n\tmargin: 0 0 0 3px;\n\tpadding: 2px 0 0 2px;\n\theight: 25px;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 23px;\n}\n\n.monaco-editor .find-widget .button {\n\twidth: 16px;\n\theight: 16px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n\tdisplay: flex;\n\tflex: initial;\n\tmargin-left: 3px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* find in selection button */\n.monaco-editor .find-widget .codicon-find-selection {\n\twidth: 22px;\n\theight: 22px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-editor .find-widget .button.left {\n\tmargin-left: 0;\n\tmargin-right: 3px;\n}\n\n.monaco-editor .find-widget .button.wide {\n\twidth: auto;\n\tpadding: 1px 6px;\n\ttop: -1px;\n}\n\n.monaco-editor .find-widget .button.toggle {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 3px;\n\twidth: 18px;\n\theight: 100%;\n\tborder-radius: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .find-widget .button.toggle.disabled {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget .disabled {\n\topacity: 0.3;\n\tcursor: default;\n}\n\n.monaco-editor .find-widget > .replace-part {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput {\n\tposition: relative;\n\tdisplay: flex;\n\tvertical-align: middle;\n\tflex: auto;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n/* REDUCED */\n.monaco-editor .find-widget.reduced-find-widget .matchesCount {\n\tdisplay:none;\n}\n\n/* NARROW (SMALLER THAN REDUCED) */\n.monaco-editor .find-widget.narrow-find-widget {\n\tmax-width: 257px !important;\n}\n\n/* COLLAPSED (SMALLER THAN NARROW) */\n.monaco-editor .find-widget.collapsed-find-widget {\n\tmax-width: 170px !important;\n}\n\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\n\tdisplay:none;\n}\n\n.monaco-editor .findMatch {\n\tanimation-duration: 0;\n\tanimation-name: inherit !important;\n}\n\n.monaco-editor .find-widget .monaco-sash {\n\tleft: 0 !important;\n}\n\n.monaco-editor.hc-black .find-widget .button:before {\n\tposition: relative;\n\ttop: 1px;\n\tleft: 2px;\n}\n",""]);const a=r},1621:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\tcursor: pointer;\n\topacity: 0;\n\ttransition: opacity 0.5s;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 140%;\n\tmargin-left: 2px;\n}\n\n.monaco-editor .margin-view-overlays:hover .codicon,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,\n.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {\n\topacity: 1;\n}\n\n.monaco-editor .inline-folded:after {\n\tcolor: grey;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\tcontent: "⋯";\n\tdisplay: inline;\n\tline-height: 1em;\n\tcursor: pointer;\n}\n',""]);const a=r},7034:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* marker zone */\n\n.monaco-editor .peekview-widget .head .peekview-title .severity-icon {\n\tdisplay: inline-block;\n\tvertical-align: text-top;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .marker-widget {\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .marker-widget > .stale {\n\topacity: 0.6;\n\tfont-style: italic;\n}\n\n.monaco-editor .marker-widget .title {\n\tdisplay: inline-block;\n\tpadding-right: 5px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer {\n\tposition: absolute;\n\twhite-space: pre;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n\tpadding: 8px 12px 0 20px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .details {\n\tpadding-left: 6px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .source,\n.monaco-editor .marker-widget .descriptioncontainer .message span.code {\n\topacity: 0.6;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {\n\topacity: 0.6;\n\tcolor: inherit;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .filename {\n\tcursor: pointer;\n}\n",""]);const a=r},5626:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .goto-definition-link {\n\ttext-decoration: underline;\n\tcursor: pointer;\n}",""]);const a=r},6941:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -- zone widget */\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\n\tborder-top-width: 1px;\n\tborder-bottom-width: 1px;\n}\n\n.monaco-editor .reference-zone-widget .inline {\n\tdisplay: inline-block;\n\tvertical-align: top;\n}\n\n.monaco-editor .reference-zone-widget .messages {\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 3em 0;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree {\n\tline-height: 23px;\n\tbackground-color: var(--vscode-peekViewResult-background);\n\tcolor: var(--vscode-peekViewResult-lineForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\theight: 100%;\n\tcolor: var(--vscode-peekViewResult-fileForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {\n\tcolor: inherit !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {\n\tbackground-color: var(--vscode-peekViewResult-selectionBackground);\n\tcolor: var(--vscode-peekViewResult-selectionForeground) !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\n\tmargin-right: 12px;\n\tmargin-left: auto;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tbackground-color: var(--vscode-peekViewResult-matchHighlightBackground);\n}\n\n.monaco-editor .reference-zone-widget .preview .reference-decoration {\n\tbackground-color: var(--vscode-peekViewEditor-matchHighlightBackground);\n\tborder: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,\n.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\n\tbackground-color: var(--vscode-peekViewEditor-background);\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\n\tbackground-color: var(--vscode-peekViewEditorGutter-background);\n}\n\n/* High Contrast Theming */\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file {\n\tfont-weight: bold;\n}\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tborder: 1px dotted var(--vscode-contrastActiveBorder, transparent);\n\tbox-sizing: border-box;\n}\n",""]);const a=r},3887:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .suggest-preview-additional-widget {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-preview-additional-widget .content-spacer {\n\tcolor: transparent;\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-preview-additional-widget .button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .ghost-text-decoration {\n\tfont-style: italic;\n}\n\n.monaco-editor .suggest-preview-text {\n\tfont-style: italic;\n}\n",""]);const a=r},5106:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .detected-link,\n.monaco-editor .detected-link-active {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .detected-link-active {\n\tcursor: pointer;\n}\n",""]);const a=r},3698:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .monaco-editor-overlaymessage {\n\tpadding-bottom: 8px;\n\tz-index: 10000;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below {\n\tpadding-bottom: 0;\n\tpadding-top: 8px;\n\tz-index: 10000;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\n\tanimation: fadeIn 150ms ease-out;\n}\n\n@keyframes fadeOut {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\n\tanimation: fadeOut 100ms ease-out;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message {\n\tpadding: 1px 4px;\n\tcolor: var(--vscode-inputValidation-infoForeground);\n\tbackground-color: var(--vscode-inputValidation-infoBackground);\n\tborder: 1px solid var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor.hc-black .monaco-editor-overlaymessage .message {\n\tborder-width: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor {\n\twidth: 0 !important;\n\theight: 0 !important;\n\tborder-color: transparent;\n\tborder-style: solid;\n\tz-index: 1000;\n\tborder-width: 8px;\n\tposition: absolute;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.top {\n\tborder-bottom-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.below {\n\tborder-top-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {\n\tdisplay: none;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {\n\tdisplay: inherit;\n\ttop: -8px;\n}\n",""]);const a=r},577:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .parameter-hints-widget {\n\t/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */\n\tz-index: 39;\n\tdisplay: flex;\n\tflex-direction: column;\n\tline-height: 1.5em;\n}\n\n.monaco-editor .parameter-hints-widget > .phwrapper {\n\tmax-width: 440px;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.monaco-editor .parameter-hints-widget.multiple {\n\tmin-height: 3.3em;\n\tpadding: 0;\n}\n\n.monaco-editor .parameter-hints-widget.visible {\n\ttransition: left .05s ease-in-out;\n}\n\n.monaco-editor .parameter-hints-widget p,\n.monaco-editor .parameter-hints-widget ul {\n\tmargin: 8px 0;\n}\n\n.monaco-editor .parameter-hints-widget .monaco-scrollable-element,\n.monaco-editor .parameter-hints-widget .body {\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tmin-height: 100%;\n}\n\n.monaco-editor .parameter-hints-widget .signature {\n\tpadding: 4px 5px;\n}\n\n.monaco-editor .parameter-hints-widget .docs {\n\tpadding: 0 10px 0 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .docs.empty {\n\tdisplay: none;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\n\twhite-space: initial;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs code {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,\n.monaco-editor .parameter-hints-widget .docs .code {\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .docs code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-editor .parameter-hints-widget .controls {\n\tdisplay: none;\n\tflex-direction: column;\n\talign-items: center;\n\tmin-width: 22px;\n\tjustify-content: flex-end;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .controls {\n\tdisplay: flex;\n\tpadding: 0 2px;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .button {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .button.previous {\n\tbottom: 24px;\n}\n\n.monaco-editor .parameter-hints-widget .overloads {\n\ttext-align: center;\n\theight: 12px;\n\tline-height: 12px;\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .parameter-hints-widget .signature .parameter.active {\n\tfont-weight: bold;\n}\n\n.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {\n\tfont-weight: bold;\n\tmargin-right: 0.5em;\n}\n",""]);const a=r},1799:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .peekview-widget .head {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-wrap: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title {\n\tdisplay: flex;\n\talign-items: center;\n\tfont-size: 13px;\n\tmargin-left: 20px;\n\tmin-width: 0;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title.clickable {\n\tcursor: pointer;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\n\tfont-size: 0.9em;\n\tmargin-left: 0.5em;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .filename {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {\n\tcontent: '-';\n\tpadding: 0 0.3em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions {\n\tflex: 1;\n\ttext-align: right;\n\tpadding-right: 2px;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\n\theight: 100%;\n}\n\n.monaco-editor .peekview-widget > .body {\n\tborder-top: 1px solid;\n\tposition: relative;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .codicon {\n\tmargin-right: 4px;\n}\n\n.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: inherit !important;\n}\n",""]);const a=r},7165:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rename-box {\n\tz-index: 100;\n\tcolor: inherit;\n}\n\n.monaco-editor .rename-box.preview {\n\tpadding: 3px 3px 0 3px;\n}\n\n.monaco-editor .rename-box .rename-input {\n\tpadding: 3px;\n\twidth: calc(100% - 6px);\n}\n\n.monaco-editor .rename-box .rename-label {\n\tdisplay: none;\n\topacity: .8;\n}\n\n.monaco-editor .rename-box.preview .rename-label {\n\tdisplay: inherit;\n}\n",""]);const a=r},8798:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .snippet-placeholder {\n\tmin-width: 2px;\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);\n}\n\n.monaco-editor .finish-snippet-placeholder {\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);\n}\n",""]);const a=r},7059:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Suggest widget*/\n\n.monaco-editor .suggest-widget {\n\twidth: 430px;\n\tz-index: 40;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.monaco-editor .suggest-widget.message {\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.monaco-editor .suggest-widget,\n.monaco-editor .suggest-details {\n\tflex: 0 1 auto;\n\twidth: 100%;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-color: var(--vscode-editorSuggestWidget-border);\n\tbackground-color: var(--vscode-editorSuggestWidget-background);\n}\n\n.monaco-editor.hc-black .suggest-widget,\n.monaco-editor.hc-black .suggest-details {\n\tborder-width: 2px;\n}\n\n/* Styles for status bar part */\n\n\n.monaco-editor .suggest-widget .suggest-status-bar {\n\tbox-sizing: border-box;\n\tdisplay: none;\n\tflex-flow: row nowrap;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tfont-size: 80%;\n\tpadding: 0 4px 0 4px;\n\tborder-top: 1px solid var(--vscode-editorSuggestWidget-border);\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .suggest-status-bar .left {\n\tpadding-right: 8px;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {\n\tcolor: var(--vscode-editorSuggestWidgetStatus-foreground);\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {\n\tcontent: ', ';\n\tmargin-right: 0.3em;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label {\n\twidth: 100%;\n}\n\n/* Styles for Message element for when widget is loading or is empty */\n\n.monaco-editor .suggest-widget>.message {\n\tpadding-left: 22px;\n}\n\n/** Styles for the list element **/\n\n.monaco-editor .suggest-widget>.tree {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n}\n\n/** Styles for each row in the list element **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\n\tdisplay: flex;\n\t-mox-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tpadding-right: 10px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 2px 2px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {\n\tcolor: var(--vscode-editorSuggestWidget-selectedForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: var(--vscode-editorSuggestWidget-selectedIconForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents {\n\tflex: 1;\n\theight: 100%;\n\toverflow: hidden;\n\tpadding-left: 2px;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main {\n\tdisplay: flex;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: pre;\n\tjustify-content: space-between;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left, .monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label {\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-highlightForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-focusHighlightForeground);\n}\n\n/** ReadMore Icon styles **/\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore::before {\n\tcolor: inherit;\n\topacity: 1;\n\tfont-size: 14px;\n\tcursor: pointer;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 2px;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover {\n\topacity: 1;\n}\n\n/** signature, qualifier, type/details opacity **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\n\topacity: 0.7;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.6;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label {\n\tmargin-left: 12px;\n\topacity: 0.4;\n\tfont-size: 85%;\n\tline-height: initial;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\talign-self: center;\n}\n\n/** Type Info and icon next to the label in the focused completion item **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\n\tfont-size: 85%;\n\tmargin-left: 1.1em;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItem#details, show on focus **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItemLabel#details, always show **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label {\n\tdisplay: inline;\n}\n\n/** Ellipsis on hover **/\n\n.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label {\n\twidth: calc(100% - 26px);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left {\n\tflex-shrink: 1;\n\tflex-grow: 1;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label {\n\tflex-shrink: 0;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label {\n\tmax-width: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label {\n\tflex-shrink: 1;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {\n\toverflow: hidden;\n\tflex-shrink: 4;\n\tmax-width: 70%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\twidth: 18px;\n\theight: 18px;\n\tvisibility: hidden;\n}\n\n/** Do NOT display ReadMore when docs is side/below **/\n\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {\n\tdisplay: none !important;\n}\n\n/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore {\n\tdisplay: none;\n}\n\n/** Focused item can show ReadMore, but can't when docs is side/below **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore {\n\tvisibility: visible;\n}\n\n/** Styles for each row in the list **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {\n\topacity: 0.66;\n\ttext-decoration: unset;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container {\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {\n\theight: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\n\tdisplay: block;\n\theight: 16px;\n\twidth: 16px;\n\tmargin-left: 2px;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 80%;\n\tbackground-position: center;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon, .monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\n\tmargin: 0 0 0 0.3em;\n\tborder: 0.1em solid #000;\n\twidth: 0.7em;\n\theight: 0.7em;\n\tdisplay: inline-block;\n}\n\n/** Styles for the docs of the completion item in focus **/\n\n.monaco-editor .suggest-details-container {\n\tz-index: 41;\n}\n\n.monaco-editor .suggest-details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tcursor: default;\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-details.focused {\n\tborder-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .suggest-details a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .suggest-details a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .suggest-details code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .suggest-details.no-docs {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element {\n\tflex: 1;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body {\n\tbox-sizing: border-box;\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type {\n\tflex: 2;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.7;\n\twhite-space: pre;\n\tmargin: 0 24px 0 0;\n\tpadding: 4px 0 12px 5px;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap {\n\twhite-space: normal;\n\tword-break: break-all;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs {\n\tmargin: 0;\n\tpadding: 4px 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs {\n\tmargin-right: 24px;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs {\n\tpadding: 0;\n\twhite-space: initial;\n\tmin-height: calc(1rem + 8px);\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty) {\n\tpadding: 4px 5px;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child {\n\tmargin-bottom: 0;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source {\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code {\n\twhite-space: pre-wrap;\n\tword-wrap: break-word;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon {\n\tvertical-align: sub;\n}\n\n.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-editor .suggest-details ul {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details ol {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details p code {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const a=r},3386:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.editor-banner {\n\tbox-sizing: border-box;\n\tcursor: default;\n\twidth: 100%;\n\tfont-size: 12px;\n\tdisplay: flex;\n\toverflow: visible;\n\n\theight: 26px;\n\n\tbackground: var(--vscode-banner-background);\n}\n\n\n.editor-banner .icon-container {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tpadding: 0 6px 0 10px;\n}\n\n.editor-banner .icon-container.custom-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n\tbackground-size: 16px;\n\twidth: 16px;\n\tpadding: 0;\n\tmargin: 0 6px 0 10px;\n}\n\n.editor-banner .message-container {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 26px;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.editor-banner .message-container p {\n\tmargin-block-start: 0;\n\tmargin-block-end: 0;\n}\n\n.editor-banner .message-actions-container {\n\tflex-grow: 1;\n\tflex-shrink: 0;\n\tline-height: 26px;\n\tmargin: 0 4px;\n}\n\n.editor-banner .message-actions-container a.monaco-button {\n\twidth: inherit;\n\tmargin: 2px 8px;\n\tpadding: 0px 12px;\n}\n\n.editor-banner .message-actions-container a {\n\tpadding: 3px;\n\tmargin-left: 12px;\n\ttext-decoration: underline;\n}\n\n.editor-banner .action-container {\n\tpadding: 0 10px 0 6px;\n}\n\n.editor-banner {\n\tbackground-color: var(--vscode-banner-background);\n}\n\n.editor-banner,\n.editor-banner .action-container .codicon,\n.editor-banner .message-actions-container .monaco-link {\n\tcolor: var(--vscode-banner-foreground);\n}\n\n.editor-banner .icon-container .codicon {\n\tcolor: var(--vscode-banner-iconForeground);\n}\n",""]);const a=r},9909:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .unicode-highlight {\n\tborder: 1px solid var(--vscode-editorUnicodeHighlight-border);\n\tbox-sizing: border-box;\n}\n",""]);const a=r},8209:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .zone-widget {\n\tposition: absolute;\n\tz-index: 10;\n}\n\n\n.monaco-editor .zone-widget .zone-widget-container {\n\tborder-top-style: solid;\n\tborder-bottom-style: solid;\n\tborder-top-width: 0;\n\tborder-bottom-width: 0;\n\tposition: relative;\n}\n",""]);const a=r},3106:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .accessibilityHelpWidget {\n\tpadding: 10px;\n\tvertical-align: middle;\n\toverflow: scroll;\n}",""]);const a=r},6496:(e,t,i)=>{"use strict";i.d(t,{Z:()=>p});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s),a=i(8991),l=i.n(a),c=new URL(i(6161),i.b),d=new URL(i(1096),i.b),h=r()(o()),u=l()(c),g=l()(d);h.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .iPadShowKeyboard {\n\twidth: 58px;\n\tmin-width: 0;\n\theight: 36px;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\tresize: none;\n\toverflow: hidden;\n\tbackground: url("+u+") center center no-repeat;\n\tborder: 4px solid #F6F6F6;\n\tborder-radius: 4px;\n}\n\n.monaco-editor.vs-dark .iPadShowKeyboard {\n\tbackground: url("+g+") center center no-repeat;\n\tborder: 4px solid #252526;\n}",""]);const p=h},3042:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .tokens-inspect-widget {\n\tz-index: 50;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n\tpadding: 10px;\n}\n\n.tokens-inspect-separator {\n\theight: 1px;\n\tborder: 0;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-length {\n\tfont-weight: normal;\n\tfont-size: 60%;\n\tfloat: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-table {\n\twidth: 100%;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-value {\n\tfont-family: var(--monaco-monospace-font);\n\ttext-align: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-type {\n\tfont-family: var(--monaco-monospace-font);\n}\n",""]);const a=r},8097:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tfont-size: 13px;\n}\n\n.quick-input-widget .monaco-highlighted-label .highlight,\n.quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0066BF;\n}\n\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: #9DDDFF;\n}\n\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0097fb;\n}\n\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #F38518;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(221, 221, 221, 0.4);\n\tborder: solid 1px rgba(204, 204, 204, 0.4);\n\tborder-bottom-color: rgba(187, 187, 187, 0.4);\n\tbox-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);\n\tcolor: #555;\n}\n\n.hc-black .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px rgb(111, 195, 223);\n\tbox-shadow: none;\n\tcolor: #fff;\n}\n\n.vs-dark .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(128, 128, 128, 0.17);\n\tborder: solid 1px rgba(51, 51, 51, 0.6);\n\tborder-bottom-color: rgba(68, 68, 68, 0.6);\n\tbox-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);\n\tcolor: #ccc;\n}\n",""]);const a=r},9888:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,'/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n/* Default standalone editor fonts */\n.monaco-editor {\n\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-hover p {\n\tmargin: 0;\n}\n\n/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */\n.monaco-aria-container {\n\tposition: absolute !important;\n\ttop: 0; /* avoid being placed underneath a sibling element */\n\theight: 1px;\n\twidth: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n}\n\n/* The hc-black theme is already high contrast optimized */\n.monaco-editor.hc-black {\n\t-ms-high-contrast-adjust: none;\n}\n/* In case the browser goes into high contrast mode and the editor is not configured with the hc-black theme */\n@media screen and (-ms-high-contrast:active) {\n\n\t/* current line highlight */\n\t.monaco-editor.vs .view-overlays .current-line,\n\t.monaco-editor.vs-dark .view-overlays .current-line {\n\t\tborder-color: windowtext !important;\n\t\tborder-left: 0;\n\t\tborder-right: 0;\n\t}\n\n\t/* view cursors */\n\t.monaco-editor.vs .cursor,\n\t.monaco-editor.vs-dark .cursor {\n\t\tbackground-color: windowtext !important;\n\t}\n\t/* dnd target */\n\t.monaco-editor.vs .dnd-target,\n\t.monaco-editor.vs-dark .dnd-target {\n\t\tborder-color: windowtext !important;\n\t}\n\n\t/* selected text background */\n\t.monaco-editor.vs .selected-text,\n\t.monaco-editor.vs-dark .selected-text {\n\t\tbackground-color: highlight !important;\n\t}\n\n\t/* allow the text to have a transparent background. */\n\t.monaco-editor.vs .view-line,\n\t.monaco-editor.vs-dark .view-line {\n\t\t-ms-high-contrast-adjust: none;\n\t}\n\n\t/* text color */\n\t.monaco-editor.vs .view-line span,\n\t.monaco-editor.vs-dark .view-line span {\n\t\tcolor: windowtext !important;\n\t}\n\t/* selected text color */\n\t.monaco-editor.vs .view-line span.inline-selected-text,\n\t.monaco-editor.vs-dark .view-line span.inline-selected-text {\n\t\tcolor: highlighttext !important;\n\t}\n\n\t/* allow decorations */\n\t.monaco-editor.vs .view-overlays,\n\t.monaco-editor.vs-dark .view-overlays {\n\t\t-ms-high-contrast-adjust: none;\n\t}\n\n\t/* various decorations */\n\t.monaco-editor.vs .selectionHighlight,\n\t.monaco-editor.vs-dark .selectionHighlight,\n\t.monaco-editor.vs .wordHighlight,\n\t.monaco-editor.vs-dark .wordHighlight,\n\t.monaco-editor.vs .wordHighlightStrong,\n\t.monaco-editor.vs-dark .wordHighlightStrong,\n\t.monaco-editor.vs .reference-decoration,\n\t.monaco-editor.vs-dark .reference-decoration {\n\t\tborder: 2px dotted highlight !important;\n\t\tbackground: transparent !important;\n\t\tbox-sizing: border-box;\n\t}\n\t.monaco-editor.vs .rangeHighlight,\n\t.monaco-editor.vs-dark .rangeHighlight {\n\t\tbackground: transparent !important;\n\t\tborder: 1px dotted activeborder !important;\n\t\tbox-sizing: border-box;\n\t}\n\t.monaco-editor.vs .bracket-match,\n\t.monaco-editor.vs-dark .bracket-match {\n\t\tborder-color: windowtext !important;\n\t\tbackground: transparent !important;\n\t}\n\n\t/* find widget */\n\t.monaco-editor.vs .findMatch,\n\t.monaco-editor.vs-dark .findMatch,\n\t.monaco-editor.vs .currentFindMatch,\n\t.monaco-editor.vs-dark .currentFindMatch {\n\t\tborder: 2px dotted activeborder !important;\n\t\tbackground: transparent !important;\n\t\tbox-sizing: border-box;\n\t}\n\t.monaco-editor.vs .find-widget,\n\t.monaco-editor.vs-dark .find-widget {\n\t\tborder: 1px solid windowtext;\n\t}\n\n\t/* list - used by suggest widget */\n\t.monaco-editor.vs .monaco-list .monaco-list-row,\n\t.monaco-editor.vs-dark .monaco-list .monaco-list-row {\n\t\t-ms-high-contrast-adjust: none;\n\t\tcolor: windowtext !important;\n\t}\n\t.monaco-editor.vs .monaco-list .monaco-list-row.focused,\n\t.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused {\n\t\tcolor: highlighttext !important;\n\t\tbackground-color: highlight !important;\n\t}\n\t.monaco-editor.vs .monaco-list .monaco-list-row:hover,\n\t.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover {\n\t\tbackground: transparent !important;\n\t\tborder: 1px solid highlight;\n\t\tbox-sizing: border-box;\n\t}\n\n\t/* scrollbars */\n\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar,\n\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar {\n\t\t-ms-high-contrast-adjust: none;\n\t\tbackground: background !important;\n\t\tborder: 1px solid windowtext;\n\t\tbox-sizing: border-box;\n\t}\n\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider,\n\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider {\n\t\tbackground: windowtext !important;\n\t}\n\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider:hover,\n\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\tbackground: highlight !important;\n\t}\n\t.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider.active,\n\t.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {\n\t\tbackground: highlight !important;\n\t}\n\n\t/* overview ruler */\n\t.monaco-editor.vs .decorationsOverviewRuler,\n\t.monaco-editor.vs-dark .decorationsOverviewRuler {\n\t\topacity: 0;\n\t}\n\n\t/* minimap */\n\t.monaco-editor.vs .minimap,\n\t.monaco-editor.vs-dark .minimap {\n\t\tdisplay: none;\n\t}\n\n\t/* squiggles */\n\t.monaco-editor.vs .squiggly-d-error,\n\t.monaco-editor.vs-dark .squiggly-d-error {\n\t\tbackground: transparent !important;\n\t\tborder-bottom: 4px double #E47777;\n\t}\n\t.monaco-editor.vs .squiggly-c-warning,\n\t.monaco-editor.vs-dark .squiggly-c-warning {\n\t\tborder-bottom: 4px double #71B771;\n\t}\n\t.monaco-editor.vs .squiggly-b-info,\n\t.monaco-editor.vs-dark .squiggly-b-info {\n\t\tborder-bottom: 4px double #71B771;\n\t}\n\t.monaco-editor.vs .squiggly-a-hint,\n\t.monaco-editor.vs-dark .squiggly-a-hint {\n\t\tborder-bottom: 4px double #6c6c6c;\n\t}\n\n\t/* contextmenu */\n\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\n\t\t-ms-high-contrast-adjust: none;\n\t\tcolor: highlighttext !important;\n\t\tbackground-color: highlight !important;\n\t}\n\t.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,\n\t.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label {\n\t\t-ms-high-contrast-adjust: none;\n\t\tbackground: transparent !important;\n\t\tborder: 1px solid highlight;\n\t\tbox-sizing: border-box;\n\t}\n\n\t/* diff editor */\n\t.monaco-diff-editor.vs .diffOverviewRuler,\n\t.monaco-diff-editor.vs-dark .diffOverviewRuler {\n\t\tdisplay: none;\n\t}\n\t.monaco-editor.vs .line-insert,\n\t.monaco-editor.vs-dark .line-insert,\n\t.monaco-editor.vs .line-delete,\n\t.monaco-editor.vs-dark .line-delete {\n\t\tbackground: transparent !important;\n\t\tborder: 1px solid highlight !important;\n\t\tbox-sizing: border-box;\n\t}\n\t.monaco-editor.vs .char-insert,\n\t.monaco-editor.vs-dark .char-insert,\n\t.monaco-editor.vs .char-delete,\n\t.monaco-editor.vs-dark .char-delete {\n\t\tbackground: transparent !important;\n\t}\n}\n\n/*.monaco-editor.vs [tabindex="0"]:focus {\n\toutline: 1px solid rgba(0, 122, 204, 0.4);\n\toutline-offset: -1px;\n\topacity: 1 !important;\n}\n\n.monaco-editor.vs-dark [tabindex="0"]:focus {\n\toutline: 1px solid rgba(14, 99, 156, 0.6);\n\toutline-offset: -1px;\n\topacity: 1 !important;\n}*/\n',""]);const a=r},6440:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar .action-item.menu-entry .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-action-bar .action-item.menu-entry .action-label {\n\tbackground-image: var(--menu-entry-icon-light);\n}\n\n.vs-dark .monaco-action-bar .action-item.menu-entry .action-label,\n.hc-black .monaco-action-bar .action-item.menu-entry .action-label {\n\tbackground-image: var(--menu-entry-icon-dark);\n}\n\n\n.monaco-dropdown-with-default {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-default > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default > .action-container.menu-entry > .action-label {\n\tbackground-image: var(--menu-entry-icon-light);\n}\n\n.vs-dark .monaco-dropdown-with-default > .action-container.menu-entry > .action-label,\n.hc-black .monaco-dropdown-with-default > .action-container.menu-entry > .action-label {\n\tbackground-image: var(--menu-entry-icon-dark);\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n",""]);const a=r},2799:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,"/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.context-view .monaco-menu {\n\tmin-width: 130px;\n}\n\n",""]);const a=r},6830:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(9601),o=i.n(n),s=i(2609),r=i.n(s)()(o());r.push([e.id,':root {\r\n --blue:#033c73;\r\n --indigo:#6610f2;\r\n --purple:#6f42c1;\r\n --pink:#e83e8c;\r\n --red:#c71c22;\r\n --orange:#fd7e14;\r\n --yellow:#dd5600;\r\n --green:#73a839;\r\n --teal:#20c997;\r\n --cyan:#2fa4e7;\r\n --white:#fff;\r\n --gray:#868e96;\r\n --gray-dark:#343a40;\r\n --primary:#2fa4e7;\r\n --secondary:#e9ecef;\r\n --success:#73a839;\r\n --info:#033c73;\r\n --warning:#dd5600;\r\n --danger:#c71c22;\r\n --light:#f8f9fa;\r\n --text:#343a40;\r\n --dark:#343a40;\r\n --body-bg: #fff;\r\n --text-bg-mark: #fcf8e3;\r\n --custom-select: #fff;\r\n --breakpoint-xs:0;\r\n --breakpoint-sm:576px;\r\n --breakpoint-md:768px;\r\n --breakpoint-lg:992px;\r\n --breakpoint-xl:1200px;\r\n --font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";\r\n --font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace\r\n}\r\n\r\na {\r\n color: mediumslateblue;\r\n}\r\n\r\na:visited {\r\n color: silver;\r\n}\r\n\r\nbody {\r\n display: flex;\r\n height: 100vh;\r\n background-color: black;\r\n color: white;\r\n}\r\n\r\ndiv[id=container] {\r\n display: grid;\r\n width: 75%;\r\n height: 90%;\r\n min-width: 800px;\r\n min-height: 600px;\r\n grid-template-rows: auto auto auto minmax(0, 1fr) auto auto auto;\r\n grid-template-columns: repeat(2, minmax(0, 1fr));\r\n margin: auto;\r\n}\r\n\r\nh1[id=title] {\r\n grid-column: 1 / 3;\r\n grid-row: 1;\r\n font-family: monospace;\r\n font-size: 2em;\r\n}\r\n\r\np[id=synopsis] {\r\n color: lightgrey;\r\n grid-column: 1 / 3;\r\n grid-row: 2;\r\n margin: 0;\r\n font-family: sans-serif;\r\n font-size: 10pt;\r\n line-height: 1.5em;\r\n}\r\n\r\np[id=features] {\r\n grid-column: 1 / 3;\r\n grid-row: 3;\r\n text-align: center;\r\n font-family: sans-serif;\r\n font-style: italic;\r\n font-size: 10pt;\r\n line-height: 1.5em;\r\n color: lightgrey;\r\n}\r\n\r\ndiv[id=cell-editor] {\r\n grid-column: 1 / 2;\r\n grid-row: 4;\r\n}\r\n\r\n[id=cell-editor] div[id=editor] {\r\n border: 1px solid black;\r\n height: calc(100% - 1px);\r\n padding-right: 1.5em;\r\n}\r\n\r\ndiv[id=cell-syntax] {\r\n grid-column: 2 / 3;\r\n grid-row: 4;\r\n}\r\n\r\ndiv[id=cell-syntax] textarea {\r\n height: 100%;\r\n}\r\n\r\n[id=container] label {\r\n display: block;\r\n font-family: monospace;\r\n font-size: 14pt;\r\n}\r\n\r\ndiv[id=cell-console] {\r\n grid-column: 1 / 3;\r\n grid-row: 5;\r\n margin-top: 2em;\r\n overflow: hidden;\r\n}\r\n\r\ndiv[id=cell-client] {\r\n grid-column: 1 / 3;\r\n grid-row: 6;\r\n overflow: hidden;\r\n}\r\n\r\ndiv[id=cell-server] {\r\n grid-column: 1 / 3;\r\n grid-row: 7;\r\n overflow: hidden;\r\n}\r\n\r\ndiv[id=container] textarea {\r\n display: block;\r\n box-sizing: border-box;\r\n width: 100%;\r\n resize: none;\r\n overflow-y: auto;\r\n font-family: monospace;\r\n font-family: 10pt;\r\n}\r\n',""]),r.locals={};const a=r},2609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i="",n=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),n&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),n&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i})).join("")},t.i=function(e,i,n,o,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var a=0;a0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),i&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=i):d[2]=i),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),t.push(d))}},t}},8991:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},9601:e=>{"use strict";e.exports=function(e){return e[1]}},6386:e=>{function t(e,t,i){var n,o,s,r,a;function l(){var c=Date.now()-r;c=0?n=setTimeout(l,t-c):(n=null,i||(a=e.apply(s,o),s=o=null))}null==t&&(t=100);var c=function(){s=this,o=arguments,r=Date.now();var c=i&&!n;return n||(n=setTimeout(l,t)),c&&(a=e.apply(s,o),s=o=null),a};return c.clear=function(){n&&(clearTimeout(n),n=null)},c.flush=function(){n&&(a=e.apply(s,o),s=o=null,clearTimeout(n),n=null)},c}t.debounce=t,e.exports=t},450:e=>{e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");for(var i,n=String(e),o="",s=!!t&&!!t.extended,r=!!t&&!!t.globstar,a=!1,l=t&&"string"==typeof t.flags?t.flags:"",c=0,d=n.length;c1)||"/"!==h&&void 0!==h||"/"!==g&&void 0!==g?o+="([^/]*)":(o+="((?:[^/]*(?:/|$))*)",c++):o+=".*";break;default:o+=i}return l&&~l.indexOf("g")||(o="^"+o+"$"),new RegExp(o,l)}},6451:function(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var i,n,o,s,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!((o=(o=r.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultErrorCode=void 0,t.DefaultErrorCode=0},3797:(e,t)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.createJSONRPCNotification=t.createJSONRPCRequest=t.createJSONRPCSuccessResponse=t.createJSONRPCErrorResponse=t.JSONRPCErrorCode=t.isJSONRPCResponses=t.isJSONRPCResponse=t.isJSONRPCRequests=t.isJSONRPCRequest=t.isJSONRPCID=t.JSONRPC=void 0,t.JSONRPC="2.0",t.isJSONRPCID=function(e){return"string"==typeof e||"number"==typeof e||null===e},t.isJSONRPCRequest=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.method&&void 0===e.result&&void 0===e.error},t.isJSONRPCRequests=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCRequest)},t.isJSONRPCResponse=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.id&&(void 0!==e.result||void 0!==e.error)},t.isJSONRPCResponses=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCResponse)},(i=t.JSONRPCErrorCode||(t.JSONRPCErrorCode={}))[i.ParseError=-32700]="ParseError",i[i.InvalidRequest=-32600]="InvalidRequest",i[i.MethodNotFound=-32601]="MethodNotFound",i[i.InvalidParams=-32602]="InvalidParams",i[i.InternalError=-32603]="InternalError",t.createJSONRPCErrorResponse=function(e,i,n,o){var s={code:i,message:n};return o&&(s.data=o),{jsonrpc:t.JSONRPC,id:e,error:s}},t.createJSONRPCSuccessResponse=function(e,i){return{jsonrpc:t.JSONRPC,id:e,result:null!=i?i:null}},t.createJSONRPCRequest=function(e,i,n){return{jsonrpc:t.JSONRPC,id:e,method:i,params:n}},t.createJSONRPCNotification=function(e,i){return{jsonrpc:t.JSONRPC,method:e,params:i}}},9206:function(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var i,n,o,s,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!((o=(o=r.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]{e.exports=u,u.Minimatch=g;var n=function(){try{return i(1023)}catch(e){}}()||{sep:"/"};u.sep=n.sep;var o=u.GLOBSTAR=g.GLOBSTAR={},s=i(402),r={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",l="[^/]*?",c="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),d=/\/+/;function h(e,t){t=t||{};var i={};return Object.keys(e).forEach((function(t){i[t]=e[t]})),Object.keys(t).forEach((function(e){i[e]=t[e]})),i}function u(e,t,i){return m(t),i||(i={}),!(!i.nocomment&&"#"===t.charAt(0))&&new g(t,i).match(e)}function g(e,t){if(!(this instanceof g))return new g(e,t);m(e),t||(t={}),e=e.trim(),t.allowWindowsEscape||"/"===n.sep||(e=e.split(n.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}function p(e,t){return t||(t=this instanceof g?this.options:{}),e=void 0===e?this.pattern:e,m(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:s(e)}u.filter=function(e,t){return t=t||{},function(i,n,o){return u(i,e,t)}},u.defaults=function(e){if(!e||"object"!=typeof e||!Object.keys(e).length)return u;var t=u,i=function(i,n,o){return t(i,n,h(e,o))};return(i.Minimatch=function(i,n){return new t.Minimatch(i,h(e,n))}).defaults=function(i){return t.defaults(h(e,i)).Minimatch},i.filter=function(i,n){return t.filter(i,h(e,n))},i.defaults=function(i){return t.defaults(h(e,i))},i.makeRe=function(i,n){return t.makeRe(i,h(e,n))},i.braceExpand=function(i,n){return t.braceExpand(i,h(e,n))},i.match=function(i,n,o){return t.match(i,n,h(e,o))},i},g.defaults=function(e){return u.defaults(e).Minimatch},g.prototype.debug=function(){},g.prototype.make=function(){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var i=this.globSet=this.braceExpand();t.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,i),i=this.globParts=i.map((function(e){return e.split(d)})),this.debug(this.pattern,i),i=i.map((function(e,t,i){return e.map(this.parse,this)}),this),this.debug(this.pattern,i),i=i.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,i),this.set=i}else this.empty=!0;else this.comment=!0},g.prototype.parseNegate=function(){var e=this.pattern,t=!1,i=0;if(!this.options.nonegate){for(var n=0,o=e.length;n65536)throw new TypeError("pattern is too long")};g.prototype.parse=function(e,t){m(e);var i=this.options;if("**"===e){if(!i.noglobstar)return o;e="*"}if(""===e)return"";var n,s="",d=!!i.nocase,h=!1,u=[],g=[],p=!1,_=-1,v=-1,b="."===e.charAt(0)?"":i.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",C=this;function w(){if(n){switch(n){case"*":s+=l,d=!0;break;case"?":s+=a,d=!0;break;default:s+="\\"+n}C.debug("clearStateChar %j %j",n,s),n=!1}}for(var y,S=0,x=e.length;S-1;T--){var M=g[T],R=s.slice(0,M.reStart),P=s.slice(M.reStart,M.reEnd-8),A=s.slice(M.reEnd-8,M.reEnd),O=s.slice(M.reEnd);A+=O;var F=R.split("(").length-1,W=O;for(S=0;S=0&&!(o=e[s]);s--);for(s=0;s>> no match, partial?",e,u,t,g),u!==a))}if("string"==typeof d?(c=h===d,this.debug("string match",d,h,c)):(c=h.match(d),this.debug("pattern match",d,h,c)),!c)return!1}if(s===a&&r===l)return!0;if(s===a)return i;if(r===l)return s===a-1&&""===e[s];throw new Error("wtf?")}},9188:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const n=i(5163),o=i(294),s=n.__importStar(i(2327));t.createConnection=function(e,t,i){return e.onError((e=>{t(e[0],e[1],e[2])})),e.onClose(i),{listen:()=>e.listen(),sendRequest:(t,...i)=>e.sendRequest(s.string(t)?t:t.method,...i),onRequest:(t,i)=>e.onRequest(s.string(t)?t:t.method,i),sendNotification:async(t,i)=>e.sendNotification(s.string(t)?t:t.method,i),onNotification:(t,i)=>e.onNotification(s.string(t)?t:t.method,i),onProgress:(t,i,n)=>e.onProgress(t,i,n),sendProgress:async(t,i,n)=>e.sendProgress(t,i,n),trace:(t,i,n=!1)=>e.trace(t,i,n),initialize:t=>e.sendRequest(o.InitializeRequest.type,t),shutdown:()=>e.sendRequest(o.ShutdownRequest.type,void 0),exit:async()=>e.sendNotification(o.ExitNotification.type),onLogMessage:t=>e.onNotification(o.LogMessageNotification.type,t),onShowMessage:t=>e.onNotification(o.ShowMessageNotification.type,t),onTelemetry:t=>e.onNotification(o.TelemetryEventNotification.type,t),didChangeConfiguration:async t=>e.sendNotification(o.DidChangeConfigurationNotification.type,t),didChangeWatchedFiles:async t=>e.sendNotification(o.DidChangeWatchedFilesNotification.type,t),didOpenTextDocument:async t=>e.sendNotification(o.DidOpenTextDocumentNotification.type,t),didChangeTextDocument:async t=>e.sendNotification(o.DidChangeTextDocumentNotification.type,t),didCloseTextDocument:async t=>e.sendNotification(o.DidCloseTextDocumentNotification.type,t),didSaveTextDocument:async t=>e.sendNotification(o.DidSaveTextDocumentNotification.type,t),onDiagnostics:t=>e.onNotification(o.PublishDiagnosticsNotification.type,t),dispose:()=>e.dispose(),end:()=>e.end()}}},9472:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleWindow=void 0;const n=i(722);t.ConsoleWindow=class{constructor(){this.channels=new Map}showMessage(e,t,...i){return e===n.MessageType.Error&&console.error(t),e===n.MessageType.Warning&&console.warn(t),e===n.MessageType.Info&&console.info(t),e===n.MessageType.Log&&console.log(t),Promise.resolve(void 0)}createOutputChannel(e){const t=this.channels.get(e);if(t)return t;const i={append(t){console.log(e+": "+t)},appendLine(t){console.log(e+": "+t)},show(){},dispose(){}};return this.channels.set(e,i),i}}},5572:(e,t)=>{"use strict";function i(e){return e}function n(e){return Promise.resolve(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoC2PConverter=t.MonacoP2CConverter=void 0,t.MonacoP2CConverter=class{constructor(e){this.delegate=e,this.asUri=this.delegate.asUri.bind(this.delegate),this.asDocumentSelector=i,this.asPosition=i,this.asRange=i,this.asRanges=n,this.asDiagnostic=i,this.asDiagnostics=n,this.asDiagnosticSeverity=i,this.asDiagnosticTag=i,this.asHover=i,this.asCompletionResult=i,this.asCompletionItem=i,this.asTextEdit=i,this.asTextEdits=i,this.asSignatureHelp=i,this.asSignatureInformation=n,this.asSignatureInformations=n,this.asParameterInformation=i,this.asParameterInformations=n,this.asLocation=i,this.asDeclarationResult=i,this.asDefinitionResult=i,this.asReferences=i,this.asDocumentHighlightKind=i,this.asDocumentHighlight=i,this.asDocumentHighlights=i,this.asSymbolKind=i,this.asSymbolTag=i,this.asSymbolTags=i,this.asSymbolInformation=i,this.asSymbolInformations=i,this.asDocumentSymbol=i,this.asDocumentSymbols=i,this.asCommand=i,this.asCommands=i,this.asCodeAction=i,this.asCodeActionKind=i,this.asCodeActionKinds=i,this.asCodeActionResult=n,this.asCodeLens=i,this.asCodeLenses=i,this.asWorkspaceEdit=i,this.asDocumentLink=i,this.asDocumentLinks=i,this.asColor=i,this.asColorInformation=i,this.asColorInformations=i,this.asColorPresentation=i,this.asColorPresentations=i,this.asFoldingRangeKind=i,this.asFoldingRange=i,this.asFoldingRanges=i,this.asSelectionRange=i,this.asSelectionRanges=i,this.asInlineValue=i,this.asInlineValues=i,this.asInlayHint=n,this.asInlayHints=i,this.asSemanticTokensLegend=i,this.asSemanticTokens=i,this.asSemanticTokensEdit=i,this.asSemanticTokensEdits=i,this.asCallHierarchyItem=i,this.asCallHierarchyItems=i,this.asCallHierarchyIncomingCall=n,this.asCallHierarchyIncomingCalls=i,this.asCallHierarchyOutgoingCall=n,this.asCallHierarchyOutgoingCalls=i,this.asLinkedEditingRanges=i,this.asTypeHierarchyItem=i,this.asTypeHierarchyItems=i,this.asGlobPattern=i}},t.MonacoC2PConverter=class{constructor(e){this.delegate=e,this.asUri=this.delegate.asUri.bind(this.delegate),this.asTextDocumentItem=i,this.asTextDocumentIdentifier=i,this.asVersionedTextDocumentIdentifier=i,this.asOpenTextDocumentParams=this.delegate.asOpenTextDocumentParams.bind(this.delegate),this.asChangeTextDocumentParams=this.delegate.asChangeTextDocumentParams.bind(this.delegate),this.asCloseTextDocumentParams=this.delegate.asCloseTextDocumentParams.bind(this.delegate),this.asSaveTextDocumentParams=this.delegate.asSaveTextDocumentParams.bind(this.delegate),this.asWillSaveTextDocumentParams=e=>({textDocument:this.delegate.asTextDocumentIdentifier(e.document),reason:e.reason}),this.asDidCreateFilesParams=this.delegate.asDidCreateFilesParams.bind(this.delegate),this.asDidRenameFilesParams=this.delegate.asDidRenameFilesParams.bind(this.delegate),this.asDidDeleteFilesParams=this.delegate.asDidDeleteFilesParams.bind(this.delegate),this.asWillCreateFilesParams=this.delegate.asWillCreateFilesParams.bind(this.delegate),this.asWillRenameFilesParams=this.delegate.asWillRenameFilesParams.bind(this.delegate),this.asWillDeleteFilesParams=this.delegate.asWillDeleteFilesParams.bind(this.delegate),this.asTextDocumentPositionParams=this.delegate.asTextDocumentPositionParams.bind(this.delegate),this.asCompletionParams=(e,t,i)=>({textDocument:this.delegate.asTextDocumentIdentifier(e),position:t,context:i}),this.asSignatureHelpParams=this.delegate.asSignatureHelpParams.bind(this.delegate),this.asWorkerPosition=i,this.asPosition=i,this.asPositions=n,this.asRange=i,this.asLocation=i,this.asDiagnosticSeverity=i,this.asDiagnosticTag=i,this.asDiagnostic=i,this.asDiagnostics=n,this.asCompletionItem=i,this.asSymbolKind=i,this.asSymbolTag=i,this.asSymbolTags=i,this.asTextEdit=i,this.asReferenceParams=this.delegate.asReferenceParams.bind(this.delegate),this.asCodeAction=n,this.asCodeActionContext=n,this.asInlineValueContext=i,this.asCommand=i,this.asCodeLens=i,this.asFormattingOptions=i,this.asDocumentSymbolParams=this.delegate.asDocumentSymbolParams.bind(this.delegate),this.asCodeLensParams=this.delegate.asCodeLensParams.bind(this.delegate),this.asDocumentLink=i,this.asDocumentLinkParams=this.delegate.asDocumentLinkParams.bind(this.delegate),this.asCallHierarchyItem=i,this.asTypeHierarchyItem=i,this.asWorkspaceSymbol=i,this.asInlayHint=i}}},3430:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DisposableCollection=t.Disposable=void 0;const n=i(722);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}}),t.DisposableCollection=class{constructor(){this.disposables=[]}dispose(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()}push(e){const t=this.disposables;return t.push(e),{dispose(){const i=t.indexOf(e);-1!==i&&t.splice(i,1)}}}}},7570:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(5163);n.__exportStar(i(3430),t),n.__exportStar(i(722),t),n.__exportStar(i(9188),t),n.__exportStar(i(2777),t),n.__exportStar(i(9869),t),n.__exportStar(i(9472),t),n.__exportStar(i(8525),t),n.__exportStar(i(6040),t),n.__exportStar(i(5748),t),n.__exportStar(i(9412),t)},9869:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoCommands=void 0,t.MonacoCommands=class{constructor(e){this._monaco=e}registerCommand(e,t,i){return this._monaco.editor.registerCommand(e,((e,...n)=>t.call(i,...n)))}}},9412:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolToMonacoConverter=t.MonacoToProtocolConverter=t.ProtocolInlayHint=t.ProtocolCodeAction=t.ProtocolCompletionItem=t.ProtocolCodeLens=t.ProtocolDocumentLink=void 0;const n=i(5163),o=n.__importStar(i(294)),s=n.__importStar(i(2327)),r=i(722);var a,l,c,d,h;!function(e){e.is=function(e){return!!e&&"data"in e}}(a=t.ProtocolDocumentLink||(t.ProtocolDocumentLink={})),function(e){e.is=function(e){return!!e&&"data"in e}}(l=t.ProtocolCodeLens||(t.ProtocolCodeLens={})),function(e){e.is=function(e){return!!e&&"data"in e}}(c=t.ProtocolCompletionItem||(t.ProtocolCompletionItem={})),function(e){e.is=function(e){return!!e&&"data"in e}}(d=t.ProtocolCodeAction||(t.ProtocolCodeAction={})),function(e){e.is=function(e){return!!e&&"data"in e}}(h=t.ProtocolInlayHint||(t.ProtocolInlayHint={})),t.MonacoToProtocolConverter=class{constructor(e){this._monaco=e}asPosition(e,t){return{line:null==e?void 0:e-1,character:null==t?void 0:t-1}}asRange(e){if(void 0!==e)return null===e?null:void 0!==e.insert?this.asRange(e.insert):{start:this.asPosition(e.startLineNumber,e.startColumn),end:this.asPosition(e.endLineNumber,e.endColumn)}}asLocation(e){if(e)return{uri:e.uri.toString(),range:this.asRange(e.range)}}asTextDocumentIdentifier(e){return{uri:e.uri.toString()}}asTextDocumentPositionParams(e,t){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column)}}asCompletionParams(e,t,i){return Object.assign(this.asTextDocumentPositionParams(e,t),{context:this.asCompletionContext(i)})}asCompletionContext(e){return{triggerKind:this.asCompletionTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter}}asSignatureHelpContext(e){return{triggerKind:this.asSignatureHelpTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter,isRetrigger:e.isRetrigger,activeSignatureHelp:this.asSignatureHelp(e.activeSignatureHelp)}}asSignatureHelp(e){if(void 0!==e)return{signatures:e.signatures.map((e=>this.asSignatureInformation(e))),activeParameter:e.activeParameter,activeSignature:e.activeSignature}}asSignatureInformation(e){return{documentation:this.asMarkupContent(e.documentation),label:e.label,parameters:e.parameters.map((e=>this.asParameterInformation(e))),activeParameter:e.activeParameter}}asParameterInformation(e){return{documentation:this.asMarkupContent(e.documentation),label:e.label}}asMarkupContent(e){if(void 0!==e)return"string"==typeof e?e:{kind:r.MarkupKind.Markdown,value:e.value}}asSignatureHelpTriggerKind(e){switch(e){case this._monaco.languages.SignatureHelpTriggerKind.ContentChange:return r.SignatureHelpTriggerKind.ContentChange;case this._monaco.languages.SignatureHelpTriggerKind.TriggerCharacter:return r.SignatureHelpTriggerKind.TriggerCharacter;default:return r.SignatureHelpTriggerKind.Invoke}}asCompletionTriggerKind(e){switch(e){case this._monaco.languages.CompletionTriggerKind.TriggerCharacter:return r.CompletionTriggerKind.TriggerCharacter;case this._monaco.languages.CompletionTriggerKind.TriggerForIncompleteCompletions:return r.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return r.CompletionTriggerKind.Invoked}}asCompletionItem(e){var t,i;const n={label:e.label},o=c.is(e)?e:void 0;return e.detail&&(n.detail=e.detail),e.documentation&&("string"==typeof e.documentation?n.documentation=e.documentation:n.documentation=this.asDocumentation(null!==(t=null==o?void 0:o.documentationFormat)&&void 0!==t?t:r.MarkupKind.Markdown,e.documentation)),e.filterText&&(n.filterText=e.filterText),this.fillPrimaryInsertText(n,e),s.number(e.kind)&&(n.kind=this.asCompletionItemKind(e.kind,o&&o.originalItemKind)),e.sortText&&(n.sortText=e.sortText),e.additionalTextEdits&&(n.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),e.command&&(n.command=this.asCommand(e.command)),e.commitCharacters&&(n.commitCharacters=e.commitCharacters.slice()),e.command&&(n.command=this.asCommand(e.command)),!0!==e.preselect&&!1!==e.preselect||(n.preselect=e.preselect),o&&(void 0!==o.data&&(n.data=o.data),!0!==o.deprecated&&!1!==o.deprecated||(n.deprecated=o.deprecated)),e.tags&&(n.tags=null===(i=e.tags)||void 0===i?void 0:i.slice()),n}asCompletionItemKind(e,t){if(void 0!==t)return t;switch(e){case this._monaco.languages.CompletionItemKind.Method:return r.CompletionItemKind.Method;case this._monaco.languages.CompletionItemKind.Function:return r.CompletionItemKind.Function;case this._monaco.languages.CompletionItemKind.Constructor:return r.CompletionItemKind.Constructor;case this._monaco.languages.CompletionItemKind.Field:return r.CompletionItemKind.Field;case this._monaco.languages.CompletionItemKind.Variable:return r.CompletionItemKind.Variable;case this._monaco.languages.CompletionItemKind.Class:return r.CompletionItemKind.Class;case this._monaco.languages.CompletionItemKind.Struct:return r.CompletionItemKind.Struct;case this._monaco.languages.CompletionItemKind.Interface:return r.CompletionItemKind.Interface;case this._monaco.languages.CompletionItemKind.Module:return r.CompletionItemKind.Module;case this._monaco.languages.CompletionItemKind.Property:return r.CompletionItemKind.Property;case this._monaco.languages.CompletionItemKind.Event:return r.CompletionItemKind.Event;case this._monaco.languages.CompletionItemKind.Operator:return r.CompletionItemKind.Operator;case this._monaco.languages.CompletionItemKind.Unit:return r.CompletionItemKind.Unit;case this._monaco.languages.CompletionItemKind.Value:return r.CompletionItemKind.Value;case this._monaco.languages.CompletionItemKind.Constant:return r.CompletionItemKind.Constant;case this._monaco.languages.CompletionItemKind.Enum:return r.CompletionItemKind.Enum;case this._monaco.languages.CompletionItemKind.EnumMember:return r.CompletionItemKind.EnumMember;case this._monaco.languages.CompletionItemKind.Keyword:return r.CompletionItemKind.Keyword;case this._monaco.languages.CompletionItemKind.Text:return r.CompletionItemKind.Text;case this._monaco.languages.CompletionItemKind.Color:return r.CompletionItemKind.Color;case this._monaco.languages.CompletionItemKind.File:return r.CompletionItemKind.File;case this._monaco.languages.CompletionItemKind.Reference:return r.CompletionItemKind.Reference;case this._monaco.languages.CompletionItemKind.Customcolor:return r.CompletionItemKind.Color;case this._monaco.languages.CompletionItemKind.Folder:return r.CompletionItemKind.Folder;case this._monaco.languages.CompletionItemKind.TypeParameter:return r.CompletionItemKind.TypeParameter;case this._monaco.languages.CompletionItemKind.Snippet:return r.CompletionItemKind.Snippet;default:return e+1}}asDocumentation(e,t){switch(e){case r.MarkupKind.PlainText:return{kind:e,value:t};case r.MarkupKind.Markdown:return{kind:e,value:t.value};default:return`Unsupported Markup content received. Kind is: ${e}`}}fillPrimaryInsertText(e,t){let i,n,o=r.InsertTextFormat.PlainText;void 0!==t.insertTextRules&&0==(t.insertTextRules&this._monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet)&&(o=r.InsertTextFormat.Snippet,i=t.insertText),e.insertTextFormat=o,i=t.insertText,t.range&&(n=this.asRange(t.range)),e.insertTextFormat=o,t.fromEdit&&i&&n?e.textEdit={newText:i,range:n}:e.insertText=i,e.insertTextMode=t.insertTextMode}asTextEdit(e){return{range:this.asRange(e.range),newText:e.text||""}}asTextEdits(e){if(e)return e.map((e=>this.asTextEdit(e)))}asReferenceParams(e,t,i){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),context:{includeDeclaration:i.includeDeclaration}}}asDocumentSymbolParams(e){return{textDocument:this.asTextDocumentIdentifier(e)}}asCodeLensParams(e){return{textDocument:this.asTextDocumentIdentifier(e)}}asDiagnosticSeverity(e){switch(e){case this._monaco.MarkerSeverity.Error:return r.DiagnosticSeverity.Error;case this._monaco.MarkerSeverity.Warning:return r.DiagnosticSeverity.Warning;case this._monaco.MarkerSeverity.Info:return r.DiagnosticSeverity.Information;case this._monaco.MarkerSeverity.Hint:return r.DiagnosticSeverity.Hint}}asDiagnostic(e){const t=this.asRange(new this._monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),i=this.asDiagnosticSeverity(e.severity);return r.Diagnostic.create(t,e.message,i,e.code,e.source)}asDiagnostics(e){return null==e?e:e.map((e=>this.asDiagnostic(e)))}asCodeActionContext(e,t){return null==e?e:r.CodeActionContext.create(t,s.string(e.only)?[e.only]:void 0,void 0)}asCodeActionParams(e,t,i,n){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),context:this.asCodeActionContext(i,n)}}asCommand(e){if(e){let t=e.arguments||[];return r.Command.create(e.title,e.id,...t)}}asCodeLens(e){let t=r.CodeLens.create(this.asRange(e.range));return e.command&&(t.command=this.asCommand(e.command)),l.is(e)&&e.data&&(t.data=e.data),t}asFormattingOptions(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}asDocumentFormattingParams(e,t){return{textDocument:this.asTextDocumentIdentifier(e),options:this.asFormattingOptions(t)}}asDocumentRangeFormattingParams(e,t,i){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),options:this.asFormattingOptions(i)}}asDocumentOnTypeFormattingParams(e,t,i,n){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),ch:i,options:this.asFormattingOptions(n)}}asRenameParams(e,t,i){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),newName:i}}asDocumentLinkParams(e){return{textDocument:this.asTextDocumentIdentifier(e)}}asDocumentLink(e){let t=r.DocumentLink.create(this.asRange(e.range));return e.url&&(t.target="string"==typeof e.url?e.url:e.url.toString()),a.is(e)&&e.data&&(t.data=e.data),e.tooltip&&(t.tooltip=e.tooltip),t}asCodeAction(e){const t={title:e.title},i=d.is(e)?e:void 0;if(s.number(e.kind)&&(t.kind=e.kind),e.diagnostics&&(t.diagnostics=this.asDiagnostics(e.diagnostics)),e.edit)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.isPreferred&&(t.isPreferred=e.isPreferred),e.disabled&&(t.disabled={reason:e.disabled}),i&&void 0!==i.data&&(t.data=i.data),t}asInlayHintLabelPart(e){return{value:e.label,command:this.asCommand(e.command),location:this.asLocation(e.location),tooltip:this.asMarkupContent(e.tooltip)}}asInlayHintLabel(e){return Array.isArray(e)?e.map((e=>this.asInlayHintLabelPart(e))):e}asInlayHint(e){let t=r.InlayHint.create(this.asPosition(e.position.lineNumber,e.position.column),this.asInlayHintLabel(e.label),e.kind);return h.is(e)&&e.data&&(t.data=e.data),t}},t.ProtocolToMonacoConverter=class{constructor(e){this._monaco=e}asResourceEdits(e,t,i,n){return t.map((t=>({resource:e,edit:this.asTextEdit(t),modelVersionId:n,metadata:r.AnnotatedTextEdit.is(t)?i(t.annotationId):void 0})))}asWorkspaceEditMetadata(e){return{needsConfirmation:!0===e.needsConfirmation,label:e.label,description:e.description}}asWorkspaceEdit(e){if(!e)return;const t=new Map;if(void 0!==e.changeAnnotations)for(const i of Object.keys(e.changeAnnotations)){const n=this.asWorkspaceEditMetadata(e.changeAnnotations[i]);t.set(i,n)}const i=e=>void 0===e?void 0:t.get(e),n=[];if(e.documentChanges)e.documentChanges.forEach((e=>{if(o.CreateFile.is(e))n.push({newUri:this._monaco.Uri.parse(e.uri),options:e.options,metadata:i(e.annotationId)});else if(o.RenameFile.is(e))n.push({oldUri:this._monaco.Uri.parse(e.oldUri),newUri:this._monaco.Uri.parse(e.newUri),options:e.options,metadata:i(e.annotationId)});else if(o.DeleteFile.is(e))n.push({oldUri:this._monaco.Uri.parse(e.uri),options:e.options,metadata:i(e.annotationId)});else if(o.TextDocumentEdit.is(e)){const t=this._monaco.Uri.parse(e.textDocument.uri),o="number"==typeof e.textDocument.version?e.textDocument.version:void 0;n.push(...this.asResourceEdits(t,e.edits,i,o))}else console.error(`Unknown workspace edit change received:\n${JSON.stringify(e,void 0,4)}`)}));else if(e.changes)for(const t of Object.keys(e.changes)){const o=this._monaco.Uri.parse(t);n.push(...this.asResourceEdits(o,e.changes[t],i))}return{edits:n}}asTextEdit(e){if(e)return{range:this.asRange(e.range),text:e.newText}}asTextEdits(e){if(e)return e.map((e=>this.asTextEdit(e)))}asCodeLens(e){if(!e)return;let t={range:this.asRange(e.range)};return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}asCodeLensList(e){if(e)return{lenses:e.map((e=>this.asCodeLens(e))),dispose:()=>{}}}asCodeActionList(e){return{actions:e.map((e=>this.asCodeAction(e))),dispose:()=>{}}}asCodeAction(e){return r.Command.is(e)?{command:{id:e.command,title:e.title,arguments:e.arguments},title:e.title}:{title:e.title,command:this.asCommand(e.command),edit:this.asWorkspaceEdit(e.edit),diagnostics:this.asDiagnostics(e.diagnostics),kind:e.kind,disabled:e.disabled?e.disabled.reason:void 0,isPreferred:e.isPreferred,data:e.data}}asCommand(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}asDocumentSymbol(e){const t=e.children&&e.children.map((e=>this.asDocumentSymbol(e)));return{name:e.name,detail:e.detail||"",kind:this.asSymbolKind(e.kind),tags:e.tags||[],range:this.asRange(e.range),selectionRange:this.asRange(e.selectionRange),children:t}}asDocumentSymbols(e){return r.DocumentSymbol.is(e[0])?e.map((e=>this.asDocumentSymbol(e))):this.asSymbolInformations(e)}asSymbolInformations(e,t){if(e)return e.map((e=>this.asSymbolInformation(e,t)))}asSymbolInformation(e,t){const i=this.asLocation(t?Object.assign(Object.assign({},e.location),{uri:t.toString()}):e.location);return{name:e.name,detail:"",containerName:e.containerName,kind:this.asSymbolKind(e.kind),tags:e.tags||[],range:i.range,selectionRange:i.range}}asSymbolKind(e){return e<=r.SymbolKind.TypeParameter?e-1:this._monaco.languages.SymbolKind.Property}asDocumentHighlights(e){if(e)return e.map((e=>this.asDocumentHighlight(e)))}asDocumentHighlight(e){return{range:this.asRange(e.range),kind:s.number(e.kind)?this.asDocumentHighlightKind(e.kind):void 0}}asDocumentHighlightKind(e){switch(e){case r.DocumentHighlightKind.Text:return this._monaco.languages.DocumentHighlightKind.Text;case r.DocumentHighlightKind.Read:return this._monaco.languages.DocumentHighlightKind.Read;case r.DocumentHighlightKind.Write:return this._monaco.languages.DocumentHighlightKind.Write}return this._monaco.languages.DocumentHighlightKind.Text}asReferences(e){if(e)return e.map((e=>this.asLocation(e)))}asDefinitionResult(e){if(e){if(s.array(e)){if(0==e.length)return;return r.LocationLink.is(e[0])?e.map((e=>this.asLocationLink(e))):e.map((e=>this.asLocation(e)))}return this.asLocation(e)}}asLocation(e){if(e)return{uri:this._monaco.Uri.parse(e.uri),range:this.asRange(e.range)}}asLocationLink(e){if(!e)return;let t={uri:this._monaco.Uri.parse(e.targetUri),range:this.asRange(e.targetSelectionRange),originSelectionRange:this.asRange(e.originSelectionRange),targetSelectionRange:this.asRange(e.targetSelectionRange)};if(!t.targetSelectionRange)throw new Error("targetSelectionRange must not be undefined or null");return t}asSignatureHelpResult(e){if(!e)return;let t={};return s.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,s.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures?t.signatures=this.asSignatureInformations(e.signatures):t.signatures=[],{value:t,dispose:()=>{}}}asSignatureInformations(e){return e.map((e=>this.asSignatureInformation(e)))}asSignatureInformation(e){let t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),e.parameters?t.parameters=this.asParameterInformations(e.parameters):t.parameters=[],e.activeParameter&&(t.activeParameter=e.activeParameter),t}asParameterInformations(e){return e.map((e=>this.asParameterInformation(e)))}asParameterInformation(e){let t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),t}asHover(e){if(e)return{contents:this.asHoverContent(e.contents),range:this.asRange(e.range)}}asHoverContent(e){return Array.isArray(e)?e.map((e=>this.asMarkdownString(e))):[this.asMarkdownString(e)]}asDocumentation(e){return s.string(e)?e:e.kind===r.MarkupKind.PlainText?e.value:this.asMarkdownString(e)}asMarkdownString(e){if(r.MarkupContent.is(e))return{value:e.value};if(s.string(e))return{value:e};const{language:t,value:i}=e;return{value:"```"+t+"\n"+i+"\n```"}}asSeverity(e){return 1===e?this._monaco.MarkerSeverity.Error:2===e?this._monaco.MarkerSeverity.Warning:3===e?this._monaco.MarkerSeverity.Info:this._monaco.MarkerSeverity.Hint}asDiagnostics(e){if(e)return e.map((e=>this.asDiagnostic(e)))}asDiagnostic(e){return{code:"number"==typeof e.code?e.code.toString():e.code,severity:this.asSeverity(e.severity),message:e.message,source:e.source,startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,relatedInformation:this.asRelatedInformations(e.relatedInformation),tags:e.tags}}asRelatedInformations(e){if(e)return e.map((e=>this.asRelatedInformation(e)))}asRelatedInformation(e){return{resource:this._monaco.Uri.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}}asCompletionResult(e,t){if(!e)return{incomplete:!1,suggestions:[]};if(Array.isArray(e))return{incomplete:!1,suggestions:e.map((e=>this.asCompletionItem(e,t,i)))};const i=this.getCompletionItemDefaultRange(e);return{incomplete:e.isIncomplete,suggestions:e.items.map((n=>this.asCompletionItem(n,t,i,e.itemDefaults)))}}asCompletionItem(e,t,i,n){var o,r,a;const l={label:this.asCompletionItemLabel(e)};e.detail&&(l.detail=e.detail),e.documentation&&(l.documentation=this.asDocumentation(e.documentation),l.documentationFormat=s.string(e.documentation)?void 0:e.documentation.kind),e.filterText&&(l.filterText=e.filterText);const c=this.asCompletionInsertText(e,i,null==n?void 0:n.insertTextFormat);if(l.insertText=c.insertText,l.range=null!==(o=c.range)&&void 0!==o?o:t,l.fromEdit=c.fromEdit,c.isSnippet&&(l.insertTextRules=this._monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet),s.number(e.kind)){let[t,i]=this.asCompletionItemKind(e.kind);l.kind=t,i&&(l.originalItemKind=i)}e.sortText&&(l.sortText=e.sortText),e.additionalTextEdits&&(l.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),s.stringArray(e.commitCharacters)&&(l.commitCharacters=e.commitCharacters.slice()),e.command&&(l.command=this.asCommand(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(l.deprecated=e.deprecated),!0!==e.preselect&&!1!==e.preselect||(l.preselect=e.preselect);const d=null!==(r=e.data)&&void 0!==r?r:null==n?void 0:n.data;void 0!==d&&(l.data=d),!0!==e.deprecated&&!1!==e.deprecated||(l.deprecated=e.deprecated);const h=null!==(a=e.insertTextMode)&&void 0!==a?a:null==n?void 0:n.insertTextMode;return h&&(l.insertTextMode=h),e.tags&&(l.tags=e.tags),l}getCompletionItemDefaultRange(e){var t;const i=null===(t=e.itemDefaults)||void 0===t?void 0:t.editRange;return o.Range.is(i)?this.asRange(i):void 0!==i?{insert:this.asRange(i.insert),replace:this.asRange(i.replace)}:void 0}asCompletionItemLabel(e){return o.CompletionItemLabelDetails.is(e.labelDetails)?{label:e.label,detail:e.labelDetails.detail,description:e.labelDetails.description}:e.label}asCompletionItemKind(e){if(r.CompletionItemKind.Text<=e&&e<=r.CompletionItemKind.TypeParameter)switch(e){case r.CompletionItemKind.Text:return[this._monaco.languages.CompletionItemKind.Text,void 0];case r.CompletionItemKind.Method:return[this._monaco.languages.CompletionItemKind.Method,void 0];case r.CompletionItemKind.Function:return[this._monaco.languages.CompletionItemKind.Function,void 0];case r.CompletionItemKind.Constructor:return[this._monaco.languages.CompletionItemKind.Constructor,void 0];case r.CompletionItemKind.Field:return[this._monaco.languages.CompletionItemKind.Field,void 0];case r.CompletionItemKind.Variable:return[this._monaco.languages.CompletionItemKind.Variable,void 0];case r.CompletionItemKind.Class:return[this._monaco.languages.CompletionItemKind.Class,void 0];case r.CompletionItemKind.Interface:return[this._monaco.languages.CompletionItemKind.Interface,void 0];case r.CompletionItemKind.Module:return[this._monaco.languages.CompletionItemKind.Module,void 0];case r.CompletionItemKind.Property:return[this._monaco.languages.CompletionItemKind.Property,void 0];case r.CompletionItemKind.Unit:return[this._monaco.languages.CompletionItemKind.Unit,void 0];case r.CompletionItemKind.Value:return[this._monaco.languages.CompletionItemKind.Value,void 0];case r.CompletionItemKind.Enum:return[this._monaco.languages.CompletionItemKind.Enum,void 0];case r.CompletionItemKind.Keyword:return[this._monaco.languages.CompletionItemKind.Keyword,void 0];case r.CompletionItemKind.Snippet:return[this._monaco.languages.CompletionItemKind.Snippet,void 0];case r.CompletionItemKind.Color:return[this._monaco.languages.CompletionItemKind.Color,void 0];case r.CompletionItemKind.File:return[this._monaco.languages.CompletionItemKind.File,void 0];case r.CompletionItemKind.Reference:return[this._monaco.languages.CompletionItemKind.Reference,void 0];case r.CompletionItemKind.Folder:return[this._monaco.languages.CompletionItemKind.Folder,void 0];case r.CompletionItemKind.EnumMember:return[this._monaco.languages.CompletionItemKind.EnumMember,void 0];case r.CompletionItemKind.Constant:return[this._monaco.languages.CompletionItemKind.Constant,void 0];case r.CompletionItemKind.Struct:return[this._monaco.languages.CompletionItemKind.Struct,void 0];case r.CompletionItemKind.Event:return[this._monaco.languages.CompletionItemKind.Event,void 0];case r.CompletionItemKind.Operator:return[this._monaco.languages.CompletionItemKind.Operator,void 0];case r.CompletionItemKind.TypeParameter:return[this._monaco.languages.CompletionItemKind.TypeParameter,void 0];default:return[e-1,void 0]}return[r.CompletionItemKind.Text,e]}asCompletionInsertText(e,t,i){var n,o;const s=(null!==(n=e.insertTextFormat)&&void 0!==n?n:i)===r.InsertTextFormat.Snippet;if(void 0!==e.textEdit||void 0!==t){const[i,n]=void 0!==e.textEdit?this.getCompletionRangeAndText(e.textEdit):[t,null!==(o=e.textEditText)&&void 0!==o?o:e.label];return{insertText:n,range:i,fromEdit:!0,isSnippet:s}}return e.insertText?{isSnippet:s,insertText:e.insertText,fromEdit:!1,range:t}:{insertText:e.label,range:t,fromEdit:!1,isSnippet:!1}}getCompletionRangeAndText(e){return o.InsertReplaceEdit.is(e)?[{insert:this.asRange(e.insert),replace:this.asRange(e.replace)},e.newText]:[this.asRange(e.range),e.newText]}asDocumentLinks(e){return{links:e.map((e=>this.asDocumentLink(e)))}}asDocumentLink(e){return{range:this.asRange(e.range),url:e.target,data:e.data,tooltip:e.tooltip}}asRange(e){if(void 0===e)return;if(null===e)return null;const t=this.asPosition(e.start),i=this.asPosition(e.end);return t instanceof this._monaco.Position&&i instanceof this._monaco.Position?new this._monaco.Range(t.lineNumber,t.column,i.lineNumber,i.column):{startLineNumber:t&&void 0!==t.lineNumber?t.lineNumber:void 0,startColumn:t&&void 0!==t.column?t.column:void 0,endLineNumber:i&&void 0!==i.lineNumber?i.lineNumber:void 0,endColumn:i&&void 0!==i.column?i.column:void 0}}asPosition(e){if(void 0===e)return;if(null===e)return null;const{line:t,character:i}=e,n=void 0===t?void 0:t+1,o=void 0===i?void 0:i+1;return void 0!==n&&void 0!==o?new this._monaco.Position(n,o):{lineNumber:n,column:o}}asColorInformations(e){return e.map((e=>this.asColorInformation(e)))}asColorInformation(e){return{range:this.asRange(e.range),color:e.color}}asColorPresentations(e){return e.map((e=>this.asColorPresentation(e)))}asColorPresentation(e){return{label:e.label,textEdit:this.asTextEdit(e.textEdit),additionalTextEdits:this.asTextEdits(e.additionalTextEdits)}}asFoldingRanges(e){return e?e.map((e=>this.asFoldingRange(e))):e}asFoldingRange(e){return{start:e.startLine+1,end:e.endLine+1,kind:this.asFoldingRangeKind(e.kind)}}asFoldingRangeKind(e){if(e)switch(e){case r.FoldingRangeKind.Comment:return this._monaco.languages.FoldingRangeKind.Comment;case r.FoldingRangeKind.Imports:return this._monaco.languages.FoldingRangeKind.Imports;case r.FoldingRangeKind.Region:return this._monaco.languages.FoldingRangeKind.Region}}asSemanticTokens(e){return{resultId:e.resultId,data:Uint32Array.from(e.data)}}asInlayHintLabelPart(e){return{label:e.value,command:this.asCommand(e.command),location:this.asLocation(e.location),tooltip:e.tooltip&&this.asMarkdownString(e.tooltip)}}asInlayHintLabel(e){return Array.isArray(e)?e.map((e=>this.asInlayHintLabelPart(e))):e}asInlayHint(e){return{data:e.data,label:this.asInlayHintLabel(e.label),position:this.asPosition(e.position),kind:e.kind,paddingLeft:e.paddingLeft,paddingRight:e.paddingRight,tooltip:e.tooltip&&this.asMarkdownString(e.tooltip)}}asInlayHintList(e){if(e)return{hints:e.map((e=>this.asInlayHint(e))),dispose:()=>{}}}}},7344:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoModelDiagnostics=t.MonacoDiagnosticCollection=void 0;const n=i(3430);t.MonacoDiagnosticCollection=class{constructor(e,t,i){this._monaco=e,this.name=t,this.p2m=i,this.diagnostics=new Map,this.toDispose=new n.DisposableCollection}dispose(){this.toDispose.dispose()}get(e){const t=this.diagnostics.get(e);return t?t.diagnostics:[]}set(e,t){const i=this.diagnostics.get(e);if(i)i.diagnostics=t;else{const i=new o(this._monaco,e,t,this.name,this.p2m);this.diagnostics.set(e,i),this.toDispose.push(n.Disposable.create((()=>{this.diagnostics.delete(e),i.dispose()})))}}};class o{constructor(e,t,i,o,s){this._monaco=e,this.owner=o,this.p2m=s,this._markers=[],this._diagnostics=[],this.toDispose=new n.DisposableCollection,this.uri=this._monaco.Uri.parse(t),this.diagnostics=i,this.toDispose.push(this._monaco.editor.onDidCreateModel((e=>this.doUpdateModelMarkers(e))))}set diagnostics(e){this._diagnostics=e,this._markers=this.p2m.asDiagnostics(e),this.updateModelMarkers()}get diagnostics(){return this._diagnostics}get markers(){return this._markers}dispose(){this._markers=[],this.updateModelMarkers(),this.toDispose.dispose()}updateModelMarkers(){const e=this._monaco.editor.getModel(this.uri);this.doUpdateModelMarkers(e||void 0)}doUpdateModelMarkers(e){e&&this.uri.toString()===e.uri.toString()&&this._monaco.editor.setModelMarkers(e,this.owner,this._markers)}}t.MonacoModelDiagnostics=o},2777:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoLanguageClient=void 0;const n=i(5163),o=i(9343);n.__exportStar(i(9343),t);const s=i(5572),r=i(5122),a=i(7583),l=i(4976),c=i(9259),d=i(7548),h=i(5985),u=i(2318),g=i(7853),p=i(253),m=i(5973),f=i(5824),_=i(8314),v=i(6991),b=i(1108),C=i(2716),w=i(7349),y=i(7567),S=i(3894),x=i(9100),k=i(8357),D=i(6443),L=i(4778),E=i(1572),N=i(4722),I=i(4462),T=i(7801),M=i(4585);class R extends o.BaseLanguageClient{constructor({id:e,name:t,clientOptions:i,connectionProvider:n}){super(e||t.toLowerCase(),t,i),this.connectionProvider=n;const o=this;o._p2c=new s.MonacoP2CConverter(o._p2c),o._c2p=new s.MonacoC2PConverter(o._c2p);const r=this.handleRegistrationRequest.bind(this);this.handleRegistrationRequest=e=>{r(Object.assign(Object.assign({},e),{registrations:e.registrations.filter((e=>null!=this.getFeature(e.method)))}))};const a=this.handleUnregistrationRequest.bind(this);this.handleUnregistrationRequest=e=>{a(Object.assign(Object.assign({},e),{unregisterations:e.unregisterations.filter((e=>null!=this.getFeature(e.method)))}))}}createMessageTransports(e){return this.connectionProvider.get(e)}getLocale(){return navigator.language||"en-US"}registerBuiltinFeatures(){this.registerFeature(new a.DidOpenTextDocumentFeature(this,this._syncedDocuments)),this.registerFeature(new a.DidChangeTextDocumentFeature(this)),this.registerFeature(new a.DidCloseTextDocumentFeature(this,this._syncedDocuments)),this.registerFeature(new l.CompletionItemFeature(this)),this.registerFeature(new c.HoverFeature(this)),this.registerFeature(new d.SignatureHelpFeature(this)),this.registerFeature(new h.DefinitionFeature(this)),this.registerFeature(new u.ReferencesFeature(this)),this.registerFeature(new g.DocumentHighlightFeature(this)),this.registerFeature(new p.DocumentSymbolFeature(this)),this.registerFeature(new m.CodeActionFeature(this)),this.registerFeature(new f.CodeLensFeature(this)),this.registerFeature(new _.DocumentFormattingFeature(this)),this.registerFeature(new _.DocumentRangeFormattingFeature(this)),this.registerFeature(new _.DocumentOnTypeFormattingFeature(this)),this.registerFeature(new v.RenameFeature(this)),this.registerFeature(new b.DocumentLinkFeature(this)),this.registerFeature(new C.ExecuteCommandFeature(this)),this.registerFeature(new w.TypeDefinitionFeature(this)),this.registerFeature(new y.ImplementationFeature(this)),this.registerFeature(new S.ColorProviderFeature(this)),void 0===this.clientOptions.workspaceFolder&&this.registerFeature(new x.WorkspaceFoldersFeature(this)),this.registerFeature(new k.FoldingRangeFeature(this)),this.registerFeature(new D.DeclarationFeature(this)),this.registerFeature(new L.SelectionRangeFeature(this)),this.registerFeature(new E.SemanticTokensFeature(this)),this.registerFeature(new N.LinkedEditingFeature(this)),this.registerFeature(new I.InlayHintsFeature(this)),this.registerFeature(new T.DiagnosticFeature(this))}registerTextDocumentSaveFeatures(){this.registerFeature(new a.WillSaveFeature(this)),this.registerFeature(new a.WillSaveWaitUntilFeature(this)),this.registerFeature(new a.DidSaveTextDocumentFeature(this))}registerConfigurationFeatures(){this.registerFeature(new r.ConfigurationFeature(this)),this.registerFeature(new r.SyncConfigurationFeature(this))}registerProgressFeatures(){this.registerFeature(new M.ProgressFeature(this))}}t.MonacoLanguageClient=R,R.bypassConversion=(e,t)=>null!=t?Promise.resolve(e||void 0):e||void 0},8525:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoLanguages=t.testGlob=t.MonacoModelIdentifier=void 0;const n=i(5163).__importDefault(i(450)),o=i(722),s=i(7344);var r;function a(e,t){return(0,n.default)(e,{extended:!0,globstar:!0}).test(t)}function l(e,t){for(const i in t){const n=t[i];null!=n&&(e[i]=n)}}!function(e){e.fromDocument=function(e,t){return{uri:e.Uri.parse(t.uri),languageId:t.languageId}},e.fromModel=function(e){return{uri:e.uri,languageId:e.getLanguageId()}}}(r=t.MonacoModelIdentifier||(t.MonacoModelIdentifier={})),t.testGlob=a;class c{constructor(e,t){this._monaco=e,this.p2m=t,this._collections=new Map}createDiagnosticCollection(e){let t;if(e)if(this._collections.has(e))do{t=e+c._idPool++}while(this._collections.has(t));else t=e;else e="_generated_diagnostic_collection_name_#"+c._idPool++,t=e;const i=this;return new class extends s.MonacoDiagnosticCollection{constructor(){super(i._monaco,e||"default",i.p2m),i._collections.set(t,this)}dispose(){super.dispose(),i._collections.delete(t)}}}getDiagnostics(e){let t=[];for(let i of this._collections.values()){const n=i.get(e);n&&(t=t.concat(n))}return t}}c._idPool=0;class d{constructor(e,t,i){this._monaco=e,this.p2m=t,this.m2p=i,this.extHostDiagnostics=new c(e,t)}match(e,t){return this.matchModel(e,r.fromDocument(this._monaco,t))}createDiagnosticCollection(e){return this.extHostDiagnostics.createDiagnosticCollection(e)}registerCompletionItemProvider(e,t,...i){const n=this.createCompletionProvider(t,...i);return this._monaco.languages.registerCompletionItemProvider(e,n)}createCompletionProvider(e,...t){return{triggerCharacters:t,provideCompletionItems:async(t,i,n,o)=>{const s=t.getWordUntilPosition(i),r=new this._monaco.Range(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),a=this.m2p.asCompletionParams(t,i,n),l=await e.provideCompletionItems(a,o);return l&&this.p2m.asCompletionResult(l,r)},resolveCompletionItem:e.resolveCompletionItem?async(t,i)=>{const n=this.m2p.asCompletionItem(t),o=await e.resolveCompletionItem(n,i);return o&&l(t,this.p2m.asCompletionItem(o,t.range)),t}:void 0}}registerHoverProvider(e,t){const i=this.createHoverProvider(t);return this._monaco.languages.registerHoverProvider(e,i)}createHoverProvider(e){return{provideHover:async(t,i,n)=>{const o=this.m2p.asTextDocumentPositionParams(t,i),s=await e.provideHover(o,n);return s&&this.p2m.asHover(s)}}}registerSignatureHelpProvider(e,t,...i){const n=this.createSignatureHelpProvider(t,...i);return this._monaco.languages.registerSignatureHelpProvider(e,n)}createSignatureHelpProvider(e,...t){return{signatureHelpTriggerCharacters:[...e.triggerCharacters||t||[]],signatureHelpRetriggerCharacters:e.retriggerCharacters,provideSignatureHelp:async(t,i,n,o)=>{const s=this.m2p.asTextDocumentPositionParams(t,i),r=await e.provideSignatureHelp(s,n,this.m2p.asSignatureHelpContext(o));return r&&this.p2m.asSignatureHelpResult(r)}}}registerDefinitionProvider(e,t){const i=this.createDefinitionProvider(t);return this._monaco.languages.registerDefinitionProvider(e,i)}createDefinitionProvider(e){return{provideDefinition:async(t,i,n)=>{const o=this.m2p.asTextDocumentPositionParams(t,i),s=await e.provideDefinition(o,n);return s&&this.p2m.asDefinitionResult(s)}}}registerReferenceProvider(e,t){const i=this.createReferenceProvider(t);return this._monaco.languages.registerReferenceProvider(e,i)}createReferenceProvider(e){return{provideReferences:async(t,i,n,o)=>{const s=this.m2p.asReferenceParams(t,i,n),r=await e.provideReferences(s,o);return r&&this.p2m.asReferences(r)}}}registerDocumentHighlightProvider(e,t){const i=this.createDocumentHighlightProvider(t);return this._monaco.languages.registerDocumentHighlightProvider(e,i)}createDocumentHighlightProvider(e){return{provideDocumentHighlights:async(t,i,n)=>{const o=this.m2p.asTextDocumentPositionParams(t,i),s=await e.provideDocumentHighlights(o,n);return s&&this.p2m.asDocumentHighlights(s)}}}registerDocumentSymbolProvider(e,t){const i=this.createDocumentSymbolProvider(t);return this._monaco.languages.registerDocumentSymbolProvider(e,i)}createDocumentSymbolProvider(e){return{provideDocumentSymbols:async(t,i)=>{const n=this.m2p.asDocumentSymbolParams(t),o=await e.provideDocumentSymbols(n,i);return o&&this.p2m.asDocumentSymbols(o)}}}registerCodeActionsProvider(e,t){const i=this.createCodeActionProvider(t);return this._monaco.languages.registerCodeActionProvider(e,i)}createCodeActionProvider(e){return{provideCodeActions:async(t,i,n,o)=>{const s=[];for(const e of this.extHostDiagnostics.getDiagnostics(t.uri.toString()))if(i.intersectRanges(this.p2m.asRange(e.range))&&s.push(e)>d._maxCodeActionsPerFile)break;const r=this.m2p.asCodeActionParams(t,i,n,s);let a=await e.provideCodeActions(r,o);return a&&this.p2m.asCodeActionList(a)},resolveCodeAction:e.resolveCodeAction?async(t,i)=>{const n=this.m2p.asCodeAction(t),o=await e.resolveCodeAction(n,i);return o&&l(t,this.p2m.asCodeAction(o)),t}:void 0}}registerCodeLensProvider(e,t){const i=this.createCodeLensProvider(t);return this._monaco.languages.registerCodeLensProvider(e,i)}createCodeLensProvider(e){return{provideCodeLenses:async(t,i)=>{const n=this.m2p.asCodeLensParams(t),o=await e.provideCodeLenses(n,i);return o&&this.p2m.asCodeLensList(o)},resolveCodeLens:e.resolveCodeLens?async(t,i,n)=>{const o=this.m2p.asCodeLens(i),s=await e.resolveCodeLens(o,n);return s&&l(i,this.p2m.asCodeLens(s)),i}:void 0}}registerDocumentFormattingEditProvider(e,t){const i=this.createDocumentFormattingEditProvider(t);return this._monaco.languages.registerDocumentFormattingEditProvider(e,i)}createDocumentFormattingEditProvider(e){return{provideDocumentFormattingEdits:async(t,i,n)=>{const o=this.m2p.asDocumentFormattingParams(t,i),s=await e.provideDocumentFormattingEdits(o,n);return s&&this.p2m.asTextEdits(s)}}}registerDocumentRangeFormattingEditProvider(e,t){const i=this.createDocumentRangeFormattingEditProvider(t);return this._monaco.languages.registerDocumentRangeFormattingEditProvider(e,i)}createDocumentRangeFormattingEditProvider(e){return{provideDocumentRangeFormattingEdits:async(t,i,n,o)=>{const s=this.m2p.asDocumentRangeFormattingParams(t,i,n),r=await e.provideDocumentRangeFormattingEdits(s,o);return r&&this.p2m.asTextEdits(r)}}}registerOnTypeFormattingEditProvider(e,t,i,...n){const o=this.createOnTypeFormattingEditProvider(t,i,...n);return this._monaco.languages.registerOnTypeFormattingEditProvider(e,o)}createOnTypeFormattingEditProvider(e,t,...i){return{autoFormatTriggerCharacters:[t].concat(i),provideOnTypeFormattingEdits:async(t,i,n,o,s)=>{const r=this.m2p.asDocumentOnTypeFormattingParams(t,i,n,o),a=await e.provideOnTypeFormattingEdits(r,s);return a&&this.p2m.asTextEdits(a)}}}registerRenameProvider(e,t){const i=this.createRenameProvider(t);return this._monaco.languages.registerRenameProvider(e,i)}createRenameProvider(e){return{provideRenameEdits:async(t,i,n,o)=>{const s=this.m2p.asRenameParams(t,i,n),r=await e.provideRenameEdits(s,o);return r&&this.p2m.asWorkspaceEdit(r)}}}registerDocumentLinkProvider(e,t){const i=this.createDocumentLinkProvider(t);return this._monaco.languages.registerLinkProvider(e,i)}createDocumentLinkProvider(e){return{provideLinks:async(t,i)=>{const n=this.m2p.asDocumentLinkParams(t),o=await e.provideDocumentLinks(n,i);return o&&this.p2m.asDocumentLinks(o)},resolveLink:async(t,i)=>{if(e.resolveDocumentLink&&(null===t.url||void 0===t.url)){const n=this.m2p.asDocumentLink(t),o=await e.resolveDocumentLink(n,i);o&&l(t,this.p2m.asDocumentLink(o))}return t}}}registerImplementationProvider(e,t){const i=this.createImplementationProvider(t);return this._monaco.languages.registerImplementationProvider(e,i)}createImplementationProvider(e){return{provideImplementation:async(t,i,n)=>{const o=this.m2p.asTextDocumentPositionParams(t,i),s=await e.provideImplementation(o,n);return s&&this.p2m.asDefinitionResult(s)}}}registerTypeDefinitionProvider(e,t){const i=this.createTypeDefinitionProvider(t);return this._monaco.languages.registerTypeDefinitionProvider(e,i)}createTypeDefinitionProvider(e){return{provideTypeDefinition:async(t,i,n)=>{const o=this.m2p.asTextDocumentPositionParams(t,i),s=await e.provideTypeDefinition(o,n);return s&&this.p2m.asDefinitionResult(s)}}}registerColorProvider(e,t){const i=this.createDocumentColorProvider(t);return this._monaco.languages.registerColorProvider(e,i)}createDocumentColorProvider(e){return{provideDocumentColors:async(t,i)=>{const n=this.m2p.asTextDocumentIdentifier(t),o=await e.provideDocumentColors({textDocument:n},i);return o&&this.p2m.asColorInformations(o)},provideColorPresentations:async(t,i,n)=>{const o=this.m2p.asTextDocumentIdentifier(t),s=this.m2p.asRange(i.range),r=await e.provideColorPresentations({textDocument:o,color:i.color,range:s},n);return r&&this.p2m.asColorPresentations(r)}}}registerFoldingRangeProvider(e,t){const i=this.createFoldingRangeProvider(t);return this._monaco.languages.registerFoldingRangeProvider(e,i)}createFoldingRangeProvider(e){return{provideFoldingRanges:async(t,i,n)=>{const o=this.m2p.asTextDocumentIdentifier(t),s=await e.provideFoldingRanges({textDocument:o},n);return s&&this.p2m.asFoldingRanges(s)}}}registerDocumentSemanticTokensProvider(e,t,i){const n=this.createSemanticTokensProvider(t,i);return this._monaco.languages.registerDocumentSemanticTokensProvider(e,n)}createSemanticTokensProvider(e,t){return{getLegend:()=>t,onDidChange:e.onDidChange,provideDocumentSemanticTokens:async(t,i,n)=>{const o=this.m2p.asTextDocumentIdentifier(t),s=await e.provideDocumentSemanticTokens({textDocument:o},n);return s&&this.p2m.asSemanticTokens(s)},releaseDocumentSemanticTokens:e=>{}}}registerDocumentRangeSemanticTokensProvider(e,t,i){const n=this.createRangeSemanticTokensProvider(t,i);return this._monaco.languages.registerDocumentRangeSemanticTokensProvider(e,n)}createRangeSemanticTokensProvider(e,t){return{getLegend:()=>t,provideDocumentRangeSemanticTokens:async(t,i,n)=>{const o=this.m2p.asTextDocumentIdentifier(t),s=await e.provideDocumentRangeSemanticTokens({textDocument:o,range:this.m2p.asRange(i)},n);return s&&this.p2m.asSemanticTokens(s)}}}registerInlayHintsProvider(e,t){const i=this.createInlayHintsProvider(t);return this._monaco.languages.registerInlayHintsProvider(e,i)}createInlayHintsProvider(e){return{onDidChangeInlayHints:e.onDidChangeInlayHints,provideInlayHints:async(t,i,n)=>{const o=this.m2p.asTextDocumentIdentifier(t),s=await e.provideInlayHints({textDocument:o,range:this.m2p.asRange(i)},n);return s&&this.p2m.asInlayHintList(s)},resolveInlayHint:async(t,i)=>{if(e.resolveInlayHint){const n=this.m2p.asInlayHint(t),o=await e.resolveInlayHint(n,i);o&&l(t,this.p2m.asInlayHint(o))}return t}}}matchModel(e,t){return Array.isArray(e)?e.some((e=>this.matchModel(e,t))):o.TextDocumentFilter.is(e)?!(e.language&&e.language!==t.languageId||e.scheme&&e.scheme!==t.uri.scheme||e.pattern&&!a(e.pattern,t.uri.path)):"string"==typeof e&&e===t.languageId}}t.MonacoLanguages=d,d._maxCodeActionsPerFile=1e3},5748:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoServices=void 0;const n=i(9412),o=i(9869),s=i(8525),r=i(6040),a=i(9472),l=i(722),c=i(3430);!function(e){function t(e,t={}){const i=new n.MonacoToProtocolConverter(e),l=new n.ProtocolToMonacoConverter(e);return{commands:new o.MonacoCommands(e),languages:new s.MonacoLanguages(e,l,i),workspace:new r.MonacoWorkspace(e,l,i,t.rootUri),window:new a.ConsoleWindow}}e.create=t,e.install=function(e,i={}){const n=new c.DisposableCollection,o=t(e,i);return n.push(o.workspace),n.push(l.Services.install(o)),n},e.get=function(){return l.Services.get()}}(t.MonacoServices||(t.MonacoServices={}))},6040:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoWorkspace=void 0;const n=i(722),o=i(4881),s=i(3430);t.MonacoWorkspace=class{constructor(e,t,i,o=null){this._monaco=e,this.p2m=t,this.m2p=i,this._rootUri=o,this.disposableCollection=new s.DisposableCollection,this.documents=new Map,this.documentDisposables=new Map,this.onDidOpenTextDocumentEmitter=new n.Emitter,this.onDidCloseTextDocumentEmitter=new n.Emitter,this.onDidChangeTextDocumentEmitter=new n.Emitter;for(const e of this._monaco.editor.getModels())this.addModel(e);this.disposableCollection.push(this._monaco.editor.onDidCreateModel((e=>this.addModel(e)))),this.disposableCollection.push(this._monaco.editor.onWillDisposeModel((e=>this.removeModel(e)))),this.disposableCollection.push(this._monaco.editor.onDidChangeModelLanguage((e=>{this.removeModel(e.model),this.addModel(e.model)})))}dispose(){this.disposableCollection.dispose();for(const e of this._monaco.editor.getModels())this.removeModel(e)}get rootUri(){return this._rootUri}removeModel(e){const t=e.uri.toString(),i=this.documents.get(t);i&&(this.documents.delete(t),this.onDidCloseTextDocumentEmitter.fire(i));const n=this.documentDisposables.get(t);n&&(n.dispose(),this.documentDisposables.delete(t))}addModel(e){const t=e.uri.toString(),i=this.setModel(t,e);this.onDidOpenTextDocumentEmitter.fire(i),this.documentDisposables.set(t,e.onDidChangeContent((i=>this.onDidChangeContent(t,e,i))))}onDidChangeContent(e,t,i){const n=this.setModel(e,t),o=[];for(const e of i.changes){const t=this.m2p.asRange(e.range),i=e.rangeLength,n=e.text;o.push({range:t,rangeLength:i,text:n})}this.onDidChangeTextDocumentEmitter.fire({textDocument:n,contentChanges:o,isRedoing:i.isRedoing,isUndoing:i.isUndoing})}setModel(e,t){const i=o.TextDocument.create(e,t.getLanguageId(),t.getVersionId(),t.getValue());return this.documents.set(e,i),i}get textDocuments(){return Array.from(this.documents.values())}get onDidOpenTextDocument(){return this.onDidOpenTextDocumentEmitter.event}get onDidCloseTextDocument(){return this.onDidCloseTextDocumentEmitter.event}get onDidChangeTextDocument(){return this.onDidChangeTextDocumentEmitter.event}applyEdit(e){const t=this.p2m.asWorkspaceEdit(e),i=t.edits?t.edits.reduce(((e,t)=>{const i=t;return e[i.resource.toString()]=this._monaco.editor.getModel(i.resource),e}),{}):{};if(!Object.keys(i).map((e=>i[e])).every((e=>!!e)))return Promise.resolve(!1);const n=t.edits?t.edits.reduce(((e,t)=>{const i=t,n=i.resource.toString();return n in e||(e[n]=[]),e[n].push({range:this._monaco.Range.lift(i.edit.range),text:i.edit.text}),e}),{}):{};return Object.keys(n).forEach((e=>{i[e].pushEditOperations([],n[e].map((e=>({identifier:{major:1,minor:0},range:e.range,text:e.text,forceMoveMarkers:!0}))),(()=>[]))})),Promise.resolve(!0)}}},722:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationTarget=t.DocumentIdentifier=t.ProgressLocation=t.VsCodeDiagnosticSeverity=t.SignatureHelpTriggerKind=t.Services=t.TextDocument=t.Emitter=t.Event=t.CancellationToken=t.Disposable=void 0;const n=i(5163),o=i(4881);Object.defineProperty(t,"TextDocument",{enumerable:!0,get:function(){return o.TextDocument}});const s=i(5247);var r,a,l,c;Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return s.Disposable}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}}),Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}}),n.__exportStar(i(9372),t),function(e){const t=window,i=Symbol("Services");e.get=()=>{const e=t[i];if(!e)throw new Error("Language Client services has not been installed");return e},e.install=function(e){return t[i]&&console.warn("Language Client services have been overridden"),t[i]=e,s.Disposable.create((()=>t[i]=void 0))}}(t.Services||(t.Services={})),(c=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={}))[c.Invoke=1]="Invoke",c[c.TriggerCharacter=2]="TriggerCharacter",c[c.ContentChange=3]="ContentChange",(l=t.VsCodeDiagnosticSeverity||(t.VsCodeDiagnosticSeverity={}))[l.Error=0]="Error",l[l.Warning=1]="Warning",l[l.Information=2]="Information",l[l.Hint=3]="Hint",(a=t.ProgressLocation||(t.ProgressLocation={}))[a.SourceControl=1]="SourceControl",a[a.Window=10]="Window",a[a.Notification=15]="Notification",(t.DocumentIdentifier||(t.DocumentIdentifier={})).is=function(e){return!!e&&"uri"in e&&"languageId"in e},(r=t.ConfigurationTarget||(t.ConfigurationTarget={}))[r.Global=1]="Global",r[r.Workspace=2]="Workspace",r[r.WorkspaceFolder=3]="WorkspaceFolder"},250:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createVSCodeApi=void 0;const n=i(5163),o=i(355),s=i(3430),r=i(722),a=n.__importStar(i(722)),l=i(294);t.createVSCodeApi=function(e){const t=()=>{throw new Error("unsupported")},i=class extends o.URI{static joinPath(e,...i){return t()}};class n{constructor(e){this.value=e,this.contains=t,this.intersects=t}append(e){return new n(this.value?this.value+n.sep+e:e)}}n.sep=".",n.Empty=new n(""),n.QuickFix=new n("quickfix"),n.Refactor=new n("refactor"),n.RefactorExtract=n.Refactor.append("extract"),n.RefactorInline=n.Refactor.append("inline"),n.RefactorRewrite=n.Refactor.append("rewrite"),n.Source=new n("source"),n.SourceOrganizeImports=n.Source.append("organizeImports"),n.SourceFixAll=n.Source.append("fixAll");class c extends Error{constructor(){super("Canceled"),this.name=this.message}}let d;!function(e){e[e.Undo=1]="Undo",e[e.Redo=2]="Redo"}(d||(d={}));const h={fs:new class{isWritableFileSystem(e){return!1}stat(e){throw new Error("Method not implemented.")}readDirectory(e){return Promise.resolve([])}createDirectory(e){return Promise.resolve()}readFile(e){return Promise.resolve(new Uint8Array(0))}writeFile(e,t){return Promise.resolve()}delete(e,t){return Promise.resolve()}rename(e,t,i){return Promise.resolve()}copy(e,t,i){return Promise.resolve()}},workspaceFile:void 0,createFileSystemWatcher(t,i,n,o){const s=e();if("string"!=typeof t)throw new Error("unsupported");if(s.workspace.createFileSystemWatcher){const e=s.workspace.createFileSystemWatcher(t,i,n,o);return Object.assign(e,{ignoreCreateEvents:!!i,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!o})}return{ignoreCreateEvents:!!i,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!o,onDidCreate:r.Event.None,onDidChange:r.Event.None,onDidDelete:r.Event.None,dispose:()=>{}}},applyEdit:async t=>{const i=e();if(r.WorkspaceEdit.is(t))return i.workspace.applyEdit(t);throw new Error("unsupported")},getConfiguration(i,n){const{workspace:o}=e(),s=o.configurations?o.configurations.getConfiguration(i,n?n.toString():void 0):void 0,r={get:(e,t)=>s?s.get(e,t):t,has:e=>!!s&&s.has(e),inspect:t,update:t};return Object.assign(r,{toJSON:()=>s?s.toJSON():void 0})},get onDidChangeConfiguration(){const t=e();return t.workspace.configurations?t.workspace.configurations.onDidChangeConfiguration:r.Event.None},get workspaceFolders(){const t=e();if("workspaceFolders"in t.workspace)return t.workspace.workspaceFolders;const n=t.workspace.rootUri;if(!n)return;const o=i.parse(n);return[{uri:o,index:0,name:o.toString()}]},get onDidChangeWorkspaceFolders(){return e().workspace.onDidChangeWorkspaceFolders||r.Event.None},get textDocuments(){return e().workspace.textDocuments},get onDidOpenTextDocument(){return e().workspace.onDidOpenTextDocument},get onDidCloseTextDocument(){return e().workspace.onDidCloseTextDocument},get onDidChangeTextDocument(){const t=e();return(e,i,n)=>t.workspace.onDidChangeTextDocument((({textDocument:t,contentChanges:n,isRedoing:o,isUndoing:s})=>{e.bind(i)({document:t,contentChanges:n,reason:s?d.Undo:o?d.Redo:void 0})}),void 0,n)},get onWillSaveTextDocument(){const t=e().workspace.onWillSaveTextDocument;return t?(e,i,n)=>t((({textDocument:t,reason:n,waitUntil:o})=>{e.bind(i)({document:t,reason:n,waitUntil:e=>{o&&o(e)}})}),void 0,n):r.Event.None},get onDidSaveTextDocument(){return e().workspace.onDidSaveTextDocument||r.Event.None},get onWillCreateFiles(){return r.Event.None},get onDidCreateFiles(){return r.Event.None},get onWillDeleteFiles(){return r.Event.None},get onDidDeleteFiles(){return r.Event.None},get onWillRenameFiles(){return r.Event.None},get onDidRenameFiles(){return r.Event.None},get onDidGrantWorkspaceTrust(){return r.Event.None},getWorkspaceFolder:t,asRelativePath:t,updateWorkspaceFolders:t,findFiles:t,saveAll:t,openTextDocument:t,registerTextDocumentContentProvider:t,registerTaskProvider:t,registerFileSystemProvider:t,openNotebookDocument:t,registerNotebookSerializer:t,notebookDocuments:[],onDidOpenNotebookDocument:t,onDidCloseNotebookDocument:t,isTrusted:!0,rootPath:void 0,name:void 0,onDidChangeNotebookDocument:t,onDidSaveNotebookDocument:t};class u{constructor(t){this.name=t||"default",this.services=e(),this.collection=this.services.languages.createDiagnosticCollection?this.services.languages.createDiagnosticCollection(t):void 0}entries(){}set(e,t){var i;e instanceof o.URI!==void 0?this.collection&&this.collection.set(e.toString(),null!==(i=t)&&void 0!==i?i:[]):e.forEach((e=>{this.set(e[0],e[1])}))}dispose(){this.collection&&this.collection.dispose()}delete(e){}clear(){}forEach(e,t){}get(e){}has(e){return!1}}const g={match(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));if(!r.DocumentIdentifier.is(i))throw new Error("unexpected document: "+JSON.stringify(i));return e().languages.match(n,i)?1:0},registerCallHierarchyProvider:(e,t)=>({dispose(){}}),createDiagnosticCollection:e=>new u(e),registerCompletionItemProvider(t,i,...n){const o=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(o))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:a}=e();if(!a.registerCompletionItemProvider)return s.Disposable.create((()=>{}));const c=i.resolveCompletionItem;return a.registerCompletionItemProvider(o,{provideCompletionItems({textDocument:e,position:t,context:n},o){var s;return i.provideCompletionItems(e,t,o,{triggerKind:null!==(s=null==n?void 0:n.triggerKind)&&void 0!==s?s:r.CompletionTriggerKind.Invoked,triggerCharacter:null==n?void 0:n.triggerCharacter})},resolveCompletionItem:c?(e,t)=>c(e,t):void 0},...n)},registerCodeActionsProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerCodeActionsProvider?o.registerCodeActionsProvider(n,{provideCodeActions:({textDocument:e,range:t,context:n},o)=>i.provideCodeActions(e,t,n,o),resolveCodeAction:i.resolveCodeAction?(e,t)=>i.resolveCodeAction(e,t):void 0}):s.Disposable.create((()=>{}))},registerCodeLensProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();if(!o.registerCodeLensProvider)return s.Disposable.create((()=>{}));const r=i.resolveCodeLens;return o.registerCodeLensProvider(n,{provideCodeLenses:({textDocument:e},t)=>i.provideCodeLenses(e,t),resolveCodeLens:r?(e,t)=>r(e,t):void 0})},registerDefinitionProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDefinitionProvider?o.registerDefinitionProvider(n,{provideDefinition:({textDocument:e,position:t},n)=>i.provideDefinition(e,t,n)}):s.Disposable.create((()=>{}))},registerImplementationProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerImplementationProvider?o.registerImplementationProvider(n,{provideImplementation:({textDocument:e,position:t},n)=>i.provideImplementation(e,t,n)}):s.Disposable.create((()=>{}))},registerTypeDefinitionProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerTypeDefinitionProvider?o.registerTypeDefinitionProvider(n,{provideTypeDefinition:({textDocument:e,position:t},n)=>i.provideTypeDefinition(e,t,n)}):s.Disposable.create((()=>{}))},registerDeclarationProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDeclarationProvider?o.registerDeclarationProvider(n,{provideDeclaration:({textDocument:e,position:t},n)=>i.provideDeclaration(e,t,n)}):s.Disposable.create((()=>{}))},registerHoverProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerHoverProvider?o.registerHoverProvider(n,{provideHover:({textDocument:e,position:t},n)=>i.provideHover(e,t,n)}):s.Disposable.create((()=>{}))},registerDocumentHighlightProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDocumentHighlightProvider?o.registerDocumentHighlightProvider(n,{provideDocumentHighlights:({textDocument:e,position:t},n)=>i.provideDocumentHighlights(e,t,n)}):s.Disposable.create((()=>{}))},registerDocumentSymbolProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDocumentSymbolProvider?o.registerDocumentSymbolProvider(n,{provideDocumentSymbols:({textDocument:e},t)=>i.provideDocumentSymbols(e,t)}):s.Disposable.create((()=>{}))},registerWorkspaceSymbolProvider(t){const{languages:i}=e();if(!i.registerWorkspaceSymbolProvider)return s.Disposable.create((()=>{}));const n=t.resolveWorkspaceSymbol;return i.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:({query:e},i)=>t.provideWorkspaceSymbols(e,i),resolveWorkspaceSymbol:n?(e,t)=>n(e,t):void 0})},registerReferenceProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerReferenceProvider?o.registerReferenceProvider(n,{provideReferences:({textDocument:e,position:t,context:n},o)=>i.provideReferences(e,t,n,o)}):s.Disposable.create((()=>{}))},registerRenameProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerRenameProvider?o.registerRenameProvider(n,{provideRenameEdits:({textDocument:e,position:t,newName:n},o)=>i.provideRenameEdits(e,t,n,o)}):s.Disposable.create((()=>{}))},registerDocumentFormattingEditProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDocumentFormattingEditProvider?o.registerDocumentFormattingEditProvider(n,{provideDocumentFormattingEdits:({textDocument:e,options:t},n)=>i.provideDocumentFormattingEdits(e,t,n)}):s.Disposable.create((()=>{}))},registerDocumentRangeFormattingEditProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerDocumentRangeFormattingEditProvider?o.registerDocumentRangeFormattingEditProvider(n,{provideDocumentRangeFormattingEdits:({textDocument:e,range:t,options:n},o)=>i.provideDocumentRangeFormattingEdits(e,t,n,o)}):s.Disposable.create((()=>{}))},registerOnTypeFormattingEditProvider(t,i,n,...o){const r=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(r))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:a}=e();return a.registerOnTypeFormattingEditProvider?a.registerOnTypeFormattingEditProvider(r,{provideOnTypeFormattingEdits:({textDocument:e,position:t,ch:n,options:o},s)=>i.provideOnTypeFormattingEdits(e,t,n,o,s)},n,...o):s.Disposable.create((()=>{}))},registerSignatureHelpProvider(t,i,n,...o){const r=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(r))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:a}=e();if(!a.registerSignatureHelpProvider)return s.Disposable.create((()=>{}));let c,d;return"string"==typeof n?c=[n,...o]:n&&(c=n.triggerCharacters,d=n.retriggerCharacters),a.registerSignatureHelpProvider(r,{triggerCharacters:c,retriggerCharacters:d,provideSignatureHelp:({textDocument:e,position:t},n,o)=>i.provideSignatureHelp(e,t,n,o)})},registerDocumentLinkProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();if(!o.registerDocumentLinkProvider)return s.Disposable.create((()=>{}));const r=i.resolveDocumentLink;return o.registerDocumentLinkProvider(n,{provideDocumentLinks:({textDocument:e},t)=>i.provideDocumentLinks(e,t),resolveDocumentLink:r?(e,t)=>r(e,t):void 0})},registerColorProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerColorProvider?o.registerColorProvider(n,{provideDocumentColors:({textDocument:e},t)=>i.provideDocumentColors(e,t),provideColorPresentations:({textDocument:e,color:t,range:n},o)=>i.provideColorPresentations(t,{document:e,range:n},o)}):s.Disposable.create((()=>{}))},registerFoldingRangeProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerFoldingRangeProvider?o.registerFoldingRangeProvider(n,{provideFoldingRanges:({textDocument:e},t)=>i.provideFoldingRanges(e,{},t)}):s.Disposable.create((()=>{}))},registerSelectionRangeProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();return o.registerSelectionRangeProvider?o.registerSelectionRangeProvider(n,{provideSelectionRanges:({textDocument:e,positions:t},n)=>i.provideSelectionRanges(e,t,n)}):s.Disposable.create((()=>{}))},registerEvaluatableExpressionProvider:t,registerDocumentSemanticTokensProvider(t,i,n){const o=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(o))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:r}=e();return r.registerDocumentSemanticTokensProvider?r.registerDocumentSemanticTokensProvider(o,{onDidChange:i.onDidChangeSemanticTokens,provideDocumentSemanticTokens:({textDocument:e},t)=>i.provideDocumentSemanticTokens(e,t),provideDocumentSemanticTokensEdits:i.provideDocumentSemanticTokensEdits&&(({textDocument:e,previousResultId:t},n)=>i.provideDocumentSemanticTokensEdits(e,t,n))},n):s.Disposable.create((()=>{}))},registerDocumentRangeSemanticTokensProvider(t,i,n){const o=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(o))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:r}=e();return r.registerDocumentRangeSemanticTokensProvider?r.registerDocumentRangeSemanticTokensProvider(o,{provideDocumentRangeSemanticTokens:({textDocument:e,range:t},n)=>i.provideDocumentRangeSemanticTokens(e,t,n)},n):s.Disposable.create((()=>{}))},registerInlayHintsProvider(t,i){const n=Array.isArray(t)?t:[t];if(!l.DocumentSelector.is(n))throw new Error("unexpected selector: "+JSON.stringify(t));const{languages:o}=e();if(!o.registerInlayHintsProvider)return s.Disposable.create((()=>{}));const r=i.resolveInlayHint;return o.registerInlayHintsProvider(n,{onDidChangeInlayHints:i.onDidChangeInlayHints,provideInlayHints:({textDocument:e,range:t},n)=>i.provideInlayHints(e,t,n),resolveInlayHint:r?(e,t)=>r(e,t):void 0})},registerInlineValuesProvider:t,getLanguages:t,setTextDocumentLanguage:t,getDiagnostics:t,setLanguageConfiguration:t,onDidChangeDiagnostics:t,registerLinkedEditingRangeProvider:t,createLanguageStatusItem:t,registerTypeHierarchyProvider:t};function p(t,i,...n){if("string"!=typeof i)throw new Error("unexpected message: "+JSON.stringify(i));const o=i;if(void 0!==n&&!Array.isArray(n))throw new Error("unexpected actions: "+JSON.stringify(n));const s=n||[],{window:r}=e();return r?r.showMessage(t,o,...s):Promise.resolve(void 0)}const m={showInformationMessage:p.bind(void 0,r.MessageType.Info),showWarningMessage:p.bind(void 0,r.MessageType.Warning),showErrorMessage:p.bind(void 0,r.MessageType.Error),createOutputChannel(i){const{window:n}=e(),o=n?n.createOutputChannel:void 0,s=o?o.bind(n)(i):void 0;return{name:i,append:s?s.append.bind(s):()=>{},appendLine:s?s.appendLine.bind(s):()=>{},clear:t,show:e=>{if(void 0!==e&&"boolean"!=typeof e)throw new Error("unexpected preserveFocus argument: "+JSON.stringify(e,void 0,4));return s?s.show(e):()=>{}},hide:t,replace:t,dispose:s?s.dispose.bind(s):()=>{}}},withProgress:(t,i)=>{const{window:n}=e();return n&&n.withProgress?n.withProgress(t,i):i({report:()=>{}},(new l.CancellationTokenSource).token)},showTextDocument:async(t,i,n)=>{var o;const{window:s}=e();let r;r="number"==typeof i?{viewColumn:i,preserveFocus:n}:i,s&&s.showTextDocument&&await s.showTextDocument(null!==(o=t.uri)&&void 0!==o?o:t,r)},createTextEditorDecorationType:t,showQuickPick:t,showWorkspaceFolderPick:t,showOpenDialog:t,showSaveDialog:t,showInputBox:t,createWebviewPanel:t,setStatusBarMessage:t,withScmProgress:t,createStatusBarItem:t,createTerminal:t,registerTreeDataProvider:t,createTreeView:t,registerWebviewPanelSerializer:t,get activeTextEditor(){return t()},get visibleTextEditors(){return t()},onDidChangeActiveTextEditor:t,onDidChangeVisibleTextEditors:t,onDidChangeTextEditorSelection:t,onDidChangeTextEditorVisibleRanges:t,onDidChangeTextEditorOptions:t,onDidChangeTextEditorViewColumn:t,get terminals(){return t()},get activeTerminal(){return t()},onDidChangeActiveTerminal:t,onDidOpenTerminal:t,onDidCloseTerminal:t,get state(){return t()},onDidChangeWindowState:t,createQuickPick:t,createInputBox:t,registerUriHandler:t,registerWebviewViewProvider:t,registerCustomEditorProvider:t,registerTerminalLinkProvider:t,get activeColorTheme(){return t()},onDidChangeActiveColorTheme:t,registerFileDecorationProvider:t,registerTerminalProfileProvider:t,onDidChangeTerminalState:t,get tabGroups(){return t()}},f={registerCommand(t,i,n){const{commands:o}=e();return o?o.registerCommand(t,i,n):s.Disposable.create((()=>{}))},registerTextEditorCommand:t,executeCommand:t,getCommands:t};class _{constructor(e){this.callOnDispose=e}static from(...e){let t=e;return new _((function(){if(t){for(const e of t)e&&"function"==typeof e.dispose&&e.dispose();t=void 0}}))}dispose(){this.callOnDispose()}}return{workspace:h,languages:g,window:m,commands:f,env:{appName:"Monaco",appRoot:"",language:navigator.language||"en-US",get uriScheme(){return t()},get clipboard(){return t()},get machineId(){return t()},get sessionId(){return t()},remoteName:void 0,shell:"",uiKind:2,asExternalUri:t,openExternal:async t=>{const{env:i}=e();return!(!i||!i.openExternal)&&i.openExternal(t)},get appHost(){return t()},isNewAppInstall:!1,isTelemetryEnabled:!1,onDidChangeTelemetryEnabled:t},Uri:i,CompletionItem:class{constructor(e,t){this.label=e,this.kind=t}},CodeLens:class{constructor(e,t){this.range=e,this.command=t}get isResolved(){return!!this.command}},DocumentLink:class{constructor(e,t){this.range=e,this.target=t}},CodeActionKind:n,CodeAction:class{constructor(e,t){this.title=e,this.kind=t}},Diagnostic:class{constructor(e,t,i=l.DiagnosticSeverity.Error){this.range=e,this.message=t,this.severity=i}},CallHierarchyItem:class{constructor(e,t,i,n,o,s){this.kind=e,this.name=t,this.detail=i,this.uri=n,this.range=o,this.selectionRange=s}},TypeHierarchyItem:class{constructor(e,t,i,n,o,s){this.kind=e,this.name=t,this.detail=i,this.uri=n,this.range=o,this.selectionRange=s}},SemanticTokens:class{constructor(e,t){this.data=e,this.resultId=t}},Disposable:_,SignatureHelpTriggerKind:r.SignatureHelpTriggerKind,DiagnosticSeverity:a.DiagnosticSeverity,EventEmitter:a.Emitter,CancellationTokenSource:l.CancellationTokenSource,ProgressLocation:a.ProgressLocation,TextDocumentChangeReason:d,SymbolInformation:class{constructor(e,t,i,n,o){this.name=e,this.kind=t,this.containerName=o,"string"==typeof i&&(this.containerName=i)}},InlayHint:class{constructor(e,t,i){this.position=e,this.label=t,this.kind=i}},CancellationError:c}}},6804:(e,t,i)=>{"use strict";const n=i(250),o=i(722);e.exports=(0,n.createVSCodeApi)(o.Services.get)},1023:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function i(e,t){for(var i,n="",o=0,s=-1,r=0,a=0;a<=e.length;++a){if(a2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",o=0):o=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),s=a,r=0;continue}}else if(2===n.length||1===n.length){n="",o=0,s=a,r=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(s+1,a):n=e.slice(s+1,a),o=a-s-1;s=a,r=0}else 46===i&&-1!==r?++r:r=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var r;s>=0?r=arguments[s]:(void 0===e&&(e=process.cwd()),r=e),t(r),0!==r.length&&(n=r+"/"+n,o=47===r.charCodeAt(0))}return n=i(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=i(e,!n)).length||n||(e="."),e.length>0&&o&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,i=0;i0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":n.normalize(e)},relative:function(e,i){if(t(e),t(i),e===i)return"";if((e=n.resolve(e))===(i=n.resolve(i)))return"";for(var o=1;oc){if(47===i.charCodeAt(a+h))return i.slice(a+h+1);if(0===h)return i.slice(a+h)}else r>c&&(47===e.charCodeAt(o+h)?d=h:0===h&&(d=0));break}var u=e.charCodeAt(o+h);if(u!==i.charCodeAt(a+h))break;47===u&&(d=h)}var g="";for(h=o+d+1;h<=s;++h)h!==s&&47!==e.charCodeAt(h)||(0===g.length?g+="..":g+="/..");return g.length>0?g+i.slice(a+d):(a+=d,47===i.charCodeAt(a)&&++a,i.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var i=e.charCodeAt(0),n=47===i,o=-1,s=!0,r=e.length-1;r>=1;--r)if(47===(i=e.charCodeAt(r))){if(!s){o=r;break}}else s=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,i){if(void 0!==i&&"string"!=typeof i)throw new TypeError('"ext" argument must be a string');t(e);var n,o=0,s=-1,r=!0;if(void 0!==i&&i.length>0&&i.length<=e.length){if(i.length===e.length&&i===e)return"";var a=i.length-1,l=-1;for(n=e.length-1;n>=0;--n){var c=e.charCodeAt(n);if(47===c){if(!r){o=n+1;break}}else-1===l&&(r=!1,l=n+1),a>=0&&(c===i.charCodeAt(a)?-1==--a&&(s=n):(a=-1,s=l))}return o===s?s=l:-1===s&&(s=e.length),e.slice(o,s)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!r){o=n+1;break}}else-1===s&&(r=!1,s=n+1);return-1===s?"":e.slice(o,s)},extname:function(e){t(e);for(var i=-1,n=0,o=-1,s=!0,r=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===o&&(s=!1,o=a+1),46===l?-1===i?i=a:1!==r&&(r=1):-1!==i&&(r=-1);else if(!s){n=a+1;break}}return-1===i||-1===o||0===r||1===r&&i===o-1&&i===n+1?"":e.slice(i,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var i=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return i?i===t.root?i+n:i+"/"+n:n}(0,e)},parse:function(e){t(e);var i={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return i;var n,o=e.charCodeAt(0),s=47===o;s?(i.root="/",n=1):n=0;for(var r=-1,a=0,l=-1,c=!0,d=e.length-1,h=0;d>=n;--d)if(47!==(o=e.charCodeAt(d)))-1===l&&(c=!1,l=d+1),46===o?-1===r?r=d:1!==h&&(h=1):-1!==r&&(h=-1);else if(!c){a=d+1;break}return-1===r||-1===l||0===h||1===h&&r===l-1&&r===a+1?-1!==l&&(i.base=i.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(i.name=e.slice(1,r),i.base=e.slice(1,l)):(i.name=e.slice(a,r),i.base=e.slice(a,l)),i.ext=e.slice(r,l)),a>0?i.dir=e.slice(0,a-1):s&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},6062:e=>{"use strict";var t=[];function i(e){for(var i=-1,n=0;n{"use strict";var t={};e.exports=function(e,i){var n=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(i)}},1173:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},7892:(e,t,i)=>{"use strict";e.exports=function(e){var t=i.nc;t&&e.setAttribute("nonce",t)}},4036:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(i){!function(e,t,i){var n="";i.supports&&(n+="@supports (".concat(i.supports,") {")),i.media&&(n+="@media ".concat(i.media," {"));var o=void 0!==i.layer;o&&(n+="@layer".concat(i.layer.length>0?" ".concat(i.layer):""," {")),n+=i.css,o&&(n+="}"),i.media&&(n+="}"),i.supports&&(n+="}");var s=i.sourceMap;s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,i)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},2464:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5163:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__assign:()=>s,__asyncDelegator:()=>w,__asyncGenerator:()=>C,__asyncValues:()=>y,__await:()=>b,__awaiter:()=>d,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>N,__classPrivateFieldSet:()=>E,__createBinding:()=>u,__decorate:()=>a,__exportStar:()=>g,__extends:()=>o,__generator:()=>h,__importDefault:()=>D,__importStar:()=>k,__makeTemplateObject:()=>S,__metadata:()=>c,__param:()=>l,__read:()=>m,__rest:()=>r,__spread:()=>f,__spreadArray:()=>v,__spreadArrays:()=>_,__values:()=>p});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var s=function(){return s=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}function l(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}function h(e,t){var i,n,o,s,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!((o=(o=r.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,o,s=i.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)r.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}return r}function f(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(i=o[e](t)).value instanceof b?Promise.resolve(i.value.v).then(l,c):d(s[0][2],i)}catch(e){d(s[0][3],e)}var i}function l(e){a("next",e)}function c(e){a("throw",e)}function d(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function w(e){var t,i;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:o?o(t):t}:o}}function y(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=p(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,o){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,o,(t=e[i](t)).done,t.value)}))}}}function S(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var x=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&u(t,e,i);return x(t,e),t}function D(e){return e&&e.__esModule?e:{default:e}}function L(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}function E(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}},1200:(e,t,i)=>{"use strict";e.exports=i(5953)},5953:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,o)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,i(3632).default.install();const s=i(5247);o(i(5247),t);class r extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=r;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,i,n){return void 0===i&&(i=s.NullLogger),s.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,s.createMessageConnection)(e,t,i,n)}},3632:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(5706),o=i(8437),s=i(5165),r=i(8652);class a extends r.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}),(()=>{(0,n.default)().console.error("Converting blob to array buffer failed.")}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),o.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),o.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),o.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),o.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),o.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),o.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const d=new TextEncoder,h=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(d.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout(e,t,...i){const n=setTimeout(e,t,...i);return{dispose:()=>clearTimeout(n)}},setImmediate(e,...t){const i=setTimeout(e,0,...t);return{dispose:()=>clearTimeout(i)}},setInterval(e,t,...i){const n=setInterval(e,t,...i);return{dispose:()=>clearInterval(n)}}})});function u(){return h}!function(e){e.install=function(){n.default.install(h)}}(u||(u={})),t.default=u},5247:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=void 0;const n=i(9141);Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return n.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return n.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return n.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return n.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return n.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return n.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return n.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return n.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return n.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return n.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return n.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return n.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return n.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return n.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return n.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return n.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return n.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return n.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return n.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return n.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return n.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return n.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return n.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return n.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return n.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return n.ParameterStructures}});const o=i(7040);Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return o.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return o.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return o.Touch}});const s=i(8437);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return s.Disposable}});const r=i(5165);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return r.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return r.Emitter}});const a=i(415);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const l=i(451);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return l.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return l.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return l.ReadableStreamMessageReader}});const c=i(1251);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const d=i(1908);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return d.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return d.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return d.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return d.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return d.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return d.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return d.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return d.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return d.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return d.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return d.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return d.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return d.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return d.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return d.CancellationStrategy}});const h=i(5706);t.RAL=h.default},415:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const n=i(5706),o=i(8811),s=i(5165);var r;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const i=t;return i&&(i===e.None||i===e.Cancelled||o.boolean(i.isCancellationRequested)&&!!i.onCancellationRequested)}}(r=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const i=(0,n.default)().timer.setTimeout(e.bind(t),0);return{dispose(){i.dispose()}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=r.None}}},1908:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const n=i(5706),o=i(8811),s=i(9141),r=i(7040),a=i(5165),l=i(415);var c,d,h,u,g,p,m,f,_,v,b,C,w,y;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.is=function(e){return"string"==typeof e||"number"==typeof e}}(d=t.ProgressToken||(t.ProgressToken={})),function(e){e.type=new s.NotificationType("$/progress")}(h||(h={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return o.func(e)}}(u||(u={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"}(g=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!o.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}}(g=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return o.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(p=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(_=t.ConnectionErrors||(t.ConnectionErrors={}));class S extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,S.prototype)}}t.ConnectionError=S,function(e){e.is=function(e){const t=e;return t&&o.func(t.cancelUndispatched)}}(v=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&o.func(t.createCancellationTokenSource)}}(b=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(c.type,{id:t}),cleanup(e){}}),e.is=function(e){const t=e;return t&&o.func(t.sendCancellation)&&o.func(t.cleanup)}}(C=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:b.Message,sender:C.Message}),e.is=function(e){const t=e;return t&&b.is(t.receiver)&&C.is(t.sender)}}(w=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(w.is(t.cancellationStrategy)||v.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(y||(y={})),t.createMessageConnection=function(e,i,v,b){const C=void 0!==v?v:t.NullLogger;let x=0,k=0,D=0;const L="2.0";let E;const N=new Map;let I;const T=new Map,M=new Map;let R,P,A=new r.LinkedMap,O=new Map,F=new Set,W=new Map,B=g.Off,V=p.Text,H=y.New;const z=new a.Emitter,j=new a.Emitter,q=new a.Emitter,K=new a.Emitter,U=new a.Emitter,$=b&&b.cancellationStrategy?b.cancellationStrategy:w.Message;function Z(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function Y(){return H===y.Listening}function X(){return H===y.Closed}function J(){return H===y.Disposed}function Q(){H!==y.New&&H!==y.Listening||(H=y.Closed,j.fire(void 0))}function ee(){R||0===A.size||(R=(0,n.default)().timer.setImmediate((()=>{R=void 0,function(){if(0===A.size)return;const e=A.shift();try{s.Message.isRequest(e)?function(e){if(J())return;function t(t,n,o){const r={jsonrpc:L,id:e.id};t instanceof s.ResponseError?r.error=t.toJson():r.result=void 0===t?null:t,ne(r,n,o),i.write(r).catch((()=>C.error("Sending response failed.")))}function n(t,n,o){const s={jsonrpc:L,id:e.id,error:t.toJson()};ne(s,n,o),i.write(s).catch((()=>C.error("Sending response failed.")))}!function(e){if(B!==g.Off&&P)if(V===p.Text){let t;B!==g.Verbose&&B!==g.Compact||!e.params||(t=`Params: ${ie(e.params)}\n\n`),P.log(`Received request '${e.method} - (${e.id})'.`,t)}else se("receive-request",e)}(e);const r=N.get(e.method);let a,l;r&&(a=r.type,l=r.handler);const c=Date.now();if(l||E){const r=e.id??String(Date.now()),d=$.receiver.createCancellationTokenSource(r);null!==e.id&&F.has(e.id)&&d.cancel(),null!==e.id&&W.set(r,d);try{let h;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void n(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but received none.`),e.method,c);h=l(d.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void n(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);h=l(...e.params,d.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void n(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);h=l(e.params,d.token)}else E&&(h=E(e.method,e.params,d.token));const u=h;h?u.then?u.then((i=>{W.delete(r),t(i,e.method,c)}),(t=>{W.delete(r),t instanceof s.ResponseError?n(t,e.method,c):t&&o.string(t.message)?n(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):n(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(W.delete(r),t(h,e.method,c)):(W.delete(r),function(t,n,o){void 0===t&&(t=null);const s={jsonrpc:L,id:e.id,result:t};ne(s,n,o),i.write(s).catch((()=>C.error("Sending response failed.")))}(h,e.method,c))}catch(i){W.delete(r),i instanceof s.ResponseError?t(i,e.method,c):i&&o.string(i.message)?n(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${i.message}`),e.method,c):n(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else n(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.Message.isNotification(e)?function(e){if(J())return;let t,i;if(e.method===c.type.method){const t=e.params.id;return F.delete(t),void oe(e)}{const n=T.get(e.method);n&&(i=n.handler,t=n.type)}if(i||I)try{if(oe(e),i)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&C.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),i();else if(Array.isArray(e.params)){const n=e.params;e.method===h.type.method&&2===n.length&&d.is(n[0])?i({token:n[0],value:n[1]}):(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&C.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&C.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${n.length} arguments`)),i(...n))}else void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&C.error(`Notification ${e.method} defines parameters by position but received parameters by name`),i(e.params);else I&&I(e.method,e.params)}catch(t){t.message?C.error(`Notification handler '${e.method}' failed with message: ${t.message}`):C.error(`Notification handler '${e.method}' failed unexpectedly.`)}else q.fire(e)}(e):s.Message.isResponse(e)?function(e){if(!J())if(null===e.id)e.error?C.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):C.error("Received response message without id. No further error information provided.");else{const t=e.id,i=O.get(t);if(function(e,t){if(B!==g.Off&&P)if(V===p.Text){let i;if(B!==g.Verbose&&B!==g.Compact||(e.error&&e.error.data?i=`Error data: ${ie(e.error.data)}\n\n`:e.result?i=`Result: ${ie(e.result)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),t){const n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";P.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,i)}else P.log(`Received response ${e.id} without active response promise.`,i)}else se("receive-response",e)}(e,i),void 0!==i){O.delete(t);try{if(e.error){const t=e.error;i.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");i.resolve(e.result)}}catch(e){e.message?C.error(`Response handler '${i.method}' failed with message: ${e.message}`):C.error(`Response handler '${i.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void C.error("Received empty message.");C.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(o.string(t.id)||o.number(t.id)){const e=t.id,i=O.get(e);i&&i.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{ee()}}()})))}e.onClose(Q),e.onError((function(e){z.fire([e,void 0,void 0])})),i.onClose(Q),i.onError((function(e){z.fire(e)}));const te=e=>{try{if(s.Message.isNotification(e)&&e.method===c.type.method){const t=e.params.id,n=Z(t),o=A.get(n);if(s.Message.isRequest(o)){const s=b?.connectionStrategy,r=s&&s.cancelUndispatched?s.cancelUndispatched(o,G):void 0;if(r&&(void 0!==r.error||void 0!==r.result))return A.delete(n),W.delete(t),r.id=o.id,ne(r,e.method,Date.now()),void i.write(r).catch((()=>C.error("Sending response for canceled message failed.")))}const r=W.get(t);if(void 0!==r)return r.cancel(),void oe(e);F.add(t)}!function(e,t){var i;s.Message.isRequest(t)?e.set(Z(t.id),t):s.Message.isResponse(t)?e.set(null===(i=t.id)?"res-unknown-"+(++D).toString():"res-"+i.toString(),t):e.set("not-"+(++k).toString(),t)}(A,e)}finally{ee()}};function ie(e){if(null!=e)switch(B){case g.Verbose:return JSON.stringify(e,null,4);case g.Compact:return JSON.stringify(e);default:return}}function ne(e,t,i){if(B!==g.Off&&P)if(V===p.Text){let n;B!==g.Verbose&&B!==g.Compact||(e.error&&e.error.data?n=`Error data: ${ie(e.error.data)}\n\n`:e.result?n=`Result: ${ie(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),P.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-i}ms`,n)}else se("send-response",e)}function oe(e){if(B!==g.Off&&P&&e.method!==f.type.method)if(V===p.Text){let t;B!==g.Verbose&&B!==g.Compact||(t=e.params?`Params: ${ie(e.params)}\n\n`:"No parameters provided.\n\n"),P.log(`Received notification '${e.method}'.`,t)}else se("receive-notification",e)}function se(e,t){if(!P||B===g.Off)return;const i={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};P.log(i)}function re(){if(X())throw new S(_.Closed,"Connection is closed.");if(J())throw new S(_.Disposed,"Connection is disposed.")}function ae(e){return void 0===e?null:e}function le(e){return null===e?void 0:e}function ce(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function de(e,t){switch(e){case s.ParameterStructures.auto:return ce(t)?le(t):[ae(t)];case s.ParameterStructures.byName:if(!ce(t))throw new Error("Received parameters by name but param is not an object literal.");return le(t);case s.ParameterStructures.byPosition:return[ae(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function he(e,t){let i;const n=e.numberOfParams;switch(n){case 0:i=void 0;break;case 1:i=de(e.parameterStructures,t[0]);break;default:i=[];for(let e=0;e{let n,r;if(re(),o.string(e)){n=e;const i=t[0];let o=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(i)&&(o=1,a=i);let l=t.length;const c=l-o;switch(c){case 0:r=void 0;break;case 1:r=de(a,t[o]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Received ${c} parameters for 'by Name' notification parameter structure.`);r=t.slice(o,l).map((e=>ae(e)))}}else{const i=t;n=e.method,r=he(e,i)}const a={jsonrpc:L,method:n,params:r};return function(e){if(B!==g.Off&&P)if(V===p.Text){let t;B!==g.Verbose&&B!==g.Compact||(t=e.params?`Params: ${ie(e.params)}\n\n`:"No parameters provided.\n\n"),P.log(`Sending notification '${e.method}'.`,t)}else se("send-notification",e)}(a),i.write(a).catch((()=>C.error("Sending notification failed.")))},onNotification:(e,t)=>{let i;return re(),o.func(e)?I=e:t&&(o.string(e)?(i=e,T.set(e,{type:void 0,handler:t})):(i=e.method,T.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==i?T.delete(i):I=void 0}}},onProgress:(e,t,i)=>{if(M.has(t))throw new Error(`Progress handler for token ${t} already registered`);return M.set(t,i),{dispose:()=>{M.delete(t)}}},sendProgress:(e,t,i)=>ue.sendNotification(h.type,{token:t,value:i}),onUnhandledProgress:K.event,sendRequest:(e,...t)=>{let n,r,a;if(re(),function(){if(!Y())throw new Error("Call listen() first.")}(),o.string(e)){n=e;const i=t[0],o=t[t.length-1];let c=0,d=s.ParameterStructures.auto;s.ParameterStructures.is(i)&&(c=1,d=i);let h=t.length;l.CancellationToken.is(o)&&(h-=1,a=o);const u=h-c;switch(u){case 0:r=void 0;break;case 1:r=de(d,t[c]);break;default:if(d===s.ParameterStructures.byName)throw new Error(`Received ${u} parameters for 'by Name' request parameter structure.`);r=t.slice(c,h).map((e=>ae(e)))}}else{const i=t;n=e.method,r=he(e,i);const o=e.numberOfParams;a=l.CancellationToken.is(i[o])?i[o]:void 0}const c=x++;let d;return a&&(d=a.onCancellationRequested((()=>{const e=$.sender.sendCancellation(ue,c);return void 0===e?(C.log(`Received no promise from cancellation strategy when cancelling id ${c}`),Promise.resolve()):e.catch((()=>{C.log(`Sending cancellation messages for id ${c} failed`)}))}))),new Promise(((e,t)=>{const o={jsonrpc:L,id:c,method:n,params:r};let a={method:n,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),d?.dispose()},reject:e=>{t(e),$.sender.cleanup(c),d?.dispose()}};!function(e){if(B!==g.Off&&P)if(V===p.Text){let t;B!==g.Verbose&&B!==g.Compact||!e.params||(t=`Params: ${ie(e.params)}\n\n`),P.log(`Sending request '${e.method} - (${e.id})'.`,t)}else se("send-request",e)}(o);try{i.write(o).catch((()=>C.error("Sending request failed.")))}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&O.set(c,a)}))},onRequest:(e,t)=>{re();let i=null;return u.is(e)?(i=void 0,E=e):o.string(e)?(i=null,void 0!==t&&(i=e,N.set(e,{handler:t,type:void 0}))):void 0!==t&&(i=e.method,N.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==i&&(void 0!==i?N.delete(i):E=void 0)}}},hasPendingResponse:()=>O.size>0,trace:async(e,t,i)=>{let n=!1,s=p.Text;void 0!==i&&(o.boolean(i)?n=i:(n=i.sendNotification||!1,s=i.traceFormat||p.Text)),B=e,V=s,P=B===g.Off?void 0:t,!n||X()||J()||await ue.sendNotification(m.type,{value:g.toString(e)})},onError:z.event,onClose:j.event,onUnhandledNotification:q.event,onDispose:U.event,end:()=>{i.end()},dispose:()=>{if(J())return;H=y.Disposed,U.fire(void 0);const t=new s.ResponseError(s.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const e of O.values())e.reject(t);O=new Map,W=new Map,F=new Set,A=new r.LinkedMap,o.func(i.dispose)&&i.dispose(),o.func(e.dispose)&&e.dispose()},listen:()=>{re(),function(){if(Y())throw new S(_.AlreadyListening,"Connection is already listening")}(),H=y.Listening,e.listen(te)},inspect:()=>{(0,n.default)().console.log("inspect")}};return ue.onNotification(f.type,(e=>{if(B===g.Off||!P)return;const t=B===g.Verbose||B===g.Compact;P.log(e.message,t?e.verbose:void 0)})),ue.onNotification(h.type,(e=>{const t=M.get(e.token);t?t(e.value):K.fire(e)})),ue}},8437:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},5165:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const n=i(5706);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class o{add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let i=!1;for(let n=0,o=this._callbacks.length;n{this._callbacks||(this._callbacks=new o),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const n={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},8811:(e,t)=>{"use strict";function i(e){return"string"==typeof e||e instanceof String}function n(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=n,t.stringArray=function(e){return n(e)&&e.every((e=>i(e)))}},7040:(e,t)=>{"use strict";var i,n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class o{constructor(){this[i]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let o=this._map.get(e);if(o)o.value=t,i!==n.None&&this.touch(o,i);else{switch(o={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(o);break;case n.First:this.addItemFirst(o);break;case n.Last:default:this.addItemLast(o)}this._map.set(e,o),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this._state;let t=this._head;const i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this._state;let t=this._head;const i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this._state;let t=this._head;const i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return i}[(i=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,i)=>{e.push([i,t])})),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}t.LinkedMap=o,t.LRUCache=class extends o{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},8652:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,i=0,n=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],i=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,i}const t=this.allocNative(e);let i=0;for(;e>0;){const n=this._chunks[0];if(n.byteLength>e){const o=n.slice(0,e);t.set(o,i),i+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,i),i+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}},451:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const n=i(5706),o=i(8811),s=i(5165);var r;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&o.func(t.listen)&&o.func(t.dispose)&&o.func(t.onError)&&o.func(t.onClose)&&o.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${o.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){let t,i;const o=new Map;let s;const r=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(i=e.contentDecoder,o.set(i.name,i)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)o.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(s=e.contentTypeDecoder,r.set(s.name,s)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)r.set(t.name,t)}return void 0===s&&(s=(0,n.default)().applicationJson.decoder,r.set(s.name,s)),{charset:t,contentDecoder:i,contentDecoders:o,contentTypeDecoder:s,contentTypeDecoders:r}}}(r||(r={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const i=parseInt(t);if(isNaN(i))throw new Error("Content-Length value must be a number.");this.nextMessageLength=i}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,n.default)().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},1251:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const n=i(5706),o=i(8811),s=i(2339),r=i(5165);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&o.func(t.dispose)&&o.func(t.onClose)&&o.func(t.onError)&&o.func(t.write)};class l{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,i){this.errorEmitter.fire([this.asError(e),t,i])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${o.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,n.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,n.default)().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const i=[];return i.push("Content-Length: ",t.byteLength.toString(),"\r\n"),i.push("\r\n"),this.doWrite(e,i,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,i){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(i)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9141:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const n=i(8811);var o,s;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3}(o=t.ErrorCodes||(t.ErrorCodes={}));class r extends Error{constructor(e,t,i){super(t),this.code=n.number(e)?e:o.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,r.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}t.ResponseError=r;class a{constructor(e){this.kind=e}static is(e){return e===a.auto||e===a.byName||e===a.byPosition}toString(){return this.kind}}t.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");class l{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}}t.AbstractMessageSignature=l,t.RequestType0=class extends l{constructor(e){super(e,0)}},t.RequestType=class extends l{constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends l{constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends l{constructor(e){super(e,2)}},t.RequestType3=class extends l{constructor(e){super(e,3)}},t.RequestType4=class extends l{constructor(e){super(e,4)}},t.RequestType5=class extends l{constructor(e){super(e,5)}},t.RequestType6=class extends l{constructor(e){super(e,6)}},t.RequestType7=class extends l{constructor(e){super(e,7)}},t.RequestType8=class extends l{constructor(e){super(e,8)}},t.RequestType9=class extends l{constructor(e){super(e,9)}},t.NotificationType=class extends l{constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends l{constructor(e){super(e,0)}},t.NotificationType1=class extends l{constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends l{constructor(e){super(e,2)}},t.NotificationType3=class extends l{constructor(e){super(e,3)}},t.NotificationType4=class extends l{constructor(e){super(e,4)}},t.NotificationType5=class extends l{constructor(e){super(e,5)}},t.NotificationType6=class extends l{constructor(e){super(e,6)}},t.NotificationType7=class extends l{constructor(e){super(e,7)}},t.NotificationType8=class extends l{constructor(e){super(e,8)}},t.NotificationType9=class extends l{constructor(e){super(e,9)}},(s=t.Message||(t.Message={})).isRequest=function(e){const t=e;return t&&n.string(t.method)&&(n.string(t.id)||n.number(t.id))},s.isNotification=function(e){const t=e;return t&&n.string(t.method)&&void 0===e.id},s.isResponse=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(n.string(t.id)||n.number(t.id)||null===t.id)}},5706:(e,t)=>{"use strict";let i;function n(){if(void 0===i)throw new Error("No runtime abstraction layer installed");return i}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");i=e}}(n||(n={})),t.default=n},2339:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const n=i(5706);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,i)=>{this._waiting.push({thunk:e,resolve:t,reject:i}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,n.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5393:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r{constructor(e){this.client=e,this.middleware=e.middleware}prepareCallHierarchy(e,t,i){const n=this.client,s=this.middleware,r=(e,t,i)=>{const s=n.code2ProtocolConverter.asTextDocumentPositionParams(e,t);return n.sendRequest(o.CallHierarchyPrepareRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asCallHierarchyItems(e,i)),(e=>n.handleFailedRequest(o.CallHierarchyPrepareRequest.type,i,e,null)))};return s.prepareCallHierarchy?s.prepareCallHierarchy(e,t,i,r):r(e,t,i)}provideCallHierarchyIncomingCalls(e,t){const i=this.client,n=this.middleware,s=(e,t)=>{const n={item:i.code2ProtocolConverter.asCallHierarchyItem(e)};return i.sendRequest(o.CallHierarchyIncomingCallsRequest.type,n,t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asCallHierarchyIncomingCalls(e,t)),(e=>i.handleFailedRequest(o.CallHierarchyIncomingCallsRequest.type,t,e,null)))};return n.provideCallHierarchyIncomingCalls?n.provideCallHierarchyIncomingCalls(e,t,s):s(e,t)}provideCallHierarchyOutgoingCalls(e,t){const i=this.client,n=this.middleware,s=(e,t)=>{const n={item:i.code2ProtocolConverter.asCallHierarchyItem(e)};return i.sendRequest(o.CallHierarchyOutgoingCallsRequest.type,n,t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asCallHierarchyOutgoingCalls(e,t)),(e=>i.handleFailedRequest(o.CallHierarchyOutgoingCallsRequest.type,t,e,null)))};return n.provideCallHierarchyOutgoingCalls?n.provideCallHierarchyOutgoingCalls(e,t,s):s(e,t)}}class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.CallHierarchyPrepareRequest.type)}fillClientCapabilities(e){const t=e;(0,s.ensure)((0,s.ensure)(t,"textDocument"),"callHierarchy").dynamicRegistration=!0}initialize(e,t){const[i,n]=this.getRegistration(t,e.callHierarchyProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=this._client,i=new r(t);return[n.languages.registerCallHierarchyProvider(this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector),i),i]}}t.CallHierarchyFeature=a},9343:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.BaseLanguageClient=t.MessageTransports=t.SuspendMode=t.State=t.CloseAction=t.ErrorAction=t.RevealOutputChannelOn=void 0;const n=i(6804),o=i(294),s=i(895),r=i(1011),a=i(4652),l=i(899),c=i(2667),d=i(5984),h=i(7482),u=i(7801),g=i(2488),p=i(5122),m=i(7583),f=i(4976),_=i(9259),v=i(5985),b=i(7548),C=i(7853),w=i(253),y=i(1854),S=i(2318),x=i(5973),k=i(5824),D=i(8314),L=i(6991),E=i(1108),N=i(2716),I=i(8029),T=i(3894),M=i(5122),R=i(7567),P=i(7349),A=i(9100),O=i(8357),F=i(6443),W=i(4778),B=i(4585),V=i(5393),H=i(1572),z=i(2925),j=i(4722),q=i(5783),K=i(1973),U=i(4462);var $,Z,G,Y,X,J,Q;!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}($=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(Z=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(G=t.CloseAction||(t.CloseAction={})),function(e){e[e.Stopped=1]="Stopped",e[e.Starting=3]="Starting",e[e.Running=2]="Running"}(Y=t.State||(t.State={})),(Q=t.SuspendMode||(t.SuspendMode={})).off="off",Q.on="on";class ee{constructor(e,t){this.client=e,this.maxRestartCount=t,this.restarts=[]}error(e,t,i){return i&&i<=3?{action:Z.Continue}:{action:Z.Shutdown}}closed(){return this.restarts.push(Date.now()),this.restarts.length<=this.maxRestartCount?{action:G.Restart}:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?{action:G.DoNotRestart,message:`The ${this.client.name} server crashed ${this.maxRestartCount+1} times in the last 3 minutes. The server will not be restarted. See the output for more information.`}:(this.restarts.shift(),{action:G.Restart})}}!function(e){e.Initial="initial",e.Starting="starting",e.StartFailed="startFailed",e.Running="running",e.Stopping="stopping",e.Stopped="stopped"}(X||(X={})),(t.MessageTransports||(t.MessageTransports={})).is=function(e){return e&&o.MessageReader.is(e.reader)&&o.MessageWriter.is(e.writer)};class te{constructor(e,t,i){this._traceFormat=o.TraceFormat.Text,this._diagnosticQueue=new Map,this._diagnosticQueueState={state:"idle"},this._features=[],this._dynamicFeatures=new Map,this.workspaceEditLock=new l.Semaphore(1),this._id=e,this._name=t;const n={isTrusted:!1,supportHtml:!1};void 0!==(i=i||{}).markdown&&(n.isTrusted=!0===i.markdown.isTrusted,n.supportHtml=!0===i.markdown.supportHtml),this._clientOptions={documentSelector:i.documentSelector??[],synchronize:i.synchronize??{},diagnosticCollectionName:i.diagnosticCollectionName,outputChannelName:i.outputChannelName??this._name,revealOutputChannelOn:i.revealOutputChannelOn??$.Error,stdioEncoding:i.stdioEncoding??"utf8",initializationOptions:i.initializationOptions,initializationFailedHandler:i.initializationFailedHandler,progressOnInitialization:!!i.progressOnInitialization,errorHandler:i.errorHandler??this.createDefaultErrorHandler(i.connectionOptions?.maxRestartCount),middleware:i.middleware??{},uriConverters:i.uriConverters,workspaceFolder:i.workspaceFolder,connectionOptions:i.connectionOptions,markdown:n,diagnosticPullOptions:i.diagnosticPullOptions??{onChange:!0,onSave:!1},notebookDocumentOptions:i.notebookDocumentOptions??{}},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this._state=X.Initial,this._ignoredRegistrations=new Set,this._notificationHandlers=new Map,this._pendingNotificationHandlers=new Map,this._notificationDisposables=new Map,this._requestHandlers=new Map,this._pendingRequestHandlers=new Map,this._requestDisposables=new Map,this._progressHandlers=new Map,this._pendingProgressHandlers=new Map,this._progressDisposables=new Map,this._connection=void 0,this._initializeResult=void 0,i.outputChannel?(this._outputChannel=i.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._traceOutputChannel=i.traceOutputChannel,this._diagnostics=void 0,this._fileEvents=[],this._fileEventDelayer=new l.Delayer(250),this._onStop=void 0,this._telemetryEmitter=new o.Emitter,this._stateChangeEmitter=new o.Emitter,this._trace=o.Trace.Off,this._tracer={log:(e,t)=>{a.string(e)?this.logTrace(e,t):this.logObjectTrace(e)}},this._c2p=s.createConverter(i.uriConverters?i.uriConverters.code2Protocol:void 0),this._p2c=r.createConverter(i.uriConverters?i.uriConverters.protocol2Code:void 0,this._clientOptions.markdown.isTrusted,this._clientOptions.markdown.supportHtml),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}get name(){return this._name}get middleware(){return this._clientOptions.middleware??Object.create(null)}get clientOptions(){return this._clientOptions}get protocol2CodeConverter(){return this._p2c}get code2ProtocolConverter(){return this._c2p}get onTelemetry(){return this._telemetryEmitter.event}get onDidChangeState(){return this._stateChangeEmitter.event}get outputChannel(){return this._outputChannel||(this._outputChannel=n.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel}get traceOutputChannel(){return this._traceOutputChannel?this._traceOutputChannel:this.outputChannel}get diagnostics(){return this._diagnostics}get state(){return this.getPublicState()}get $state(){return this._state}set $state(e){let t=this.getPublicState();this._state=e;let i=this.getPublicState();i!==t&&this._stateChangeEmitter.fire({oldState:t,newState:i})}getPublicState(){switch(this.$state){case X.Starting:return Y.Starting;case X.Running:return Y.Running;default:return Y.Stopped}}get initializeResult(){return this._initializeResult}async sendRequest(e,...t){if(this.$state===X.StartFailed||this.$state===X.Stopping||this.$state===X.Stopped)return Promise.reject(new o.ResponseError(o.ErrorCodes.ConnectionInactive,"Client is not running"));try{const i=await this.$start();return this.forceDocumentSync(),i.sendRequest(e,...t)}catch(t){throw this.error(`Sending request ${a.string(e)?e:e.method} failed.`,t),t}}onRequest(e,t){const i="string"==typeof e?e:e.method;this._requestHandlers.set(i,t);const n=this.activeConnection();let o;return void 0!==n?(this._requestDisposables.set(i,n.onRequest(e,t)),o={dispose:()=>{const e=this._requestDisposables.get(i);void 0!==e&&(e.dispose(),this._requestDisposables.delete(i))}}):(this._pendingRequestHandlers.set(i,t),o={dispose:()=>{this._pendingRequestHandlers.delete(i);const e=this._requestDisposables.get(i);void 0!==e&&(e.dispose(),this._requestDisposables.delete(i))}}),{dispose:()=>{this._requestHandlers.delete(i),o.dispose()}}}async sendNotification(e,t){if(this.$state===X.StartFailed||this.$state===X.Stopping||this.$state===X.Stopped)return Promise.reject(new o.ResponseError(o.ErrorCodes.ConnectionInactive,"Client is not running"));try{const i=await this.$start();return this.forceDocumentSync(),i.sendNotification(e,t)}catch(t){throw this.error(`Sending notification ${a.string(e)?e:e.method} failed.`,t),t}}onNotification(e,t){const i="string"==typeof e?e:e.method;this._notificationHandlers.set(i,t);const n=this.activeConnection();let o;return void 0!==n?(this._notificationDisposables.set(i,n.onNotification(e,t)),o={dispose:()=>{const e=this._notificationDisposables.get(i);void 0!==e&&(e.dispose(),this._notificationDisposables.delete(i))}}):(this._pendingNotificationHandlers.set(i,t),o={dispose:()=>{this._pendingNotificationHandlers.delete(i);const e=this._notificationDisposables.get(i);void 0!==e&&(e.dispose(),this._notificationDisposables.delete(i))}}),{dispose:()=>{this._notificationHandlers.delete(i),o.dispose()}}}async sendProgress(e,t,i){try{return(await this.$start()).sendProgress(e,t,i)}catch(e){throw this.error(`Sending progress for token ${t} failed.`,e),e}}onProgress(e,t,i){this._progressHandlers.set(t,{type:e,handler:i});const n=this.activeConnection();let s;const r=this._clientOptions.middleware?.handleWorkDoneProgress,a=o.WorkDoneProgress.is(e)&&void 0!==r?e=>{r(t,e,(()=>i(e)))}:i;return void 0!==n?(this._progressDisposables.set(t,n.onProgress(e,t,a)),s={dispose:()=>{const e=this._progressDisposables.get(t);void 0!==e&&(e.dispose(),this._progressDisposables.delete(t))}}):(this._pendingProgressHandlers.set(t,{type:e,handler:i}),s={dispose:()=>{this._pendingProgressHandlers.delete(t);const e=this._progressDisposables.get(t);void 0!==e&&(e.dispose(),this._progressDisposables.delete(t))}}),{dispose:()=>{this._progressHandlers.delete(t),s.dispose()}}}createDefaultErrorHandler(e){if(void 0!==e&&e<0)throw new Error(`Invalid maxRestartCount: ${e}`);return new ee(this,e??4)}async setTrace(e){this._trace=e;const t=this.activeConnection();void 0!==t&&await t.trace(this._trace,this._tracer,{sendNotification:!1,traceFormat:this._traceFormat})}data2String(e){if(e instanceof o.ResponseError){const t=e;return` Message: ${t.message}\n Code: ${t.code} ${t.data?"\n"+t.data.toString():""}`}return e instanceof Error?a.string(e.stack)?e.stack:e.message:a.string(e)?e:e.toString()}info(e,t,i=!0){this.outputChannel.appendLine(`[Info - ${(new Date).toLocaleTimeString()}] ${e}`),null!=t&&this.outputChannel.appendLine(this.data2String(t)),i&&this._clientOptions.revealOutputChannelOn<=$.Info&&this.showNotificationMessage(o.MessageType.Info,e)}warn(e,t,i=!0){this.outputChannel.appendLine(`[Warn - ${(new Date).toLocaleTimeString()}] ${e}`),null!=t&&this.outputChannel.appendLine(this.data2String(t)),i&&this._clientOptions.revealOutputChannelOn<=$.Warn&&this.showNotificationMessage(o.MessageType.Warning,e)}error(e,t,i=!0){this.outputChannel.appendLine(`[Error - ${(new Date).toLocaleTimeString()}] ${e}`),null!=t&&this.outputChannel.appendLine(this.data2String(t)),("force"===i||i&&this._clientOptions.revealOutputChannelOn<=$.Error)&&this.showNotificationMessage(o.MessageType.Error,e)}showNotificationMessage(e,t){t=t??"A request has failed. See the output for more information.",(e===o.MessageType.Error?n.window.showErrorMessage:e===o.MessageType.Warning?n.window.showWarningMessage:n.window.showInformationMessage)(t,"Go to output").then((e=>{void 0!==e&&this.outputChannel.show(!0)}))}logTrace(e,t){this.traceOutputChannel.appendLine(`[Trace - ${(new Date).toLocaleTimeString()}] ${e}`),t&&this.traceOutputChannel.appendLine(this.data2String(t))}logObjectTrace(e){e.isLSPMessage&&e.type?this.traceOutputChannel.append(`[LSP - ${(new Date).toLocaleTimeString()}] `):this.traceOutputChannel.append(`[Trace - ${(new Date).toLocaleTimeString()}] `),e&&this.traceOutputChannel.appendLine(`${JSON.stringify(e)}`)}needsStart(){return this.$state===X.Initial||this.$state===X.Stopping||this.$state===X.Stopped}needsStop(){return this.$state===X.Starting||this.$state===X.Running}activeConnection(){return this.$state===X.Running&&void 0!==this._connection?this._connection:void 0}isRunning(){return this.$state===X.Running}async start(){if(void 0!==this._onStart)return this._onStart;const[e,t,i]=this.createOnStartPromise();this._onStart=e,void 0!==this._onStop&&(await this._onStop,this._onStop=void 0),void 0===this._diagnostics&&(this._diagnostics=this._clientOptions.diagnosticCollectionName?n.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):n.languages.createDiagnosticCollection());for(const[e,t]of this._notificationHandlers)this._pendingNotificationHandlers.has(e)||this._pendingNotificationHandlers.set(e,t);for(const[e,t]of this._requestHandlers)this._pendingRequestHandlers.has(e)||this._pendingRequestHandlers.set(e,t);for(const[e,t]of this._progressHandlers)this._pendingProgressHandlers.has(e)||this._pendingProgressHandlers.set(e,t);this.$state=X.Starting;try{const e=await this.createConnection();e.onNotification(o.LogMessageNotification.type,(e=>{switch(e.type){case o.MessageType.Error:this.error(e.message,void 0,!1);break;case o.MessageType.Warning:this.warn(e.message,void 0,!1);break;case o.MessageType.Info:this.info(e.message,void 0,!1);break;default:this.outputChannel.appendLine(e.message)}})),e.onNotification(o.ShowMessageNotification.type,(e=>{switch(e.type){case o.MessageType.Error:n.window.showErrorMessage(e.message);break;case o.MessageType.Warning:n.window.showWarningMessage(e.message);break;case o.MessageType.Info:default:n.window.showInformationMessage(e.message)}})),e.onRequest(o.ShowMessageRequest.type,(e=>{let t;switch(e.type){case o.MessageType.Error:t=n.window.showErrorMessage;break;case o.MessageType.Warning:t=n.window.showWarningMessage;break;case o.MessageType.Info:default:t=n.window.showInformationMessage}let i=e.actions||[];return t(e.message,...i)})),e.onNotification(o.TelemetryEventNotification.type,(e=>{this._telemetryEmitter.fire(e)})),e.onRequest(o.ShowDocumentRequest.type,(async e=>{const t=async e=>{const t=this.protocol2CodeConverter.asUri(e.uri);try{if(!0===e.external)return{success:await n.env.openExternal(t)};{const i={};return void 0!==e.selection&&(i.selection=this.protocol2CodeConverter.asRange(e.selection)),void 0===e.takeFocus||!1===e.takeFocus?i.preserveFocus=!0:!0===e.takeFocus&&(i.preserveFocus=!1),await n.window.showTextDocument(t,i),{success:!0}}}catch(e){return{success:!0}}},i=this._clientOptions.middleware.window?.showDocument;return void 0!==i?i(e,t):t(e)})),e.listen(),await this.initialize(e),t()}catch(e){this.$state=X.StartFailed,this.error(`${this._name} client: couldn't create connection to server.`,e,"force"),i(e)}return this._onStart}createOnStartPromise(){let e,t;return[new Promise(((i,n)=>{e=i,t=n})),e,t]}async initialize(e){this.refreshTrace(e,!1);const t=this._clientOptions.initializationOptions,[i,s]=void 0!==this._clientOptions.workspaceFolder?[this._clientOptions.workspaceFolder.uri.fsPath,[{uri:this._c2p.asUri(this._clientOptions.workspaceFolder.uri),name:this._clientOptions.workspaceFolder.name}]]:[this._clientGetRootPath(),null],r={processId:null,clientInfo:{name:n.env.appName,version:n.version},locale:this.getLocale(),rootPath:i||null,rootUri:i?this._c2p.asUri(n.Uri.file(i)):null,capabilities:this.computeClientCapabilities(),initializationOptions:a.func(t)?t():t,trace:o.Trace.toString(this._trace),workspaceFolders:s};if(this.fillInitializeParams(r),!this._clientOptions.progressOnInitialization)return this.doInitialize(e,r);{const t=c.generateUuid(),i=new d.ProgressPart(e,t);r.workDoneToken=t;try{const t=await this.doInitialize(e,r);return i.done(),t}catch(e){throw i.cancel(),e}}}async doInitialize(e,t){try{const i=await e.initialize(t);if(void 0!==i.capabilities.positionEncoding&&i.capabilities.positionEncoding!==o.PositionEncodingKind.UTF16)throw new Error(`Unsupported position encoding (${i.capabilities.positionEncoding}) received from server ${this.name}`);let n;this._initializeResult=i,this.$state=X.Running,a.number(i.capabilities.textDocumentSync)?n=i.capabilities.textDocumentSync===o.TextDocumentSyncKind.None?{openClose:!1,change:o.TextDocumentSyncKind.None,save:void 0}:{openClose:!0,change:i.capabilities.textDocumentSync,save:{includeText:!1}}:void 0!==i.capabilities.textDocumentSync&&null!==i.capabilities.textDocumentSync&&(n=i.capabilities.textDocumentSync),this._capabilities=Object.assign({},i.capabilities,{resolvedTextDocumentSync:n}),e.onNotification(o.PublishDiagnosticsNotification.type,(e=>this.handleDiagnostics(e))),e.onRequest(o.RegistrationRequest.type,(e=>this.handleRegistrationRequest(e))),e.onRequest("client/registerFeature",(e=>this.handleRegistrationRequest(e))),e.onRequest(o.UnregistrationRequest.type,(e=>this.handleUnregistrationRequest(e))),e.onRequest("client/unregisterFeature",(e=>this.handleUnregistrationRequest(e))),e.onRequest(o.ApplyWorkspaceEditRequest.type,(e=>this.handleApplyWorkspaceEdit(e)));for(const[t,i]of this._pendingNotificationHandlers)this._notificationDisposables.set(t,e.onNotification(t,i));this._pendingNotificationHandlers.clear();for(const[t,i]of this._pendingRequestHandlers)this._requestDisposables.set(t,e.onRequest(t,i));this._pendingRequestHandlers.clear();for(const[t,i]of this._pendingProgressHandlers)this._progressDisposables.set(t,e.onProgress(i.type,t,i.handler));return this._pendingProgressHandlers.clear(),await e.sendNotification(o.InitializedNotification.type,{}),this.hookFileEvents(e),this.hookConfigurationChanged(e),this.initializeFeatures(e),i}catch(t){throw this._clientOptions.initializationFailedHandler?this._clientOptions.initializationFailedHandler(t)?this.initialize(e):this.stop():t instanceof o.ResponseError&&t.data&&t.data.retry?n.window.showErrorMessage(t.message,{title:"Retry",id:"retry"}).then((t=>{t&&"retry"===t.id?this.initialize(e):this.stop()})):(t&&t.message&&n.window.showErrorMessage(t.message),this.error("Server initialization failed.",t),this.stop()),t}}_clientGetRootPath(){let e=n.workspace.workspaceFolders;if(!e||0===e.length)return;let t=e[0];return"file"===t.uri.scheme?t.uri.fsPath:void 0}stop(e=2e3){return this.shutdown("stop",e)}suspend(){return this.shutdown("suspend",5e3)}async shutdown(e,t){if(this.$state===X.Stopped||this.$state===X.Initial)return;if(this.$state===X.Stopping&&this._onStop)return this._onStop;const i=await this.$start();this._initializeResult=void 0,this.$state=X.Stopping,this.cleanUp(e);const n=new Promise((e=>{(0,o.RAL)().timer.setTimeout(e,t)})),s=(async e=>(await e.shutdown(),await e.exit(),e))(i);return this._onStop=Promise.race([n,s]).then((e=>{if(void 0===e)throw this.error("Stopping server timed out",void 0,!1),new Error("Stopping the server timed out");e.end(),e.dispose()}),(e=>{throw this.error("Stopping server failed",e,!1),e})).finally((()=>{this.$state=X.Stopped,"stop"===e&&this.cleanUpChannel(),this._onStart=void 0,this._onStop=void 0,this._connection=void 0,this._ignoredRegistrations.clear()}))}cleanUp(e){this._fileEvents=[],this._fileEventDelayer.cancel(),this._syncedDocuments&&this._syncedDocuments.clear();for(const e of Array.from(this._features.entries()).map((e=>e[1])).reverse())e.dispose();"stop"===e&&void 0!==this._diagnostics&&(this._diagnostics.dispose(),this._diagnostics=void 0),void 0!==this._idleInterval&&(this._idleInterval.dispose(),this._idleInterval=void 0)}cleanUpChannel(){void 0!==this._outputChannel&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0)}notifyFileEvent(e){const t=this;async function i(e){return t._fileEvents.push(e),t._fileEventDelayer.trigger((async()=>{const e=await t.$start();t.forceDocumentSync();const i=e.sendNotification(o.DidChangeWatchedFilesNotification.type,{changes:t._fileEvents});return t._fileEvents=[],i}))}const n=this.clientOptions.middleware?.workspace;(n?.didChangeWatchedFile?n.didChangeWatchedFile(e,i):i(e)).catch((e=>{t.error("Notify file events failed.",e)}))}forceDocumentSync(){void 0===this._didChangeTextDocumentFeature&&(this._didChangeTextDocumentFeature=this._dynamicFeatures.get(o.DidChangeTextDocumentNotification.type.method)),this._didChangeTextDocumentFeature.forceDelivery()}handleDiagnostics(e){if(!this._diagnostics)return;const t=e.uri;"busy"===this._diagnosticQueueState.state&&this._diagnosticQueueState.document===t&&this._diagnosticQueueState.tokenSource.cancel(),this._diagnosticQueue.set(e.uri,e.diagnostics),this.triggerDiagnosticQueue()}triggerDiagnosticQueue(){(0,o.RAL)().timer.setImmediate((()=>{this.workDiagnosticQueue()}))}workDiagnosticQueue(){if("busy"===this._diagnosticQueueState.state)return;const e=this._diagnosticQueue.entries().next();if(!0===e.done)return;const[t,i]=e.value;this._diagnosticQueue.delete(t);const o=new n.CancellationTokenSource;this._diagnosticQueueState={state:"busy",document:t,tokenSource:o},this._p2c.asDiagnostics(i,o.token).then((e=>{if(!o.token.isCancellationRequested){const i=this._p2c.asUri(t),n=this.clientOptions.middleware;n.handleDiagnostics?n.handleDiagnostics(i,e,((e,t)=>this.setDiagnostics(e,t))):this.setDiagnostics(i,e)}})).finally((()=>{this._diagnosticQueueState={state:"idle"},this.triggerDiagnosticQueue()}))}setDiagnostics(e,t){this._diagnostics&&this._diagnostics.set(e,t)}async $start(){if(this.$state===X.StartFailed)throw new Error("Previous start failed. Can't restart server.");await this.start();const e=this.activeConnection();if(void 0===e)throw new Error("Starting server failed");return e}async createConnection(){const e=await this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8");return this._connection=function(e,t,i,n,s){let r=-1;const l=new ie,c=(0,o.createProtocolConnection)(e,t,l,s);return c.onError((e=>{i(e[0],e[1],e[2])})),c.onClose(n),{get lastUsed(){return r},resetLastUsed:()=>{r=-1},listen:()=>c.listen(),sendRequest:(e,...t)=>(r=Date.now(),c.sendRequest(e,...t)),onRequest:(e,t)=>c.onRequest(e,t),hasPendingResponse:()=>c.hasPendingResponse(),sendNotification:(e,t)=>(r=Date.now(),c.sendNotification(e,t)),onNotification:(e,t)=>c.onNotification(e,t),onProgress:c.onProgress,sendProgress:c.sendProgress,trace:(e,t,i)=>{const n={sendNotification:!1,traceFormat:o.TraceFormat.Text};return void 0===i?c.trace(e,t,n):(a.boolean(i),c.trace(e,t,i))},initialize:e=>(r=Date.now(),c.sendRequest(o.InitializeRequest.type,e)),shutdown:()=>(r=Date.now(),c.sendRequest(o.ShutdownRequest.type,void 0)),exit:()=>(r=Date.now(),c.sendNotification(o.ExitNotification.type)),end:()=>c.end(),dispose:()=>c.dispose()}}(e.reader,e.writer,((e,t,i)=>{this.handleConnectionError(e,t,i)}),(()=>{this.handleConnectionClosed()}),this._clientOptions.connectionOptions),this._connection}handleConnectionClosed(){if(this.$state===X.Stopped)return;try{void 0!==this._connection&&this._connection.dispose()}catch(e){}let e={action:G.DoNotRestart};if(this.$state!==X.Stopping)try{e=this._clientOptions.errorHandler.closed()}catch(e){}this._connection=void 0,e.action===G.DoNotRestart?(this.error(e.message??"Connection to server got closed. Server will not be restarted.",void 0,"force"),this.cleanUp("stop"),this.$state===X.Starting?this.$state=X.StartFailed:this.$state=X.Stopped,this._onStop=Promise.resolve(),this._onStart=void 0):e.action===G.Restart&&(this.info(e.message??"Connection to server got closed. Server will restart."),this.cleanUp("restart"),this.$state=X.Initial,this._onStop=Promise.resolve(),this._onStart=void 0,this.start().catch((e=>this.error("Restarting server failed",e,"force"))))}handleConnectionError(e,t,i){const n=this._clientOptions.errorHandler.error(e,t,i);n.action===Z.Shutdown&&(this.error(n.message??`Client ${this._name}: connection to server is erroring. Shutting down server.`,void 0,"force"),this.stop().catch((e=>{this.error("Stopping server failed",e,!1)})))}hookConfigurationChanged(e){n.workspace.onDidChangeConfiguration((()=>{this.refreshTrace(e,!0)}))}refreshTrace(e,t=!1){const i=n.workspace.getConfiguration(this._id);let s=o.Trace.Off,r=o.TraceFormat.Text;if(i){const e=i.get("trace.server","off");"string"==typeof e?s=o.Trace.fromString(e):(s=o.Trace.fromString(i.get("trace.server.verbosity","off")),r=o.TraceFormat.fromString(i.get("trace.server.format","text")))}this._trace=s,this._traceFormat=r,e.trace(this._trace,this._tracer,{sendNotification:t,traceFormat:this._traceFormat}).catch((e=>{this.error("Updating trace failed with error",e,!1)}))}hookFileEvents(e){let t,i=this._clientOptions.synchronize.fileEvents;i&&(t=a.array(i)?i:[i],t&&this._dynamicFeatures.get(o.DidChangeWatchedFilesNotification.type.method).registerRaw(c.generateUuid(),t))}registerFeatures(e){for(let t of e)this.registerFeature(t)}registerFeature(e){if(this._features.push(e),h.DynamicFeature.is(e)){const t=e.registrationType;this._dynamicFeatures.set(t.method,e)}}getFeature(e){return this._dynamicFeatures.get(e)}hasDedicatedTextSynchronizationFeature(e){const t=this.getFeature(o.NotebookDocumentSyncRegistrationType.method);return void 0!==t&&t instanceof g.NotebookDocumentSyncFeature&&t.handles(e)}registerBuiltinFeatures(){this.registerFeature(new p.ConfigurationFeature(this)),this.registerFeature(new m.DidOpenTextDocumentFeature(this,this._syncedDocuments)),this.registerFeature(new m.DidChangeTextDocumentFeature(this)),this.registerFeature(new m.WillSaveFeature(this)),this.registerFeature(new m.WillSaveWaitUntilFeature(this)),this.registerFeature(new m.DidSaveTextDocumentFeature(this)),this.registerFeature(new m.DidCloseTextDocumentFeature(this,this._syncedDocuments)),this.registerFeature(new I.FileSystemWatcherFeature(this,(e=>this.notifyFileEvent(e)))),this.registerFeature(new f.CompletionItemFeature(this)),this.registerFeature(new _.HoverFeature(this)),this.registerFeature(new b.SignatureHelpFeature(this)),this.registerFeature(new v.DefinitionFeature(this)),this.registerFeature(new S.ReferencesFeature(this)),this.registerFeature(new C.DocumentHighlightFeature(this)),this.registerFeature(new w.DocumentSymbolFeature(this)),this.registerFeature(new y.WorkspaceSymbolFeature(this)),this.registerFeature(new x.CodeActionFeature(this)),this.registerFeature(new k.CodeLensFeature(this)),this.registerFeature(new D.DocumentFormattingFeature(this)),this.registerFeature(new D.DocumentRangeFormattingFeature(this)),this.registerFeature(new D.DocumentOnTypeFormattingFeature(this)),this.registerFeature(new L.RenameFeature(this)),this.registerFeature(new E.DocumentLinkFeature(this)),this.registerFeature(new N.ExecuteCommandFeature(this)),this.registerFeature(new p.SyncConfigurationFeature(this)),this.registerFeature(new M.ConfigurationFeature(this)),this.registerFeature(new P.TypeDefinitionFeature(this)),this.registerFeature(new R.ImplementationFeature(this)),this.registerFeature(new T.ColorProviderFeature(this)),void 0===this.clientOptions.workspaceFolder&&this.registerFeature(new A.WorkspaceFoldersFeature(this)),this.registerFeature(new O.FoldingRangeFeature(this)),this.registerFeature(new F.DeclarationFeature(this)),this.registerFeature(new W.SelectionRangeFeature(this)),this.registerFeature(new B.ProgressFeature(this)),this.registerFeature(new V.CallHierarchyFeature(this)),this.registerFeature(new H.SemanticTokensFeature(this)),this.registerFeature(new j.LinkedEditingFeature(this)),this.registerFeature(new z.DidCreateFilesFeature(this)),this.registerFeature(new z.DidRenameFilesFeature(this)),this.registerFeature(new z.DidDeleteFilesFeature(this)),this.registerFeature(new z.WillCreateFilesFeature(this)),this.registerFeature(new z.WillRenameFilesFeature(this)),this.registerFeature(new z.WillDeleteFilesFeature(this)),this.registerFeature(new q.TypeHierarchyFeature(this)),this.registerFeature(new K.InlineValueFeature(this)),this.registerFeature(new U.InlayHintsFeature(this)),this.registerFeature(new u.DiagnosticFeature(this)),this.registerFeature(new g.NotebookDocumentSyncFeature(this))}registerProposedFeatures(){this.registerFeatures(J.createAll(this))}fillInitializeParams(e){for(let t of this._features)a.func(t.fillInitializeParams)&&t.fillInitializeParams(e)}computeClientCapabilities(){const e={};(0,h.ensure)(e,"workspace").applyEdit=!0;const t=(0,h.ensure)((0,h.ensure)(e,"workspace"),"workspaceEdit");t.documentChanges=!0,t.resourceOperations=[o.ResourceOperationKind.Create,o.ResourceOperationKind.Rename,o.ResourceOperationKind.Delete],t.failureHandling=o.FailureHandlingKind.TextOnlyTransactional,t.normalizesLineEndings=!0,t.changeAnnotationSupport={groupsOnLabel:!0};const i=(0,h.ensure)((0,h.ensure)(e,"textDocument"),"publishDiagnostics");i.relatedInformation=!0,i.versionSupport=!1,i.tagSupport={valueSet:[o.DiagnosticTag.Unnecessary,o.DiagnosticTag.Deprecated]},i.codeDescriptionSupport=!0,i.dataSupport=!0;const n=(0,h.ensure)(e,"window");(0,h.ensure)(n,"showMessage").messageActionItem={additionalPropertiesSupport:!0},(0,h.ensure)(n,"showDocument").support=!0;const s=(0,h.ensure)(e,"general");s.staleRequestSupport={cancel:!0,retryOnContentModified:Array.from(te.RequestsToCancelOnContentModified)},s.regularExpressions={engine:"ECMAScript",version:"ES2020"},s.markdown={parser:"marked",version:"1.1.0"},s.positionEncodings=["utf-16"],this._clientOptions.markdown.supportHtml&&(s.markdown.allowedTags=["ul","li","p","code","blockquote","ol","h1","h2","h3","h4","h5","h6","hr","em","pre","table","thead","tbody","tr","th","td","div","del","a","strong","br","img","span"]);for(let t of this._features)t.fillClientCapabilities(e);return e}initializeFeatures(e){const t=this._clientOptions.documentSelector;for(const e of this._features)a.func(e.preInitialize)&&e.preInitialize(this._capabilities,t);for(const e of this._features)e.initialize(this._capabilities,t)}async handleRegistrationRequest(e){if(this.isRunning())for(const t of e.registrations){const e=this._dynamicFeatures.get(t.method);if(void 0===e)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Registration failed.`));const i=t.registerOptions??{};i.documentSelector=i.documentSelector??this._clientOptions.documentSelector;const n={id:t.id,registerOptions:i};try{e.register(n)}catch(e){return Promise.reject(e)}}else for(const t of e.registrations)this._ignoredRegistrations.add(t.id)}async handleUnregistrationRequest(e){for(let t of e.unregisterations){if(this._ignoredRegistrations.has(t.id))continue;const e=this._dynamicFeatures.get(t.method);if(!e)return Promise.reject(new Error(`No feature implementation for ${t.method} found. Unregistration failed.`));e.unregister(t.id)}}async handleApplyWorkspaceEdit(e){const t=e.edit,i=await this.workspaceEditLock.lock((()=>this._p2c.asWorkspaceEdit(t))),s=new Map;n.workspace.textDocuments.forEach((e=>s.set(e.uri.toString(),e)));let r=!1;if(t.documentChanges)for(const e of t.documentChanges)if(o.TextDocumentEdit.is(e)&&e.textDocument.version&&e.textDocument.version>=0){const t=s.get(e.textDocument.uri);if(t&&t.version!==e.textDocument.version){r=!0;break}}return r?Promise.resolve({applied:!1}):a.asPromise(n.workspace.applyEdit(i).then((e=>({applied:e}))))}handleFailedRequest(e,t,i,s,r=!0){if(i instanceof o.ResponseError){if(i.code===o.ErrorCodes.PendingResponseRejected||i.code===o.ErrorCodes.ConnectionInactive)return s;if(i.code===o.LSPErrorCodes.RequestCancelled||i.code===o.LSPErrorCodes.ServerCancelled){if(void 0!==t&&t.isCancellationRequested)return s;throw void 0!==i.data?new h.LSPCancellationError(i.data):new n.CancellationError}if(i.code===o.LSPErrorCodes.ContentModified){if(te.RequestsToCancelOnContentModified.has(e.method))throw new n.CancellationError;return s}}throw this.error(`Request ${e.method} failed.`,i,r),i}}t.BaseLanguageClient=te,te.RequestsToCancelOnContentModified=new Set([o.SemanticTokensRequest.method,o.SemanticTokensRangeRequest.method,o.SemanticTokensDeltaRequest.method]);class ie{error(e){(0,o.RAL)().console.error(e)}warn(e){(0,o.RAL)().console.warn(e)}info(e){(0,o.RAL)().console.info(e)}log(e){(0,o.RAL)().console.log(e)}}!function(e){e.createAll=function(e){return[]}}(J=t.ProposedFeatures||(t.ProposedFeatures={}))},5973:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeActionFeature=void 0;const n=i(6804),o=i(294),s=i(2667),r=i(7482);class a extends r.TextDocumentLanguageFeature{constructor(e){super(e,o.CodeActionRequest.type)}fillClientCapabilities(e){const t=(0,r.ensure)((0,r.ensure)(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.isPreferredSupport=!0,t.disabledSupport=!0,t.dataSupport=!0,t.resolveSupport={properties:["edit"]},t.codeActionLiteralSupport={codeActionKind:{valueSet:[o.CodeActionKind.Empty,o.CodeActionKind.QuickFix,o.CodeActionKind.Refactor,o.CodeActionKind.RefactorExtract,o.CodeActionKind.RefactorInline,o.CodeActionKind.RefactorRewrite,o.CodeActionKind.Source,o.CodeActionKind.SourceOrganizeImports]}},t.honorsChangeAnnotations=!1}initialize(e,t){const i=this.getRegistrationOptions(t,e.codeActionProvider);i&&this.register({id:s.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideCodeActions:(e,t,i,n)=>{const s=this._client,r=async(e,t,i,n)=>{const r={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(e),range:s.code2ProtocolConverter.asRange(t),context:await s.code2ProtocolConverter.asCodeActionContext(i,n)};return s.sendRequest(o.CodeActionRequest.type,r,n).then((e=>n.isCancellationRequested||null==e?null:s.protocol2CodeConverter.asCodeActionResult(e,n)),(e=>s.handleFailedRequest(o.CodeActionRequest.type,n,e,null)))},a=s.middleware;return a.provideCodeActions?a.provideCodeActions(e,t,i,n,r):r(e,t,i,n)},resolveCodeAction:e.resolveProvider?(e,t)=>{const i=this._client,n=this._client.middleware,s=async(e,t)=>i.sendRequest(o.CodeActionResolveRequest.type,await i.code2ProtocolConverter.asCodeAction(e,t),t).then((n=>t.isCancellationRequested?e:i.protocol2CodeConverter.asCodeAction(n,t)),(n=>i.handleFailedRequest(o.CodeActionResolveRequest.type,t,n,e)));return n.resolveCodeAction?n.resolveCodeAction(e,t,s):s(e,t)}:void 0};return[n.languages.registerCodeActionsProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i,e.codeActionKinds?{providedCodeActionKinds:this._client.protocol2CodeConverter.asCodeActionKinds(e.codeActionKinds)}:void 0),i]}}t.CodeActionFeature=a},895:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConverter=void 0;const n=i(6804),o=i(294),s=i(4652),r=i(899),a=i(9147),l=i(2817),c=i(8501),d=i(5958),h=i(8171),u=i(777),g=i(9585),p=i(6363),m=i(570);var f;!function(e){e.is=function(e){const t=e;return t&&!!t.inserting&&!!t.replacing}}(f||(f={})),t.createConverter=function(e){const t=e||(e=>e.toString());function i(e){return t(e)}function _(e){return{uri:t(e.uri)}}function v(e){return{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}function b(e){switch(e){case n.TextDocumentSaveReason.Manual:return o.TextDocumentSaveReason.Manual;case n.TextDocumentSaveReason.AfterDelay:return o.TextDocumentSaveReason.AfterDelay;case n.TextDocumentSaveReason.FocusOut:return o.TextDocumentSaveReason.FocusOut}return o.TextDocumentSaveReason.Manual}function C(e){switch(e){case n.CompletionTriggerKind.TriggerCharacter:return o.CompletionTriggerKind.TriggerCharacter;case n.CompletionTriggerKind.TriggerForIncompleteCompletions:return o.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return o.CompletionTriggerKind.Invoked}}function w(e){switch(e){case n.SignatureHelpTriggerKind.Invoke:return o.SignatureHelpTriggerKind.Invoked;case n.SignatureHelpTriggerKind.TriggerCharacter:return o.SignatureHelpTriggerKind.TriggerCharacter;case n.SignatureHelpTriggerKind.ContentChange:return o.SignatureHelpTriggerKind.ContentChange}}function y(e){return{label:e.label}}function S(e){return{label:e.label,parameters:(t=e.parameters,t.map(y))};var t}function x(e){return{line:e.line,character:e.character}}function k(e){return null==e?e:{line:e.line>o.uinteger.MAX_VALUE?o.uinteger.MAX_VALUE:e.line,character:e.character>o.uinteger.MAX_VALUE?o.uinteger.MAX_VALUE:e.character}}function D(e){return null==e?e:{start:k(e.start),end:k(e.end)}}function L(e){return null==e?e:o.Location.create(i(e.uri),D(e.range))}function E(e){switch(e){case n.DiagnosticSeverity.Error:return o.DiagnosticSeverity.Error;case n.DiagnosticSeverity.Warning:return o.DiagnosticSeverity.Warning;case n.DiagnosticSeverity.Information:return o.DiagnosticSeverity.Information;case n.DiagnosticSeverity.Hint:return o.DiagnosticSeverity.Hint}}function N(e){switch(e){case n.DiagnosticTag.Unnecessary:return o.DiagnosticTag.Unnecessary;case n.DiagnosticTag.Deprecated:return o.DiagnosticTag.Deprecated;default:return}}function I(e){return{message:e.message,location:L(e.location)}}function T(e){const t=o.Diagnostic.create(D(e.range),e.message),n=e instanceof h.ProtocolDiagnostic?e:void 0;void 0!==n&&void 0!==n.data&&(t.data=n.data);const r=function(e){if(null!=e)return s.number(e)||s.string(e)?e:{value:e.value,target:i(e.target)}}(e.code);return h.DiagnosticCode.is(r)?void 0!==n&&n.hasDiagnosticCode?t.code=r:(t.code=r.value,t.codeDescription={href:r.target}):t.code=r,s.number(e.severity)&&(t.severity=E(e.severity)),Array.isArray(e.tags)&&(t.tags=function(e){if(!e)return;let t=[];for(let i of e){let e=N(i);void 0!==e&&t.push(e)}return t.length>0?t:void 0}(e.tags)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(I)),e.source&&(t.source=e.source),t}function M(e,t){return null==e?e:r.map(e,T,t)}function R(e){if(e===n.CompletionItemTag.Deprecated)return o.CompletionItemTag.Deprecated}function P(e){return{range:D(e.range),newText:e.newText}}function A(e){return null==e?e:e.map(P)}function O(e){return e<=n.SymbolKind.TypeParameter?e+1:o.SymbolKind.Property}function F(e){return e}function W(e){return e.map(F)}function B(e){let t=o.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}function V(e){const t=o.InlayHintLabelPart.create(e.value);return void 0!==e.location&&(t.location=L(e.location)),void 0!==e.command&&(t.command=B(e.command)),void 0!==e.tooltip&&(t.tooltip=H(e.tooltip)),t}function H(e){return"string"==typeof e?e:{kind:o.MarkupKind.Markdown,value:e.value}}return{asUri:i,asTextDocumentIdentifier:_,asTextDocumentItem:v,asVersionedTextDocumentIdentifier:function(e){return{uri:t(e.uri),version:e.version}},asOpenTextDocumentParams:function(e){return{textDocument:v(e)}},asChangeTextDocumentParams:function(e){if(function(e){let t=e;return!!t.uri&&!!t.version}(e))return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){let t=e;return!!t.document&&!!t.contentChanges}(e)){let i=e.document;return{textDocument:{uri:t(i.uri),version:i.version},contentChanges:e.contentChanges.map((e=>{let t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:_(e)}},asSaveTextDocumentParams:function(e,t=!1){let i={textDocument:_(e)};return t&&(i.text=e.getText()),i},asWillSaveTextDocumentParams:function(e){return{textDocument:_(e.document),reason:b(e.reason)}},asDidCreateFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asDidRenameFilesParams:function(e){return{files:e.files.map((e=>({oldUri:t(e.oldUri),newUri:t(e.newUri)})))}},asDidDeleteFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asWillCreateFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asWillRenameFilesParams:function(e){return{files:e.files.map((e=>({oldUri:t(e.oldUri),newUri:t(e.newUri)})))}},asWillDeleteFilesParams:function(e){return{files:e.files.map((e=>({uri:t(e)})))}},asTextDocumentPositionParams:function(e,t){return{textDocument:_(e),position:x(t)}},asCompletionParams:function(e,t,i){return{textDocument:_(e),position:x(t),context:{triggerKind:C(i.triggerKind),triggerCharacter:i.triggerCharacter}}},asSignatureHelpParams:function(e,t,i){return{textDocument:_(e),position:x(t),context:{isRetrigger:i.isRetrigger,triggerCharacter:i.triggerCharacter,triggerKind:w(i.triggerKind),activeSignatureHelp:(n=i.activeSignatureHelp,void 0===n?n:{signatures:(o=n.signatures,o.map(S)),activeSignature:n.activeSignature,activeParameter:n.activeParameter})}};var n,o},asWorkerPosition:x,asRange:D,asPosition:k,asPositions:function(e,t){return r.map(e,k,t)},asLocation:L,asDiagnosticSeverity:E,asDiagnosticTag:N,asDiagnostic:T,asDiagnostics:M,asCompletionItem:function(e,t=!1){let i,r;s.string(e.label)?i=e.label:(i=e.label.label,!t||void 0===e.label.detail&&void 0===e.label.description||(r={detail:e.label.detail,description:e.label.description}));let l={label:i};void 0!==r&&(l.labelDetails=r);let c=e instanceof a.default?e:void 0;var d,h;e.detail&&(l.detail=e.detail),e.documentation&&(c&&"$string"!==c.documentationFormat?l.documentation=function(e,t){switch(e){case"$string":return t;case o.MarkupKind.PlainText:return{kind:e,value:t};case o.MarkupKind.Markdown:return{kind:e,value:t.value};default:return`Unsupported Markup content received. Kind is: ${e}`}}(c.documentationFormat,e.documentation):l.documentation=e.documentation),e.filterText&&(l.filterText=e.filterText),function(e,t){let i,s,r=o.InsertTextFormat.PlainText;t.textEdit?(i=t.textEdit.newText,s=t.textEdit.range):t.insertText instanceof n.SnippetString?(r=o.InsertTextFormat.Snippet,i=t.insertText.value):i=t.insertText,t.range&&(s=t.range),e.insertTextFormat=r,t.fromEdit&&void 0!==i&&void 0!==s?e.textEdit=function(e,t){return f.is(t)?o.InsertReplaceEdit.create(e,D(t.inserting),D(t.replacing)):{newText:e,range:D(t)}}(i,s):e.insertText=i}(l,e),s.number(e.kind)&&(l.kind=(d=e.kind,void 0!==(h=c&&c.originalItemKind)?h:d+1)),e.sortText&&(l.sortText=e.sortText),e.additionalTextEdits&&(l.additionalTextEdits=A(e.additionalTextEdits)),e.commitCharacters&&(l.commitCharacters=e.commitCharacters.slice()),e.command&&(l.command=B(e.command)),!0!==e.preselect&&!1!==e.preselect||(l.preselect=e.preselect);const u=function(e){if(void 0===e)return e;const t=[];for(let i of e){const e=R(i);void 0!==e&&t.push(e)}return t}(e.tags);if(c){if(void 0!==c.data&&(l.data=c.data),!0===c.deprecated||!1===c.deprecated){if(!0===c.deprecated&&void 0!==u&&u.length>0){const e=u.indexOf(n.CompletionItemTag.Deprecated);-1!==e&&u.splice(e,1)}l.deprecated=c.deprecated}void 0!==c.insertTextMode&&(l.insertTextMode=c.insertTextMode)}return void 0!==u&&u.length>0&&(l.tags=u),void 0===l.insertTextMode&&!0===e.keepWhitespace&&(l.insertTextMode=o.InsertTextMode.adjustIndentation),l},asTextEdit:P,asSymbolKind:O,asSymbolTag:F,asSymbolTags:W,asReferenceParams:function(e,t,i){return{textDocument:_(e),position:x(t),context:{includeDeclaration:i.includeDeclaration}}},asCodeAction:async function(e,t){let i=o.CodeAction.create(e.title);if(e instanceof d.default&&void 0!==e.data&&(i.data=e.data),void 0!==e.kind&&(i.kind=function(e){if(null!=e)return e.value}(e.kind)),void 0!==e.diagnostics&&(i.diagnostics=await M(e.diagnostics,t)),void 0!==e.edit)throw new Error("VS Code code actions can only be converted to a protocol code action without an edit.");return void 0!==e.command&&(i.command=B(e.command)),void 0!==e.isPreferred&&(i.isPreferred=e.isPreferred),void 0!==e.disabled&&(i.disabled={reason:e.disabled.reason}),i},asCodeActionContext:async function(e,t){if(null==e)return e;let i;return e.only&&s.string(e.only.value)&&(i=[e.only.value]),o.CodeActionContext.create(await M(e.diagnostics,t),i,function(e){switch(e){case n.CodeActionTriggerKind.Invoke:return o.CodeActionTriggerKind.Invoked;case n.CodeActionTriggerKind.Automatic:return o.CodeActionTriggerKind.Automatic;default:return}}(e.triggerKind))},asInlineValueContext:function(e){return null==e?e:o.InlineValueContext.create(e.frameId,D(e.stoppedLocation))},asCommand:B,asCodeLens:function(e){let t=o.CodeLens.create(D(e.range));return e.command&&(t.command=B(e.command)),e instanceof l.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e,t){const i={tabSize:e.tabSize,insertSpaces:e.insertSpaces};return t.trimTrailingWhitespace&&(i.trimTrailingWhitespace=!0),t.trimFinalNewlines&&(i.trimFinalNewlines=!0),t.insertFinalNewline&&(i.insertFinalNewline=!0),i},asDocumentSymbolParams:function(e){return{textDocument:_(e)}},asCodeLensParams:function(e){return{textDocument:_(e)}},asDocumentLink:function(e){let t=o.DocumentLink.create(D(e.range));e.target&&(t.target=i(e.target)),void 0!==e.tooltip&&(t.tooltip=e.tooltip);let n=e instanceof c.default?e:void 0;return n&&n.data&&(t.data=n.data),t},asDocumentLinkParams:function(e){return{textDocument:_(e)}},asCallHierarchyItem:function(e){const t={name:e.name,kind:O(e.kind),uri:i(e.uri),range:D(e.range),selectionRange:D(e.selectionRange)};return void 0!==e.detail&&e.detail.length>0&&(t.detail=e.detail),void 0!==e.tags&&(t.tags=W(e.tags)),e instanceof u.default&&void 0!==e.data&&(t.data=e.data),t},asTypeHierarchyItem:function(e){const t={name:e.name,kind:O(e.kind),uri:i(e.uri),range:D(e.range),selectionRange:D(e.selectionRange)};return void 0!==e.detail&&e.detail.length>0&&(t.detail=e.detail),void 0!==e.tags&&(t.tags=W(e.tags)),e instanceof g.default&&void 0!==e.data&&(t.data=e.data),t},asInlayHint:function(e){const t="string"==typeof e.label?e.label:e.label.map(V),i=o.InlayHint.create(k(e.position),t);return void 0!==e.kind&&(i.kind=e.kind),void 0!==e.textEdits&&(i.textEdits=A(e.textEdits)),void 0!==e.tooltip&&(i.tooltip=H(e.tooltip)),void 0!==e.paddingLeft&&(i.paddingLeft=e.paddingLeft),void 0!==e.paddingRight&&(i.paddingRight=e.paddingRight),e instanceof m.default&&void 0!==e.data&&(i.data=e.data),i},asWorkspaceSymbol:function(e){const i=e instanceof p.default?{name:e.name,kind:O(e.kind),location:e.hasRange?L(e.location):{uri:t(e.location.uri)},data:e.data}:{name:e.name,kind:O(e.kind),location:L(e.location)};return void 0!==e.tags&&(i.tags=W(e.tags)),""!==e.containerName&&(i.containerName=e.containerName),i}}}},5824:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeLensFeature=void 0;const n=i(6804),o=i(294),s=i(2667),r=i(7482);class a extends r.TextDocumentLanguageFeature{constructor(e){super(e,o.CodeLensRequest.type)}fillClientCapabilities(e){(0,r.ensure)((0,r.ensure)(e,"textDocument"),"codeLens").dynamicRegistration=!0,(0,r.ensure)((0,r.ensure)(e,"workspace"),"codeLens").refreshSupport=!0}initialize(e,t){this._client.onRequest(o.CodeLensRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeCodeLensEmitter.fire()}));const i=this.getRegistrationOptions(t,e.codeLensProvider);i&&this.register({id:s.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i=new n.EventEmitter,s={onDidChangeCodeLenses:i.event,provideCodeLenses:(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.CodeLensRequest.type,i.code2ProtocolConverter.asCodeLensParams(e),t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asCodeLenses(e,t)),(e=>i.handleFailedRequest(o.CodeLensRequest.type,t,e,null))),s=i.middleware;return s.provideCodeLenses?s.provideCodeLenses(e,t,n):n(e,t)},resolveCodeLens:e.resolveProvider?(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.CodeLensResolveRequest.type,i.code2ProtocolConverter.asCodeLens(e),t).then((n=>t.isCancellationRequested?e:i.protocol2CodeConverter.asCodeLens(n)),(n=>i.handleFailedRequest(o.CodeLensResolveRequest.type,t,n,e))),s=i.middleware;return s.resolveCodeLens?s.resolveCodeLens(e,t,n):n(e,t)}:void 0};return[n.languages.registerCodeLensProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),s),{provider:s,onDidChangeCodeLensEmitter:i}]}}t.CodeLensFeature=a},3894:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorProviderFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentColorRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"colorProvider").dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.colorProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideColorPresentations:(e,t,i)=>{const n=this._client,s=(e,t,i)=>{const s={color:e,textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(t.document),range:n.code2ProtocolConverter.asRange(t.range)};return n.sendRequest(o.ColorPresentationRequest.type,s,i).then((e=>i.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorPresentations(e,i)),(e=>n.handleFailedRequest(o.ColorPresentationRequest.type,i,e,null)))},r=n.middleware;return r.provideColorPresentations?r.provideColorPresentations(e,t,i,s):s(e,t,i)},provideDocumentColors:(e,t)=>{const i=this._client,n=(e,t)=>{const n={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e)};return i.sendRequest(o.DocumentColorRequest.type,n,t).then((e=>t.isCancellationRequested?null:this._client.protocol2CodeConverter.asColorInformations(e,t)),(e=>i.handleFailedRequest(o.DocumentColorRequest.type,t,e,null)))},s=i.middleware;return s.provideDocumentColors?s.provideDocumentColors(e,t,n):n(e,t)}};return[n.languages.registerColorProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.ColorProviderFeature=r},4976:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompletionItemFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667),a=[o.CompletionItemKind.Text,o.CompletionItemKind.Method,o.CompletionItemKind.Function,o.CompletionItemKind.Constructor,o.CompletionItemKind.Field,o.CompletionItemKind.Variable,o.CompletionItemKind.Class,o.CompletionItemKind.Interface,o.CompletionItemKind.Module,o.CompletionItemKind.Property,o.CompletionItemKind.Unit,o.CompletionItemKind.Value,o.CompletionItemKind.Enum,o.CompletionItemKind.Keyword,o.CompletionItemKind.Snippet,o.CompletionItemKind.Color,o.CompletionItemKind.File,o.CompletionItemKind.Reference,o.CompletionItemKind.Folder,o.CompletionItemKind.EnumMember,o.CompletionItemKind.Constant,o.CompletionItemKind.Struct,o.CompletionItemKind.Event,o.CompletionItemKind.Operator,o.CompletionItemKind.TypeParameter];class l extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.CompletionRequest.type),this.labelDetailsSupport=new Map}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[o.MarkupKind.Markdown,o.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0,tagSupport:{valueSet:[o.CompletionItemTag.Deprecated]},insertReplaceSupport:!0,resolveSupport:{properties:["documentation","detail","additionalTextEdits"]},insertTextModeSupport:{valueSet:[o.InsertTextMode.asIs,o.InsertTextMode.adjustIndentation]},labelDetailsSupport:!0},t.insertTextMode=o.InsertTextMode.adjustIndentation,t.completionItemKind={valueSet:a},t.completionList={itemDefaults:["commitCharacters","editRange","insertTextFormat","insertTextMode"]}}initialize(e,t){const i=this.getRegistrationOptions(t,e.completionProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e,t){this.labelDetailsSupport.set(t,!!e.completionItem?.labelDetailsSupport);const i=e.triggerCharacters??[],s=e.allCommitCharacters,r=e.documentSelector,a={provideCompletionItems:(e,t,i,n)=>{const r=this._client,a=this._client.middleware,l=(e,t,i,n)=>r.sendRequest(o.CompletionRequest.type,r.code2ProtocolConverter.asCompletionParams(e,t,i),n).then((e=>n.isCancellationRequested?null:r.protocol2CodeConverter.asCompletionResult(e,s,n)),(e=>r.handleFailedRequest(o.CompletionRequest.type,n,e,null)));return a.provideCompletionItem?a.provideCompletionItem(e,t,n,i,l):l(e,t,n,i)},resolveCompletionItem:e.resolveProvider?(e,i)=>{const n=this._client,s=this._client.middleware,r=(e,i)=>n.sendRequest(o.CompletionResolveRequest.type,n.code2ProtocolConverter.asCompletionItem(e,!!this.labelDetailsSupport.get(t)),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asCompletionItem(e)),(t=>n.handleFailedRequest(o.CompletionResolveRequest.type,i,t,e)));return s.resolveCompletionItem?s.resolveCompletionItem(e,i,r):r(e,i)}:void 0};return[n.languages.registerCompletionItemProvider(this._client.protocol2CodeConverter.asDocumentSelector(r),a,...i),a]}}t.CompletionItemFeature=l},5122:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SyncConfigurationFeature=t.toJSONObject=t.ConfigurationFeature=void 0;const n=i(6804),o=i(294),s=i(4652),r=i(2667),a=i(7482);function l(e){if(e){if(Array.isArray(e))return e.map(l);if("object"==typeof e){const t=Object.create(null);for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=l(e[i]));return t}}return e}t.ConfigurationFeature=class{constructor(e){this._client=e}getState(){return{kind:"static"}}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.configuration=!0}initialize(){let e=this._client;e.onRequest(o.ConfigurationRequest.type,((t,i)=>{let n=e=>{let t=[];for(let i of e.items){let e=void 0!==i.scopeUri&&null!==i.scopeUri?this._client.protocol2CodeConverter.asUri(i.scopeUri):void 0;t.push(this.getConfiguration(e,null!==i.section?i.section:void 0))}return t},o=e.middleware.workspace;return o&&o.configuration?o.configuration(t,i,n):n(t)}))}getConfiguration(e,t){let i=null;if(t){let o=t.lastIndexOf(".");if(-1===o)i=l(n.workspace.getConfiguration(void 0,e).get(t));else{let s=n.workspace.getConfiguration(t.substr(0,o),e);s&&(i=l(s.get(t.substr(o+1))))}}else{let t=n.workspace.getConfiguration(void 0,e);i={};for(let e of Object.keys(t))t.has(e)&&(i[e]=l(t.get(e)))}return void 0===i&&(i=null),i}dispose(){}},t.toJSONObject=l,t.SyncConfigurationFeature=class{constructor(e){this._client=e,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return o.DidChangeConfigurationNotification.type}fillClientCapabilities(e){(0,a.ensure)((0,a.ensure)(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0}initialize(){let e=this._client.clientOptions.synchronize?.configurationSection;void 0!==e&&this.register({id:r.generateUuid(),registerOptions:{section:e}})}register(e){let t=n.workspace.onDidChangeConfiguration((t=>{this.onDidChangeConfiguration(e.registerOptions.section,t)}));this._listeners.set(e.id,t),void 0!==e.registerOptions.section&&this.onDidChangeConfiguration(e.registerOptions.section,void 0)}unregister(e){let t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())}dispose(){for(const e of this._listeners.values())e.dispose();this._listeners.clear()}onDidChangeConfiguration(e,t){let i;if(i=s.string(e)?[e]:e,void 0!==i&&void 0!==t&&!i.some((e=>t.affectsConfiguration(e))))return;const n=async e=>void 0===e?this._client.sendNotification(o.DidChangeConfigurationNotification.type,{settings:null}):this._client.sendNotification(o.DidChangeConfigurationNotification.type,{settings:this.extractSettingsInformation(e)});let r=this._client.middleware.workspace?.didChangeConfiguration;(r?r(i,n):n(i)).catch((e=>{this._client.error(`Sending notification ${o.DidChangeConfigurationNotification.type.method} failed`,e)}))}extractSettingsInformation(e){function t(e,t){let i=e;for(let e=0;e=0?n.workspace.getConfiguration(r.substr(0,a),i).get(r.substr(a+1)):n.workspace.getConfiguration(void 0,i).get(r),c){let i=e[s].split(".");t(o,i)[i[i.length-1]]=l(c)}}return o}}},6443:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DeclarationRequest.type)}fillClientCapabilities(e){const t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"declaration");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){const[i,n]=this.getRegistration(t,e.declarationProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDeclaration:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.DeclarationRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asDeclarationResult(e,i)),(e=>n.handleFailedRequest(o.DeclarationRequest.type,i,e,null))),r=n.middleware;return r.provideDeclaration?r.provideDeclaration(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerDeclarationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.DeclarationFeature=r},5985:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefinitionFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DefinitionRequest.type)}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"definition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.definitionProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDefinition:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.DefinitionRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asDefinitionResult(e,i)),(e=>n.handleFailedRequest(o.DefinitionRequest.type,i,e,null))),r=n.middleware;return r.provideDefinition?r.provideDefinition(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.DefinitionFeature=a},7801:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticFeature=t.DiagnosticPullMode=t.vsdiag=void 0;const n=i(7339),o=i(6804),s=i(294),r=i(2667),a=i(7482);function l(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c,d,h,u;!function(e){let t;!function(e){e.full="full",e.unChanged="unChanged"}(t=e.DocumentDiagnosticReportKind||(e.DocumentDiagnosticReportKind={}))}(c=t.vsdiag||(t.vsdiag={})),function(e){e.onType="onType",e.onSave="onSave"}(d=t.DiagnosticPullMode||(t.DiagnosticPullMode={})),function(e){e.active="open",e.reschedule="reschedule",e.outDated="drop"}(h||(h={}));class g{constructor(){this.open=new Set;const e=()=>{this.open.clear();for(const e of o.window.tabGroups.all)for(const t of e.tabs){const e=t.input;e instanceof o.TabInputText?this.open.add(e.uri.toString()):e instanceof o.TabInputTextDiff&&this.open.add(e.modified.toString())}};e(),void 0!==o.window.tabGroups.onDidChangeTabGroups?this.disposable=o.window.tabGroups.onDidChangeTabGroups(e):this.disposable={dispose:()=>{}}}dispose(){this.disposable.dispose()}isActive(e){return e instanceof o.Uri?o.window.activeTextEditor?.document.uri===e:o.window.activeTextEditor?.document===e}isVisible(e){const t=e instanceof o.Uri?e:e.uri;return this.open.has(t.toString())}getTabResources(){const e=[];for(const t of o.window.tabGroups.all)for(const i of t.tabs){const t=i.input;t instanceof o.TabInputText?e.push(t.uri):t instanceof o.TabInputTextDiff&&e.push(t.modified)}return e}}!function(e){e[e.document=1]="document",e[e.workspace=2]="workspace"}(u||(u={}));class p{constructor(){this.documentPullStates=new Map,this.workspacePullStates=new Map}track(e,t,i){const n=e===u.document?this.documentPullStates:this.workspacePullStates,[s,r,a]=t instanceof o.Uri?[t.toString(),t,i]:[t.uri.toString(),t.uri,t.version];let l=n.get(s);return void 0===l&&(l={document:r,pulledVersion:a,resultId:void 0},n.set(s,l)),l}update(e,t,i,n){const s=e===u.document?this.documentPullStates:this.workspacePullStates,[r,a,l,c]=t instanceof o.Uri?[t.toString(),t,i,n]:[t.uri.toString(),t.uri,t.version,i];let d=s.get(r);void 0===d?(d={document:a,pulledVersion:l,resultId:c},s.set(r,d)):(d.pulledVersion=l,d.resultId=c)}unTrack(e,t){const i=t instanceof o.Uri?t.toString():t.uri.toString();(e===u.document?this.documentPullStates:this.workspacePullStates).delete(i)}tracks(e,t){const i=t instanceof o.Uri?t.toString():t.uri.toString();return(e===u.document?this.documentPullStates:this.workspacePullStates).has(i)}getResultId(e,t){const i=t instanceof o.Uri?t.toString():t.uri.toString();return(e===u.document?this.documentPullStates:this.workspacePullStates).get(i)?.resultId}getAllResultIds(){const e=[];for(let[t,i]of this.workspacePullStates)this.documentPullStates.has(t)&&(i=this.documentPullStates.get(t)),void 0!==i.resultId&&e.push({uri:t,value:i.resultId});return e}}class m{constructor(e,t,i){this.client=e,this.tabs=t,this.options=i,this.isDisposed=!1,this.onDidChangeDiagnosticsEmitter=new o.EventEmitter,this.provider=this.createProvider(),this.diagnostics=o.languages.createDiagnosticCollection(i.identifier),this.openRequests=new Map,this.documentStates=new p,this.workspaceErrorCounter=0}knows(e,t){return this.documentStates.tracks(e,t)}pull(e,t){if(this.isDisposed)return;const i=e instanceof o.Uri?e:e.uri;this.pullAsync(e).then((()=>{t&&t()}),(e=>{this.client.error(`Document pull failed for text document ${i.toString()}`,e,!1)}))}async pullAsync(e,t){if(this.isDisposed)return;const i=e instanceof o.Uri,n=i?e:e.uri,r=n.toString();t=i?t:e.version;const l=this.openRequests.get(r),d=i?this.documentStates.track(u.document,e,t):this.documentStates.track(u.document,e);if(void 0===l){const i=new o.CancellationTokenSource;let l,g;this.openRequests.set(r,{state:h.active,document:e,version:t,tokenSource:i});try{l=await this.provider.provideDiagnostics(e,d.resultId,i.token)??{kind:c.DocumentDiagnosticReportKind.full,items:[]}}catch(t){if(t instanceof a.LSPCancellationError&&s.DiagnosticServerCancellationData.is(t.data)&&!1===t.data.retriggerRequest&&(g={state:h.outDated,document:e}),!(void 0===g&&t instanceof o.CancellationError))throw t;g={state:h.reschedule,document:e}}if(g=g??this.openRequests.get(r),void 0===g)return this.client.error(`Lost request state in diagnostic pull model. Clearing diagnostics for ${r}`),void this.diagnostics.delete(n);if(this.openRequests.delete(r),!this.tabs.isVisible(e))return void this.documentStates.unTrack(u.document,e);if(g.state===h.outDated)return;void 0!==l&&(l.kind===c.DocumentDiagnosticReportKind.full&&this.diagnostics.set(n,l.items),d.pulledVersion=t,d.resultId=l.resultId),g.state===h.reschedule&&this.pull(e)}else l.state===h.active?(l.tokenSource.cancel(),this.openRequests.set(r,{state:h.reschedule,document:l.document})):l.state===h.outDated&&this.openRequests.set(r,{state:h.reschedule,document:l.document})}cleanupPull(e){const t=e instanceof o.Uri?e:e.uri,i=t.toString(),n=this.openRequests.get(i);this.options.workspaceDiagnostics||this.options.interFileDependencies?void 0!==n?this.openRequests.set(i,{state:h.reschedule,document:e}):this.pull(e):(void 0!==n&&(n.state===h.active&&n.tokenSource.cancel(),this.openRequests.set(i,{state:h.outDated,document:e})),this.diagnostics.delete(t))}pullWorkspace(){this.isDisposed||this.pullWorkspaceAsync().then((()=>{this.workspaceTimeout=(0,s.RAL)().timer.setTimeout((()=>{this.pullWorkspace()}),2e3)}),(e=>{e instanceof a.LSPCancellationError||s.DiagnosticServerCancellationData.is(e.data)||(this.client.error("Workspace diagnostic pull failed.",e,!1),this.workspaceErrorCounter++),this.workspaceErrorCounter<=5&&(this.workspaceTimeout=(0,s.RAL)().timer.setTimeout((()=>{this.pullWorkspace()}),2e3))}))}async pullWorkspaceAsync(){if(!this.provider.provideWorkspaceDiagnostics||this.isDisposed)return;void 0!==this.workspaceCancellation&&(this.workspaceCancellation.cancel(),this.workspaceCancellation=void 0),this.workspaceCancellation=new o.CancellationTokenSource;const e=this.documentStates.getAllResultIds().map((e=>({uri:this.client.protocol2CodeConverter.asUri(e.uri),value:e.value})));await this.provider.provideWorkspaceDiagnostics(e,this.workspaceCancellation.token,(e=>{if(e&&!this.isDisposed)for(const t of e.items)t.kind===c.DocumentDiagnosticReportKind.full&&(this.documentStates.tracks(u.document,t.uri)||this.diagnostics.set(t.uri,t.items)),this.documentStates.update(u.workspace,t.uri,t.version??void 0,t.resultId)}))}createProvider(){const e={onDidChangeDiagnostics:this.onDidChangeDiagnosticsEmitter.event,provideDiagnostics:(e,t,i)=>{const n=(e,t,i)=>{const n={identifier:this.options.identifier,textDocument:{uri:this.client.code2ProtocolConverter.asUri(e instanceof o.Uri?e:e.uri)},previousResultId:t};return!0!==this.isDisposed&&this.client.isRunning()?this.client.sendRequest(s.DocumentDiagnosticRequest.type,n,i).then((async e=>null==e||this.isDisposed||i.isCancellationRequested?{kind:c.DocumentDiagnosticReportKind.full,items:[]}:e.kind===s.DocumentDiagnosticReportKind.Full?{kind:c.DocumentDiagnosticReportKind.full,resultId:e.resultId,items:await this.client.protocol2CodeConverter.asDiagnostics(e.items,i)}:{kind:c.DocumentDiagnosticReportKind.unChanged,resultId:e.resultId}),(e=>this.client.handleFailedRequest(s.DocumentDiagnosticRequest.type,i,e,{kind:c.DocumentDiagnosticReportKind.full,items:[]}))):{kind:c.DocumentDiagnosticReportKind.full,items:[]}},r=this.client.middleware;return r.provideDiagnostics?r.provideDiagnostics(e,t,i,n):n(e,t,i)}};return this.options.workspaceDiagnostics&&(e.provideWorkspaceDiagnostics=(e,t,i)=>{const n=async e=>e.kind===s.DocumentDiagnosticReportKind.Full?{kind:c.DocumentDiagnosticReportKind.full,uri:this.client.protocol2CodeConverter.asUri(e.uri),resultId:e.resultId,version:e.version,items:await this.client.protocol2CodeConverter.asDiagnostics(e.items,t)}:{kind:c.DocumentDiagnosticReportKind.unChanged,uri:this.client.protocol2CodeConverter.asUri(e.uri),resultId:e.resultId,version:e.version},o=e=>{const t=[];for(const i of e)t.push({uri:this.client.code2ProtocolConverter.asUri(i.uri),value:i.value});return t},a=(e,t)=>{const a=(0,r.generateUuid)(),l=this.client.onProgress(s.WorkspaceDiagnosticRequest.partialResult,a,(async e=>{if(null==e)return void i(null);const t={items:[]};for(const i of e.items)try{t.items.push(await n(i))}catch(e){this.client.error("Converting workspace diagnostics failed.",e)}i(t)})),c={identifier:this.options.identifier,previousResultIds:o(e),partialResultToken:a};return!0!==this.isDisposed&&this.client.isRunning()?this.client.sendRequest(s.WorkspaceDiagnosticRequest.type,c,t).then((async e=>{if(t.isCancellationRequested)return{items:[]};const o={items:[]};for(const t of e.items)o.items.push(await n(t));return l.dispose(),i(o),{items:[]}}),(e=>(l.dispose(),this.client.handleFailedRequest(s.DocumentDiagnosticRequest.type,t,e,{items:[]})))):{items:[]}},l=this.client.middleware;return l.provideWorkspaceDiagnostics?l.provideWorkspaceDiagnostics(e,t,i,a):a(e,t)}),e}dispose(){this.isDisposed=!0,this.workspaceCancellation?.cancel(),this.workspaceTimeout?.dispose();for(const[e,t]of this.openRequests)t.state===h.active&&t.tokenSource.cancel(),this.openRequests.set(e,{state:h.outDated,document:t.document})}}class f{constructor(e){this.diagnosticRequestor=e,this.documents=new s.LinkedMap,this.isDisposed=!1}add(e){if(!0===this.isDisposed)return;const t=e instanceof o.Uri?e.toString():e.uri.toString();this.documents.has(t)||(this.documents.set(t,e,s.Touch.Last),this.trigger())}remove(e){const t=e instanceof o.Uri?e.toString():e.uri.toString();this.documents.has(t)&&(this.documents.delete(t),this.diagnosticRequestor.pull(e)),0===this.documents.size?this.stop():e===this.endDocument&&(this.endDocument=this.documents.last)}trigger(){!0!==this.isDisposed&&(void 0===this.intervalHandle?(this.endDocument=this.documents.last,this.intervalHandle=(0,s.RAL)().timer.setInterval((()=>{const e=this.documents.first;if(void 0!==e){const t=e instanceof o.Uri?e.toString():e.uri.toString();this.diagnosticRequestor.pull(e),this.documents.set(t,e,s.Touch.Last),e===this.endDocument&&this.stop()}}),200)):this.endDocument=this.documents.last)}dispose(){this.isDisposed=!0,this.stop(),this.documents.clear()}stop(){this.intervalHandle?.dispose(),this.intervalHandle=void 0,this.endDocument=void 0}}class _{constructor(e,t,i){const r=e.clientOptions.diagnosticPullOptions??{onChange:!0,onSave:!1},a=e.protocol2CodeConverter.asDocumentSelector(i.documentSelector),l=[],c=e=>e instanceof o.Uri?(e=>{const t=i.documentSelector;if(void 0!==r.match)return r.match(t,e);for(const i of t)if(s.TextDocumentFilter.is(i)){if("string"==typeof i)return!1;if(void 0!==i.language&&"*"!==i.language)return!1;if(void 0!==i.scheme&&"*"!==i.scheme&&i.scheme!==e.scheme)return!1;if(void 0!==i.pattern){const t=new n.Minimatch(i.pattern,{noext:!0});if(!t.makeRe())return!1;if(!t.match(e.fsPath))return!1}}return!0})(e):o.languages.match(a,e)>0&&t.isVisible(e),h=e=>e instanceof o.Uri?this.activeTextDocument?.uri.toString()===e.toString():this.activeTextDocument===e;this.diagnosticRequestor=new m(e,t,i),this.backgroundScheduler=new f(this.diagnosticRequestor);const g=e=>{c(e)&&i.interFileDependencies&&!h(e)&&this.backgroundScheduler.add(e)};this.activeTextDocument=o.window.activeTextEditor?.document,o.window.onDidChangeActiveTextEditor((e=>{const t=this.activeTextDocument;this.activeTextDocument=e?.document,void 0!==t&&g(t),void 0!==this.activeTextDocument&&this.backgroundScheduler.remove(this.activeTextDocument)}));const p=e.getFeature(s.DidOpenTextDocumentNotification.method);l.push(p.onNotificationSent((e=>{const t=e.original;c(t)&&this.diagnosticRequestor.pull(t,(()=>{g(t)}))})));const _=new Set;for(const e of o.workspace.textDocuments)c(e)&&(this.diagnosticRequestor.pull(e,(()=>{g(e)})),_.add(e.uri.toString()));if(!0===r.onTabs)for(const e of t.getTabResources())!_.has(e.toString())&&c(e)&&this.diagnosticRequestor.pull(e,(()=>{g(e)}));if(!0===r.onChange){const t=e.getFeature(s.DidChangeTextDocumentNotification.method);l.push(t.onNotificationSent((async e=>{const t=e.original.document;(void 0===r.filter||!r.filter(t,d.onType))&&this.diagnosticRequestor.knows(u.document,t)&&e.original.contentChanges.length>0&&this.diagnosticRequestor.pull(t,(()=>{this.backgroundScheduler.trigger()}))})))}if(!0===r.onSave){const t=e.getFeature(s.DidSaveTextDocumentNotification.method);l.push(t.onNotificationSent((e=>{const t=e.original;void 0!==r.filter&&r.filter(t,d.onSave)||!this.diagnosticRequestor.knows(u.document,t)||this.diagnosticRequestor.pull(e.original,(()=>{this.backgroundScheduler.trigger()}))})))}const v=e.getFeature(s.DidCloseTextDocumentNotification.method);l.push(v.onNotificationSent((e=>{const t=e.original;this.diagnosticRequestor.cleanupPull(t),this.backgroundScheduler.remove(t)}))),this.diagnosticRequestor.onDidChangeDiagnosticsEmitter.event((()=>{for(const e of o.workspace.textDocuments)c(e)&&this.diagnosticRequestor.pull(e)})),!0===i.workspaceDiagnostics&&"da348dc5-c30a-4515-9d98-31ff3be38d14"!==i.identifier&&this.diagnosticRequestor.pullWorkspace(),this.disposable=o.Disposable.from(...l,this.backgroundScheduler,this.diagnosticRequestor)}get onDidChangeDiagnosticsEmitter(){return this.diagnosticRequestor.onDidChangeDiagnosticsEmitter}get diagnostics(){return this.diagnosticRequestor.provider}}class v extends a.TextDocumentLanguageFeature{constructor(e){super(e,s.DocumentDiagnosticRequest.type)}fillClientCapabilities(e){let t=l(l(e,"textDocument"),"diagnostic");t.dynamicRegistration=!0,t.relatedDocumentSupport=!1,l(l(e,"workspace"),"diagnostics").refreshSupport=!0}initialize(e,t){this._client.onRequest(s.DiagnosticRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeDiagnosticsEmitter.fire()}));let[i,n]=this.getRegistration(t,e.diagnosticProvider);i&&n&&this.register({id:i,registerOptions:n})}dispose(){void 0!==this.tabs&&(this.tabs.dispose(),this.tabs=void 0),super.dispose()}registerLanguageProvider(e){void 0===this.tabs&&(this.tabs=new g);const t=new _(this._client,this.tabs,e);return[t.disposable,t]}}t.DiagnosticFeature=v},7853:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentHighlightFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentHighlightRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"documentHighlight").dynamicRegistration=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentHighlightProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDocumentHighlights:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.DocumentHighlightRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asDocumentHighlights(e,i)),(e=>n.handleFailedRequest(o.DocumentHighlightRequest.type,i,e,null))),r=n.middleware;return r.provideDocumentHighlights?r.provideDocumentHighlights(e,t,i,s):s(e,t,i)}};return[n.languages.registerDocumentHighlightProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.DocumentHighlightFeature=a},1108:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentLinkRequest.type)}fillClientCapabilities(e){const t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"documentLink");t.dynamicRegistration=!0,t.tooltipSupport=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentLinkProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDocumentLinks:(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.DocumentLinkRequest.type,i.code2ProtocolConverter.asDocumentLinkParams(e),t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asDocumentLinks(e,t)),(e=>i.handleFailedRequest(o.DocumentLinkRequest.type,t,e,null))),s=i.middleware;return s.provideDocumentLinks?s.provideDocumentLinks(e,t,n):n(e,t)},resolveDocumentLink:e.resolveProvider?(e,t)=>{const i=this._client;let n=(e,t)=>i.sendRequest(o.DocumentLinkResolveRequest.type,i.code2ProtocolConverter.asDocumentLink(e),t).then((n=>t.isCancellationRequested?e:i.protocol2CodeConverter.asDocumentLink(n)),(n=>i.handleFailedRequest(o.DocumentLinkResolveRequest.type,t,n,e)));const s=i.middleware;return s.resolveDocumentLink?s.resolveDocumentLink(e,t,n):n(e,t)}:void 0};return[n.languages.registerDocumentLinkProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.DocumentLinkFeature=a},253:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentSymbolFeature=t.SupportedSymbolTags=t.SupportedSymbolKinds=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);t.SupportedSymbolKinds=[o.SymbolKind.File,o.SymbolKind.Module,o.SymbolKind.Namespace,o.SymbolKind.Package,o.SymbolKind.Class,o.SymbolKind.Method,o.SymbolKind.Property,o.SymbolKind.Field,o.SymbolKind.Constructor,o.SymbolKind.Enum,o.SymbolKind.Interface,o.SymbolKind.Function,o.SymbolKind.Variable,o.SymbolKind.Constant,o.SymbolKind.String,o.SymbolKind.Number,o.SymbolKind.Boolean,o.SymbolKind.Array,o.SymbolKind.Object,o.SymbolKind.Key,o.SymbolKind.Null,o.SymbolKind.EnumMember,o.SymbolKind.Struct,o.SymbolKind.Event,o.SymbolKind.Operator,o.SymbolKind.TypeParameter],t.SupportedSymbolTags=[o.SymbolTag.Deprecated];class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentSymbolRequest.type)}fillClientCapabilities(e){let i=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"documentSymbol");i.dynamicRegistration=!0,i.symbolKind={valueSet:t.SupportedSymbolKinds},i.hierarchicalDocumentSymbolSupport=!0,i.tagSupport={valueSet:t.SupportedSymbolTags},i.labelSupport=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentSymbolProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDocumentSymbols:(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.DocumentSymbolRequest.type,i.code2ProtocolConverter.asDocumentSymbolParams(e),t).then((async e=>{if(t.isCancellationRequested||null==e)return null;if(0===e.length)return[];{const n=e[0];return o.DocumentSymbol.is(n)?await i.protocol2CodeConverter.asDocumentSymbols(e,t):await i.protocol2CodeConverter.asSymbolInformations(e,t)}}),(e=>i.handleFailedRequest(o.DocumentSymbolRequest.type,t,e,null))),s=i.middleware;return s.provideDocumentSymbols?s.provideDocumentSymbols(e,t,n):n(e,t)}},s=void 0!==e.label?{label:e.label}:void 0;return[n.languages.registerDocumentSymbolProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i,s),i]}}t.DocumentSymbolFeature=a},2716:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExecuteCommandFeature=void 0;const n=i(6804),o=i(294),s=i(2667),r=i(7482);t.ExecuteCommandFeature=class{constructor(e){this._client=e,this._commands=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._commands.size>0}}get registrationType(){return o.ExecuteCommandRequest.type}fillClientCapabilities(e){(0,r.ensure)((0,r.ensure)(e,"workspace"),"executeCommand").dynamicRegistration=!0}initialize(e){e.executeCommandProvider&&this.register({id:s.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})}register(e){const t=this._client,i=t.middleware,s=(e,i)=>{let n={command:e,arguments:i};return t.sendRequest(o.ExecuteCommandRequest.type,n).then(void 0,(e=>t.handleFailedRequest(o.ExecuteCommandRequest.type,void 0,e,void 0)))};if(e.registerOptions.commands){const t=[];for(const o of e.registerOptions.commands)t.push(n.commands.registerCommand(o,((...e)=>i.executeCommand?i.executeCommand(o,e,s):s(o,e))));this._commands.set(e.id,t)}}unregister(e){let t=this._commands.get(e);t&&t.forEach((e=>e.dispose()))}dispose(){this._commands.forEach((e=>{e.forEach((e=>e.dispose()))})),this._commands.clear()}}},7482:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFeature=t.TextDocumentLanguageFeature=t.TextDocumentEventFeature=t.DynamicDocumentFeature=t.DynamicFeature=t.StaticFeature=t.ensure=t.LSPCancellationError=void 0;const n=i(6804),o=i(294),s=i(4652),r=i(2667);class a extends n.CancellationError{constructor(e){super(),this.data=e}}t.LSPCancellationError=a,t.ensure=function(e,t){return void 0===e[t]&&(e[t]={}),e[t]},(t.StaticFeature||(t.StaticFeature={})).is=function(e){const t=e;return null!=t&&s.func(t.fillClientCapabilities)&&s.func(t.initialize)&&s.func(t.getState)&&s.func(t.dispose)&&(void 0===t.fillInitializeParams||s.func(t.fillInitializeParams))},(t.DynamicFeature||(t.DynamicFeature={})).is=function(e){const t=e;return null!=t&&s.func(t.fillClientCapabilities)&&s.func(t.initialize)&&s.func(t.getState)&&s.func(t.dispose)&&(void 0===t.fillInitializeParams||s.func(t.fillInitializeParams))&&s.func(t.register)&&s.func(t.unregister)&&void 0!==t.registrationType};class l{constructor(e){this._client=e}getState(){const e=this.getDocumentSelectors();let t=0;for(const i of e){t++;for(const e of n.workspace.textDocuments)if(n.languages.match(i,e)>0)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}const i=t>0;return{kind:"document",id:this.registrationType.method,registrations:i,matches:!1}}}t.DynamicDocumentFeature=l,t.TextDocumentEventFeature=class extends l{constructor(e,t,i,o,s,r,a){super(e),this._event=t,this._type=i,this._middleware=o,this._createParams=s,this._textDocument=r,this._selectorFilter=a,this._selectors=new Map,this._onNotificationSent=new n.EventEmitter}static textDocumentFilter(e,t){for(const i of e)if(n.languages.match(i,t)>0)return!0;return!1}getStateInfo(){return[this._selectors.values(),!1]}getDocumentSelectors(){return this._selectors.values()}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=this._event((e=>{this.callback(e).catch((e=>{this._client.error(`Sending document notification ${this._type.method} failed.`,e)}))}))),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}async callback(e){const t=async e=>{const t=this._createParams(e);await this._client.sendNotification(this._type,t).catch(),this.notificationSent(e,this._type,t)};if(this.matches(e)){const i=this._middleware();return i?i(e,(e=>t(e))):t(e)}}matches(e){return!this._client.hasDedicatedTextSynchronizationFeature(this._textDocument(e))&&(!this._selectorFilter||this._selectorFilter(this._selectors.values(),e))}get onNotificationSent(){return this._onNotificationSent.event}notificationSent(e,t,i){this._onNotificationSent.fire({original:e,type:t,params:i})}unregister(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._onNotificationSent.dispose(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getProvider(e){for(const t of this._selectors.values())if(n.languages.match(t,e)>0)return{send:e=>this.callback(e)}}},t.TextDocumentLanguageFeature=class extends l{constructor(e,t){super(e),this._registrationType=t,this._registrations=new Map}*getDocumentSelectors(){for(const e of this._registrations.values()){const t=e.data.registerOptions.documentSelector;null!==t&&(yield this._client.protocol2CodeConverter.asDocumentSelector(t))}}get registrationType(){return this._registrationType}register(e){if(!e.registerOptions.documentSelector)return;let t=this.registerLanguageProvider(e.registerOptions,e.id);this._registrations.set(e.id,{disposable:t[0],data:e,provider:t[1]})}unregister(e){let t=this._registrations.get(e);void 0!==t&&t.disposable.dispose()}dispose(){this._registrations.forEach((e=>{e.disposable.dispose()})),this._registrations.clear()}getRegistration(e,t){if(!t)return[void 0,void 0];if(o.TextDocumentRegistrationOptions.is(t)){const i=o.StaticRegistrationOptions.hasId(t)?t.id:r.generateUuid(),n=t.documentSelector||e;if(n)return[i,Object.assign({},t,{documentSelector:n})]}else if(s.boolean(t)&&!0===t||o.WorkDoneProgressOptions.is(t)){if(!e)return[void 0,void 0];let i=s.boolean(t)&&!0===t?{documentSelector:e}:Object.assign({},t,{documentSelector:e});return[r.generateUuid(),i]}return[void 0,void 0]}getRegistrationOptions(e,t){if(e&&t)return s.boolean(t)&&!0===t?{documentSelector:e}:Object.assign({},t,{documentSelector:e})}getProvider(e){for(const t of this._registrations.values()){let i=t.data.registerOptions.documentSelector;if(null!==i&&n.languages.match(this._client.protocol2CodeConverter.asDocumentSelector(i),e)>0)return t.provider}}getAllProviders(){const e=[];for(const t of this._registrations.values())e.push(t.provider);return e}},t.WorkspaceFeature=class{constructor(e,t){this._client=e,this._registrationType=t,this._registrations=new Map}getState(){const e=this._registrations.size>0;return{kind:"workspace",id:this._registrationType.method,registrations:e}}get registrationType(){return this._registrationType}register(e){const t=this.registerLanguageProvider(e.registerOptions);this._registrations.set(e.id,{disposable:t[0],provider:t[1]})}unregister(e){let t=this._registrations.get(e);void 0!==t&&t.disposable.dispose()}dispose(){this._registrations.forEach((e=>{e.disposable.dispose()})),this._registrations.clear()}getProviders(){const e=[];for(const t of this._registrations.values())e.push(t.provider);return e}}},2925:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesFeature=t.WillRenameFilesFeature=t.WillCreateFilesFeature=t.DidDeleteFilesFeature=t.DidRenameFilesFeature=t.DidCreateFilesFeature=void 0;const n=i(6804),o=i(7339),s=i(294),r=i(2667);function a(e,t){return void 0===e[t]&&(e[t]={}),e[t]}function l(e,t,i){e[t]=i}class c{constructor(e,t,i,n,o){this._client=e,this._event=t,this._registrationType=i,this._clientCapability=n,this._serverCapability=o,this._filters=new Map}getState(){return{kind:"workspace",id:this._registrationType.method,registrations:this._filters.size>0}}filterSize(){return this._filters.size}get registrationType(){return this._registrationType}fillClientCapabilities(e){const t=a(a(e,"workspace"),"fileOperations");l(t,"dynamicRegistration",!0),l(t,this._clientCapability,!0)}initialize(e){const t=e.workspace?.fileOperations,i=void 0!==t?t[this._serverCapability]:void 0;if(void 0!==i?.filters)try{this.register({id:r.generateUuid(),registerOptions:{filters:i.filters}})}catch(e){this._client.warn(`Ignoring invalid glob pattern for ${this._serverCapability} registration: ${e}`)}}register(e){this._listener||(this._listener=this._event(this.send,this));const t=e.registerOptions.filters.map((e=>{const t=new o.Minimatch(e.pattern.glob,c.asMinimatchOptions(e.pattern.options));if(!t.makeRe())throw new Error(`Invalid pattern ${e.pattern.glob}!`);return{scheme:e.scheme,matcher:t,kind:e.pattern.matches}}));this._filters.set(e.id,t)}unregister(e){this._filters.delete(e),0===this._filters.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._filters.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}getFileType(e){return c.getFileType(e)}async filter(e,t){const i=await Promise.all(e.files.map((async e=>{const i=t(e),o=i.fsPath.replace(/\\/g,"/");for(const e of this._filters.values())for(const t of e)if(void 0===t.scheme||t.scheme===i.scheme)if(t.matcher.match(o)){if(void 0===t.kind)return!0;const e=await this.getFileType(i);if(void 0===e)return this._client.error(`Failed to determine file type for ${i.toString()}.`),!0;if(e===n.FileType.File&&t.kind===s.FileOperationPatternKind.file||e===n.FileType.Directory&&t.kind===s.FileOperationPatternKind.folder)return!0}else if(t.kind===s.FileOperationPatternKind.folder&&await c.getFileType(i)===n.FileType.Directory&&t.matcher.match(`${o}/`))return!0;return!1}))),o=e.files.filter(((e,t)=>i[t]));return{...e,files:o}}static async getFileType(e){try{return(await n.workspace.fs.stat(e)).type}catch(e){return}}static asMinimatchOptions(e){if(void 0!==e)return!0===e.ignoreCase?{nocase:!0}:void 0}}class d extends c{constructor(e,t,i,n,o,s,r){super(e,t,i,n,o),this._notificationType=i,this._accessUri=s,this._createParams=r}async send(e){const t=await this.filter(e,this._accessUri);if(t.files.length){const e=async e=>this._client.sendNotification(this._notificationType,this._createParams(e));return this.doSend(t,e)}}}class h extends d{constructor(){super(...arguments),this._fsPathFileTypes=new Map}async getFileType(e){const t=e.fsPath;if(this._fsPathFileTypes.has(t))return this._fsPathFileTypes.get(t);const i=await c.getFileType(e);return i&&this._fsPathFileTypes.set(t,i),i}async cacheFileTypes(e,t){await this.filter(e,t)}clearFileTypeCache(){this._fsPathFileTypes.clear()}unregister(e){super.unregister(e),0===this.filterSize()&&this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}dispose(){super.dispose(),this._willListener&&(this._willListener.dispose(),this._willListener=void 0)}}t.DidCreateFilesFeature=class extends d{constructor(e){super(e,n.workspace.onDidCreateFiles,s.DidCreateFilesNotification.type,"didCreate","didCreate",(e=>e),e.code2ProtocolConverter.asDidCreateFilesParams)}doSend(e,t){const i=this._client.middleware.workspace;return i?.didCreateFiles?i.didCreateFiles(e,t):t(e)}},t.DidRenameFilesFeature=class extends h{constructor(e){super(e,n.workspace.onDidRenameFiles,s.DidRenameFilesNotification.type,"didRename","didRename",(e=>e.oldUri),e.code2ProtocolConverter.asDidRenameFilesParams)}register(e){this._willListener||(this._willListener=n.workspace.onWillRenameFiles(this.willRename,this)),super.register(e)}willRename(e){e.waitUntil(this.cacheFileTypes(e,(e=>e.oldUri)))}doSend(e,t){this.clearFileTypeCache();const i=this._client.middleware.workspace;return i?.didRenameFiles?i.didRenameFiles(e,t):t(e)}},t.DidDeleteFilesFeature=class extends h{constructor(e){super(e,n.workspace.onDidDeleteFiles,s.DidDeleteFilesNotification.type,"didDelete","didDelete",(e=>e),e.code2ProtocolConverter.asDidDeleteFilesParams)}register(e){this._willListener||(this._willListener=n.workspace.onWillDeleteFiles(this.willDelete,this)),super.register(e)}willDelete(e){e.waitUntil(this.cacheFileTypes(e,(e=>e)))}doSend(e,t){this.clearFileTypeCache();const i=this._client.middleware.workspace;return i?.didDeleteFiles?i.didDeleteFiles(e,t):t(e)}};class u extends c{constructor(e,t,i,n,o,s,r){super(e,t,i,n,o),this._requestType=i,this._accessUri=s,this._createParams=r}async send(e){const t=this.waitUntil(e);e.waitUntil(t)}async waitUntil(e){const t=await this.filter(e,this._accessUri);if(t.files.length){const e=e=>this._client.sendRequest(this._requestType,this._createParams(e),e.token).then(this._client.protocol2CodeConverter.asWorkspaceEdit);return this.doSend(t,e)}}}t.WillCreateFilesFeature=class extends u{constructor(e){super(e,n.workspace.onWillCreateFiles,s.WillCreateFilesRequest.type,"willCreate","willCreate",(e=>e),e.code2ProtocolConverter.asWillCreateFilesParams)}doSend(e,t){const i=this._client.middleware.workspace;return i?.willCreateFiles?i.willCreateFiles(e,t):t(e)}},t.WillRenameFilesFeature=class extends u{constructor(e){super(e,n.workspace.onWillRenameFiles,s.WillRenameFilesRequest.type,"willRename","willRename",(e=>e.oldUri),e.code2ProtocolConverter.asWillRenameFilesParams)}doSend(e,t){const i=this._client.middleware.workspace;return i?.willRenameFiles?i.willRenameFiles(e,t):t(e)}},t.WillDeleteFilesFeature=class extends u{constructor(e){super(e,n.workspace.onWillDeleteFiles,s.WillDeleteFilesRequest.type,"willDelete","willDelete",(e=>e),e.code2ProtocolConverter.asWillDeleteFilesParams)}doSend(e,t){const i=this._client.middleware.workspace;return i?.willDeleteFiles?i.willDeleteFiles(e,t):t(e)}}},8029:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemWatcherFeature=void 0;const n=i(6804),o=i(294),s=i(7482);t.FileSystemWatcherFeature=class{constructor(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._watchers.size>0}}get registrationType(){return o.DidChangeWatchedFilesNotification.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0,(0,s.ensure)((0,s.ensure)(e,"workspace"),"didChangeWatchedFiles").relativePatternSupport=!0}initialize(e,t){}register(e){if(!Array.isArray(e.registerOptions.watchers))return;const t=[];for(const i of e.registerOptions.watchers){const e=this._client.protocol2CodeConverter.asGlobPattern(i.globPattern);if(void 0===e)continue;let s=!0,r=!0,a=!0;void 0!==i.kind&&null!==i.kind&&(s=0!=(i.kind&o.WatchKind.Create),r=0!=(i.kind&o.WatchKind.Change),a=0!=(i.kind&o.WatchKind.Delete));const l=n.workspace.createFileSystemWatcher(e,!s,!r,!a);this.hookListeners(l,s,r,a,t),t.push(l)}this._watchers.set(e.id,t)}registerRaw(e,t){let i=[];for(let e of t)this.hookListeners(e,!0,!0,!0,i);this._watchers.set(e,i)}hookListeners(e,t,i,n,s){t&&e.onDidCreate((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:o.FileChangeType.Created})),null,s),i&&e.onDidChange((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:o.FileChangeType.Changed})),null,s),n&&e.onDidDelete((e=>this._notifyFileEvent({uri:this._client.code2ProtocolConverter.asUri(e),type:o.FileChangeType.Deleted})),null,s)}unregister(e){let t=this._watchers.get(e);if(t)for(let e of t)e.dispose()}dispose(){this._watchers.forEach((e=>{for(let t of e)t.dispose()})),this._watchers.clear()}}},8357:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.FoldingRangeRequest.type)}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0,t.foldingRangeKind={valueSet:[o.FoldingRangeKind.Comment,o.FoldingRangeKind.Imports,o.FoldingRangeKind.Region]},t.foldingRange={collapsedText:!1}}initialize(e,t){let[i,n]=this.getRegistration(t,e.foldingRangeProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideFoldingRanges:(e,t,i)=>{const n=this._client,s=(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e)};return n.sendRequest(o.FoldingRangeRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asFoldingRanges(e,i)),(e=>n.handleFailedRequest(o.FoldingRangeRequest.type,i,e,null)))},r=n.middleware;return r.provideFoldingRanges?r.provideFoldingRanges(e,t,i,s):s(e,0,i)}};return[n.languages.registerFoldingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.FoldingRangeFeature=r},8314:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentOnTypeFormattingFeature=t.DocumentRangeFormattingFeature=t.DocumentFormattingFeature=void 0;const n=i(6804),o=i(294),s=i(2667),r=i(7482);var a;!function(e){e.fromConfiguration=function(e){const t=n.workspace.getConfiguration("files",e);return{trimTrailingWhitespace:t.get("trimTrailingWhitespace"),trimFinalNewlines:t.get("trimFinalNewlines"),insertFinalNewline:t.get("insertFinalNewline")}}}(a||(a={}));class l extends r.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentFormattingRequest.type)}fillClientCapabilities(e){(0,r.ensure)((0,r.ensure)(e,"textDocument"),"formatting").dynamicRegistration=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentFormattingProvider);i&&this.register({id:s.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDocumentFormattingEdits:(e,t,i)=>{const n=this._client,s=(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),options:n.code2ProtocolConverter.asFormattingOptions(t,a.fromConfiguration(e))};return n.sendRequest(o.DocumentFormattingRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asTextEdits(e,i)),(e=>n.handleFailedRequest(o.DocumentFormattingRequest.type,i,e,null)))},r=n.middleware;return r.provideDocumentFormattingEdits?r.provideDocumentFormattingEdits(e,t,i,s):s(e,t,i)}};return[n.languages.registerDocumentFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.DocumentFormattingFeature=l;class c extends r.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentRangeFormattingRequest.type)}fillClientCapabilities(e){(0,r.ensure)((0,r.ensure)(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentRangeFormattingProvider);i&&this.register({id:s.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideDocumentRangeFormattingEdits:(e,t,i,n)=>{const s=this._client,r=(e,t,i,n)=>{const r={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(e),range:s.code2ProtocolConverter.asRange(t),options:s.code2ProtocolConverter.asFormattingOptions(i,a.fromConfiguration(e))};return s.sendRequest(o.DocumentRangeFormattingRequest.type,r,n).then((e=>n.isCancellationRequested?null:s.protocol2CodeConverter.asTextEdits(e,n)),(e=>s.handleFailedRequest(o.DocumentRangeFormattingRequest.type,n,e,null)))},l=s.middleware;return l.provideDocumentRangeFormattingEdits?l.provideDocumentRangeFormattingEdits(e,t,i,n,r):r(e,t,i,n)}};return[n.languages.registerDocumentRangeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i),i]}}t.DocumentRangeFormattingFeature=c;class d extends r.TextDocumentLanguageFeature{constructor(e){super(e,o.DocumentOnTypeFormattingRequest.type)}fillClientCapabilities(e){(0,r.ensure)((0,r.ensure)(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.documentOnTypeFormattingProvider);i&&this.register({id:s.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideOnTypeFormattingEdits:(e,t,i,n,s)=>{const r=this._client,l=(e,t,i,n,s)=>{let l={textDocument:r.code2ProtocolConverter.asTextDocumentIdentifier(e),position:r.code2ProtocolConverter.asPosition(t),ch:i,options:r.code2ProtocolConverter.asFormattingOptions(n,a.fromConfiguration(e))};return r.sendRequest(o.DocumentOnTypeFormattingRequest.type,l,s).then((e=>s.isCancellationRequested?null:r.protocol2CodeConverter.asTextEdits(e,s)),(e=>r.handleFailedRequest(o.DocumentOnTypeFormattingRequest.type,s,e,null)))},c=r.middleware;return c.provideOnTypeFormattingEdits?c.provideOnTypeFormattingEdits(e,t,i,n,s,l):l(e,t,i,n,s)}},s=e.moreTriggerCharacter||[];return[n.languages.registerOnTypeFormattingEditProvider(this._client.protocol2CodeConverter.asDocumentSelector(t),i,e.firstTriggerCharacter,...s),i]}}t.DocumentOnTypeFormattingFeature=d},9259:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HoverFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.HoverRequest.type)}fillClientCapabilities(e){const t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[o.MarkupKind.Markdown,o.MarkupKind.PlainText]}initialize(e,t){const i=this.getRegistrationOptions(t,e.hoverProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideHover:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.HoverRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asHover(e)),(e=>n.handleFailedRequest(o.HoverRequest.type,i,e,null))),r=n.middleware;return r.provideHover?r.provideHover(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerHoverProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.HoverFeature=a},7567:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.ImplementationRequest.type)}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"implementation");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.implementationProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideImplementation:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.ImplementationRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asDefinitionResult(e,i)),(e=>n.handleFailedRequest(o.ImplementationRequest.type,i,e,null))),r=n.middleware;return r.provideImplementation?r.provideImplementation(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerImplementationProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.ImplementationFeature=r},4462:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintsFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.InlayHintRequest.type)}fillClientCapabilities(e){const t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"inlayHint");t.dynamicRegistration=!0,t.resolveSupport={properties:["tooltip","textEdits","label.tooltip","label.location","label.command"]},(0,s.ensure)((0,s.ensure)(e,"workspace"),"inlayHint").refreshSupport=!0}initialize(e,t){this._client.onRequest(o.InlayHintRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeInlayHints.fire()}));const[i,n]=this.getRegistration(t,e.inlayHintProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i=new n.EventEmitter,s={onDidChangeInlayHints:i.event,provideInlayHints:(e,t,i)=>{const n=this._client,s=async(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),range:n.code2ProtocolConverter.asRange(t)};try{const e=await n.sendRequest(o.InlayHintRequest.type,s,i);return i.isCancellationRequested?null:n.protocol2CodeConverter.asInlayHints(e,i)}catch(e){return n.handleFailedRequest(o.InlayHintRequest.type,i,e,null)}},r=n.middleware;return r.provideInlayHints?r.provideInlayHints(e,t,i,s):s(e,t,i)}};return s.resolveInlayHint=!0===e.resolveProvider?(e,t)=>{const i=this._client,n=async(e,t)=>{try{const n=await i.sendRequest(o.InlayHintResolveRequest.type,i.code2ProtocolConverter.asInlayHint(e),t);if(t.isCancellationRequested)return null;const s=i.protocol2CodeConverter.asInlayHint(n,t);return t.isCancellationRequested?null:s}catch(e){return i.handleFailedRequest(o.InlayHintResolveRequest.type,t,e,null)}},s=i.middleware;return s.resolveInlayHint?s.resolveInlayHint(e,t,n):n(e,t)}:void 0,[this.registerProvider(t,s),{provider:s,onDidChangeInlayHints:i}]}registerProvider(e,t){return n.languages.registerInlayHintsProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.InlayHintsFeature=r},1973:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.InlineValueRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"inlineValue").dynamicRegistration=!0,(0,s.ensure)((0,s.ensure)(e,"workspace"),"inlineValue").refreshSupport=!0}initialize(e,t){this._client.onRequest(o.InlineValueRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeInlineValues.fire()}));const[i,n]=this.getRegistration(t,e.inlineValueProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i=new n.EventEmitter,s={onDidChangeInlineValues:i.event,provideInlineValues:(e,t,i,n)=>{const s=this._client,r=(e,t,i,n)=>{const r={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(e),range:s.code2ProtocolConverter.asRange(t),context:s.code2ProtocolConverter.asInlineValueContext(i)};return s.sendRequest(o.InlineValueRequest.type,r,n).then((e=>n.isCancellationRequested?null:s.protocol2CodeConverter.asInlineValues(e,n)),(e=>s.handleFailedRequest(o.InlineValueRequest.type,n,e,null)))},a=s.middleware;return a.provideInlineValues?a.provideInlineValues(e,t,i,n,r):r(e,t,i,n)}};return[this.registerProvider(t,s),{provider:s,onDidChangeInlineValues:i}]}registerProvider(e,t){return n.languages.registerInlineValuesProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.InlineValueFeature=r},4722:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.LinkedEditingRangeRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"linkedEditingRange").dynamicRegistration=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.linkedEditingRangeProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideLinkedEditingRanges:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.LinkedEditingRangeRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asLinkedEditingRanges(e,i)),(e=>n.handleFailedRequest(o.LinkedEditingRangeRequest.type,i,e,null))),r=n.middleware;return r.provideLinkedEditingRange?r.provideLinkedEditingRange(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerLinkedEditingRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.LinkedEditingFeature=r},2488:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotebookDocumentSyncFeature=void 0;const n=i(6804),o=i(7339),s=i(294),r=i(2667),a=i(4652);function l(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c,d,h,u,g;!function(e){let t;!function(t){function i(e,t){return e.map((e=>r(e,t)))}function o(e){return l(new Set,e)}function r(e,t){const i=s.NotebookCell.create(function(e){switch(e){case n.NotebookCellKind.Markup:return s.NotebookCellKind.Markup;case n.NotebookCellKind.Code:return s.NotebookCellKind.Code}}(e.kind),t.asUri(e.document.uri));return Object.keys(e.metadata).length>0&&(i.metadata=o(e.metadata)),void 0!==e.executionSummary&&a.number(e.executionSummary.executionOrder)&&a.boolean(e.executionSummary.success)&&(i.executionSummary={executionOrder:e.executionSummary.executionOrder,success:e.executionSummary.success}),i}function l(e,t){if(e.has(t))throw new Error("Can't deep copy cyclic structures.");if(Array.isArray(t)){const i=[];for(const n of t)if(null!==n&&"object"==typeof n||Array.isArray(n))i.push(l(e,n));else{if(n instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");i.push(n)}return i}{const i=Object.keys(t),n=Object.create(null);for(const o of i){const i=t[o];if(null!==i&&"object"==typeof i||Array.isArray(i))n[o]=l(e,i);else{if(i instanceof RegExp)throw new Error("Can't transfer regular expressions to the server");n[o]=i}}return n}}t.asVersionedNotebookDocumentIdentifier=function(e,t){return{version:e.version,uri:t.asUri(e.uri)}},t.asNotebookDocument=function(e,t,n){const r=s.NotebookDocument.create(n.asUri(e.uri),e.notebookType,e.version,i(t,n));return Object.keys(e.metadata).length>0&&(r.metadata=o(e.metadata)),r},t.asNotebookCells=i,t.asMetadata=o,t.asNotebookCell=r,t.asTextContentChange=function(e,t){const i=t.asChangeTextDocumentParams(e);return{document:i.textDocument,changes:i.contentChanges}},t.asNotebookDocumentChangeEvent=function(t,i){const n=Object.create(null);if(t.metadata&&(n.metadata=e.c2p.asMetadata(t.metadata)),void 0!==t.cells){const o=Object.create(null),s=t.cells;s.structure&&(o.structure={array:{start:s.structure.array.start,deleteCount:s.structure.array.deleteCount,cells:void 0!==s.structure.array.cells?s.structure.array.cells.map((t=>e.c2p.asNotebookCell(t,i))):void 0},didOpen:void 0!==s.structure.didOpen?s.structure.didOpen.map((e=>i.asOpenTextDocumentParams(e.document).textDocument)):void 0,didClose:void 0!==s.structure.didClose?s.structure.didClose.map((e=>i.asCloseTextDocumentParams(e.document).textDocument)):void 0}),void 0!==s.data&&(o.data=s.data.map((t=>e.c2p.asNotebookCell(t,i)))),void 0!==s.textContent&&(o.textContent=s.textContent.map((t=>e.c2p.asTextContentChange(t,i)))),Object.keys(o).length>0&&(n.cells=o)}return n}}(t=e.c2p||(e.c2p={}))}(c||(c={})),function(e){function t(e,t,n=!0){return!(e.kind!==t.kind||e.document.uri.toString()!==t.document.uri.toString()||e.document.languageId!==t.document.languageId||!function(e,t){return e===t||void 0!==e&&void 0!==t&&(e.executionOrder===t.executionOrder&&e.success===t.success&&function(e,t){return e===t||void 0!==e&&void 0!==t&&(e.startTime===t.startTime&&e.endTime===t.endTime)}(e.timing,t.timing))}(e.executionSummary,t.executionSummary))&&(!n||n&&i(e.metadata,t.metadata))}function i(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;const o=Array.isArray(e),s=Array.isArray(t);if(o!==s)return!1;if(o&&s){if(e.length!==t.length)return!1;for(let n=0;n=0&&l>=0&&t(e[a],i[l],n);)a--,l--;const c=a+1-r,d=r===l+1?void 0:i.slice(r,l+1);return void 0!==d?{start:r,deleteCount:c,cells:d}:{start:r,deleteCount:c}}return re.document.uri.toString())))}}}(g||(g={}));class p{constructor(e,t){this.client=e,this.options=t,this.notebookSyncInfo=new Map,this.notebookDidOpen=new Set,this.disposables=[],this.selector=e.protocol2CodeConverter.asDocumentSelector(u.asDocumentSelector(t)),n.workspace.onDidOpenNotebookDocument((e=>{this.notebookDidOpen.add(e.uri.toString()),this.didOpen(e)}),void 0,this.disposables);for(const e of n.workspace.notebookDocuments)this.notebookDidOpen.add(e.uri.toString()),this.didOpen(e);n.workspace.onDidChangeNotebookDocument((e=>this.didChangeNotebookDocument(e)),void 0,this.disposables),!0===this.options.save&&n.workspace.onDidSaveNotebookDocument((e=>this.didSave(e)),void 0,this.disposables),n.workspace.onDidCloseNotebookDocument((e=>{this.didClose(e),this.notebookDidOpen.delete(e.uri.toString())}),void 0,this.disposables)}getState(){for(const e of n.workspace.notebookDocuments)if(void 0!==this.getMatchingCells(e))return{kind:"document",id:"$internal",registrations:!0,matches:!0};return{kind:"document",id:"$internal",registrations:!0,matches:!1}}get mode(){return"notebook"}handles(e){return n.languages.match(this.selector,e)>0}didOpenNotebookCellTextDocument(e,t){if(0===n.languages.match(this.selector,t.document))return;if(!this.notebookDidOpen.has(e.uri.toString()))return;const i=this.notebookSyncInfo.get(e.uri.toString()),o=this.cellMatches(e,t);if(void 0!==i){const n=i.uris.has(t.document.uri.toString());if(o&&n||!o&&!n)return;if(o){const t=this.getMatchingCells(e);if(void 0!==t){const n=this.asNotebookDocumentChangeEvent(e,void 0,i,t);void 0!==n&&this.doSendChange(n,t).catch((()=>{}))}}}else o&&this.doSendOpen(e,[t]).catch((()=>{}))}didChangeNotebookCellTextDocument(e,t){0!==n.languages.match(this.selector,t.document)&&this.doSendChange({notebook:e,cells:{textContent:[t]}},void 0).catch((()=>{}))}didCloseNotebookCellTextDocument(e,t){const i=this.notebookSyncInfo.get(e.uri.toString());if(void 0===i)return;const n=t.document.uri,o=i.cells.findIndex((e=>e.document.uri.toString()===n.toString()));if(-1!==o)if(0===o&&1===i.cells.length)this.doSendClose(e,i.cells).catch((()=>{}));else{const t=i.cells.slice(),n=t.splice(o,1);this.doSendChange({notebook:e,cells:{structure:{array:{start:o,deleteCount:1},didClose:n}}},t).catch((()=>{}))}}dispose(){for(const e of this.disposables)e.dispose()}didOpen(e,t=this.getMatchingCells(e),i=this.notebookSyncInfo.get(e.uri.toString())){if(void 0!==i)if(void 0!==t){const n=this.asNotebookDocumentChangeEvent(e,void 0,i,t);void 0!==n&&this.doSendChange(n,t).catch((()=>{}))}else this.doSendClose(e,[]).catch((()=>{}));else{if(void 0===t)return;this.doSendOpen(e,t).catch((()=>{}))}}didChangeNotebookDocument(e){const t=e.notebook,i=this.notebookSyncInfo.get(t.uri.toString());if(void 0===i){if(0===e.contentChanges.length)return;const n=this.getMatchingCells(t);if(void 0===n)return;this.didOpen(t,n,i)}else{const n=this.getMatchingCells(t);if(void 0===n)return void this.didClose(t,i);const o=this.asNotebookDocumentChangeEvent(e.notebook,e,i,n);void 0!==o&&this.doSendChange(o,n).catch((()=>{}))}}didSave(e){void 0!==this.notebookSyncInfo.get(e.uri.toString())&&this.doSendSave(e).catch((()=>{}))}didClose(e,t=this.notebookSyncInfo.get(e.uri.toString())){if(void 0===t)return;const i=e.getCells().filter((e=>t.uris.has(e.document.uri.toString())));this.doSendClose(e,i).catch((()=>{}))}async sendDidOpenNotebookDocument(e){const t=this.getMatchingCells(e);if(void 0!==t)return this.doSendOpen(e,t)}async doSendOpen(e,t){const i=async(e,t)=>{const i=c.c2p.asNotebookDocument(e,t,this.client.code2ProtocolConverter),n=t.map((e=>this.client.code2ProtocolConverter.asTextDocumentItem(e.document)));try{await this.client.sendNotification(s.DidOpenNotebookDocumentNotification.type,{notebookDocument:i,cellTextDocuments:n})}catch(e){throw this.client.error("Sending DidOpenNotebookDocumentNotification failed",e),e}},n=this.client.middleware?.notebooks;return this.notebookSyncInfo.set(e.uri.toString(),g.create(t)),void 0!==n?.didOpen?n.didOpen(e,t,i):i(e,t)}async sendDidChangeNotebookDocument(e){return this.doSendChange(e,void 0)}async doSendChange(e,t=this.getMatchingCells(e.notebook)){const i=async e=>{try{await this.client.sendNotification(s.DidChangeNotebookDocumentNotification.type,{notebookDocument:c.c2p.asVersionedNotebookDocumentIdentifier(e.notebook,this.client.code2ProtocolConverter),change:c.c2p.asNotebookDocumentChangeEvent(e,this.client.code2ProtocolConverter)})}catch(e){throw this.client.error("Sending DidChangeNotebookDocumentNotification failed",e),e}},n=this.client.middleware?.notebooks;return void 0!==e.cells?.structure&&this.notebookSyncInfo.set(e.notebook.uri.toString(),g.create(t??[])),void 0!==n?.didChange?n?.didChange(e,i):i(e)}async sendDidSaveNotebookDocument(e){return this.doSendSave(e)}async doSendSave(e){const t=async e=>{try{await this.client.sendNotification(s.DidSaveNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(e.uri)}})}catch(e){throw this.client.error("Sending DidSaveNotebookDocumentNotification failed",e),e}},i=this.client.middleware?.notebooks;return void 0!==i?.didSave?i.didSave(e,t):t(e)}async sendDidCloseNotebookDocument(e){return this.doSendClose(e,this.getMatchingCells(e)??[])}async doSendClose(e,t){const i=async(e,t)=>{try{await this.client.sendNotification(s.DidCloseNotebookDocumentNotification.type,{notebookDocument:{uri:this.client.code2ProtocolConverter.asUri(e.uri)},cellTextDocuments:t.map((e=>this.client.code2ProtocolConverter.asTextDocumentIdentifier(e.document)))})}catch(e){throw this.client.error("Sending DidCloseNotebookDocumentNotification failed",e),e}},n=this.client.middleware?.notebooks;return this.notebookSyncInfo.delete(e.uri.toString()),void 0!==n?.didClose?n.didClose(e,t,i):i(e,t)}asNotebookDocumentChangeEvent(e,t,i,n){if(void 0!==t&&t.notebook!==e)throw new Error("Notebook must be identical");const o={notebook:e};let s;if(void 0!==t?.metadata&&(o.metadata=c.c2p.asMetadata(t.metadata)),void 0!==t?.cellChanges&&t.cellChanges.length>0){const e=[];s=new Set(n.map((e=>e.document.uri.toString())));for(const i of t.cellChanges)!s.has(i.cell.document.uri.toString())||void 0===i.executionSummary&&void 0===i.metadata||e.push(i.cell);e.length>0&&(o.cells=o.cells??{},o.cells.data=e)}if((void 0!==t?.contentChanges&&t.contentChanges.length>0||void 0===t)&&void 0!==i&&void 0!==n){const e=i.cells,t=n,s=d.computeDiff(e,t,!1);let r,a;if(void 0!==s){r=void 0===s.cells?new Map:new Map(s.cells.map((e=>[e.document.uri.toString(),e]))),a=0===s.deleteCount?new Map:new Map(e.slice(s.start,s.start+s.deleteCount).map((e=>[e.document.uri.toString(),e])));for(const e of Array.from(a.keys()))r.has(e)&&(a.delete(e),r.delete(e));o.cells=o.cells??{};const t=[],i=[];if(r.size>0||a.size>0){for(const e of r.values())t.push(e);for(const e of a.values())i.push(e)}o.cells.structure={array:s,didOpen:t,didClose:i}}}return Object.keys(o).length>1?o:void 0}getMatchingCells(e,t=e.getCells()){if(void 0!==this.options.notebookSelector)for(const i of this.options.notebookSelector){if(void 0===i.notebook){if(void 0===i.cells)return;const n=this.filterCells(e,t,i.cells);return 0===n.length?void 0:n}if(h.matchNotebook(i.notebook,e))return void 0===i.cells?t:this.filterCells(e,t,i.cells)}}cellMatches(e,t){const i=this.getMatchingCells(e,[t]);return void 0!==i&&i[0]===t}filterCells(e,t,i){const n=t.filter((e=>{const t=e.document.languageId;return i.some((e=>"*"===e.language||t===e.language))}));return"function"==typeof this.client.clientOptions.notebookDocumentOptions?.filterCells?this.client.clientOptions.notebookDocumentOptions.filterCells(e,t):n}}class m{constructor(e){this.client=e,this.registrations=new Map,this.registrationType=s.NotebookDocumentSyncRegistrationType.type,n.workspace.onDidOpenTextDocument((e=>{if(e.uri.scheme!==m.CellScheme)return;const[t,i]=this.findNotebookDocumentAndCell(e);if(void 0!==t&&void 0!==i)for(const e of this.registrations.values())e instanceof p&&e.didOpenNotebookCellTextDocument(t,i)})),n.workspace.onDidChangeTextDocument((e=>{if(0===e.contentChanges.length)return;const t=e.document;if(t.uri.scheme!==m.CellScheme)return;const[i]=this.findNotebookDocumentAndCell(t);if(void 0!==i)for(const t of this.registrations.values())t instanceof p&&t.didChangeNotebookCellTextDocument(i,e)})),n.workspace.onDidCloseTextDocument((e=>{if(e.uri.scheme!==m.CellScheme)return;const[t,i]=this.findNotebookDocumentAndCell(e);if(void 0!==t&&void 0!==i)for(const e of this.registrations.values())e instanceof p&&e.didCloseNotebookCellTextDocument(t,i)}))}getState(){if(0===this.registrations.size)return{kind:"document",id:this.registrationType.method,registrations:!1,matches:!1};for(const e of this.registrations.values()){const t=e.getState();if("document"===t.kind&&!0===t.registrations&&!0===t.matches)return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!0}}return{kind:"document",id:this.registrationType.method,registrations:!0,matches:!1}}fillClientCapabilities(e){const t=l(l(e,"notebookDocument"),"synchronization");t.dynamicRegistration=!0,t.executionSummarySupport=!0}preInitialize(e){const t=e.notebookDocumentSync;void 0!==t&&(this.dedicatedChannel=this.client.protocol2CodeConverter.asDocumentSelector(u.asDocumentSelector(t)))}initialize(e){const t=e.notebookDocumentSync;if(void 0===t)return;const i=t.id??r.generateUuid();this.register({id:i,registerOptions:t})}register(e){const t=new p(this.client,e.registerOptions);this.registrations.set(e.id,t)}unregister(e){const t=this.registrations.get(e);t&&t.dispose()}dispose(){for(const e of this.registrations.values())e.dispose();this.registrations.clear()}handles(e){if(e.uri.scheme!==m.CellScheme)return!1;if(void 0!==this.dedicatedChannel&&n.languages.match(this.dedicatedChannel,e)>0)return!0;for(const t of this.registrations.values())if(t.handles(e))return!0;return!1}getProvider(e){for(const t of this.registrations.values())if(t.handles(e.document))return t}findNotebookDocumentAndCell(e){const t=e.uri.toString();for(const e of n.workspace.notebookDocuments)for(const i of e.getCells())if(i.document.uri.toString()===t)return[e,i];return[void 0,void 0]}}t.NotebookDocumentSyncFeature=m,m.CellScheme="vscode-notebook-cell"},4585:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressFeature=void 0;const n=i(294),o=i(5984);t.ProgressFeature=class{constructor(e){this._client=e,this.activeParts=new Set}getState(){return{kind:"window",id:n.WorkDoneProgressCreateRequest.method,registrations:this.activeParts.size>0}}fillClientCapabilities(e){var t,i;(t=e,i="window",void 0===t[i]&&(t[i]=Object.create(null)),t[i]).workDoneProgress=!0}initialize(){const e=this._client,t=e=>{this.activeParts.delete(e)};e.onRequest(n.WorkDoneProgressCreateRequest.type,(e=>{this.activeParts.add(new o.ProgressPart(this._client,e.token,t))}))}dispose(){for(const e of this.activeParts)e.done();this.activeParts.clear()}}},5984:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressPart=void 0;const n=i(6804),o=i(294),s=i(4652);t.ProgressPart=class{constructor(e,t,i){this._client=e,this._token=t,this._reported=0,this._infinite=!1,this._lspProgressDisposable=this._client.onProgress(o.WorkDoneProgress.type,this._token,(e=>{switch(e.kind){case"begin":this.begin(e);break;case"report":this.report(e);break;case"end":this.done(),i&&i(this)}}))}begin(e){this._infinite=void 0===e.percentage,void 0!==this._lspProgressDisposable&&n.window.withProgress({location:n.ProgressLocation.Window,cancellable:e.cancellable,title:e.title},(async(t,i)=>{if(void 0!==this._lspProgressDisposable)return this._progress=t,this._cancellationToken=i,this._tokenDisposable=this._cancellationToken.onCancellationRequested((()=>{this._client.sendNotification(o.WorkDoneProgressCancelNotification.type,{token:this._token})})),this.report(e),new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}))}report(e){if(this._infinite&&s.string(e.message))void 0!==this._progress&&this._progress.report({message:e.message});else if(s.number(e.percentage)){const t=Math.max(0,Math.min(e.percentage,100)),i=Math.max(0,t-this._reported);this._reported+=i,void 0!==this._progress&&this._progress.report({message:e.message,increment:i})}}cancel(){this.cleanup(),void 0!==this._reject&&(this._reject(),this._resolve=void 0,this._reject=void 0)}done(){this.cleanup(),void 0!==this._resolve&&(this._resolve(),this._resolve=void 0,this._reject=void 0)}cleanup(){void 0!==this._lspProgressDisposable&&(this._lspProgressDisposable.dispose(),this._lspProgressDisposable=void 0),void 0!==this._tokenDisposable&&(this._tokenDisposable.dispose(),this._tokenDisposable=void 0),this._progress=void 0,this._cancellationToken=void 0}}},777:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.CallHierarchyItem{constructor(e,t,i,n,o,s,r){super(e,t,i,n,o,s),void 0!==r&&(this.data=r)}}t.default=o},5958:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.CodeAction{constructor(e,t){super(e),this.data=t}}t.default=o},2817:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.CodeLens{constructor(e){super(e)}}t.default=o},9147:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.CompletionItem{constructor(e){super(e)}}t.default=o},1011:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConverter=void 0;const n=i(6804),o=i(294),s=i(4652),r=i(899),a=i(9147),l=i(2817),c=i(8501),d=i(5958),h=i(8171),u=i(777),g=i(9585),p=i(6363),m=i(570),f=i(294);var _;!function(e){e.is=function(e){let t=e;return t&&s.string(t.language)&&s.string(t.value)}}(_||(_={})),t.createConverter=function(e,t,i){const v=e||(e=>n.Uri.parse(e));function b(e){return v(e)}function C(e){let t=new h.ProtocolDiagnostic(S(e.range),e.message,k(e.severity),e.data);if(void 0!==e.code)if("string"==typeof e.code||"number"==typeof e.code)o.CodeDescription.is(e.codeDescription)?t.code={value:e.code,target:b(e.codeDescription.href)}:t.code=e.code;else if(h.DiagnosticCode.is(e.code)){t.hasDiagnosticCode=!0;const i=e.code;t.code={value:i.value,target:b(i.target)}}return e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=function(e){const t=new Array(e.length);for(let i=0;i0?t:void 0}(e.tags)),t}function w(e){switch(e){case o.DiagnosticTag.Unnecessary:return n.DiagnosticTag.Unnecessary;case o.DiagnosticTag.Deprecated:return n.DiagnosticTag.Deprecated;default:return}}function y(e){return e?new n.Position(e.line,e.character):void 0}function S(e){return e?new n.Range(e.start.line,e.start.character,e.end.line,e.end.character):void 0}async function x(e,t){return r.map(e,(e=>new n.Range(e.start.line,e.start.character,e.end.line,e.end.character)),t)}function k(e){if(null==e)return n.DiagnosticSeverity.Error;switch(e){case o.DiagnosticSeverity.Error:return n.DiagnosticSeverity.Error;case o.DiagnosticSeverity.Warning:return n.DiagnosticSeverity.Warning;case o.DiagnosticSeverity.Information:return n.DiagnosticSeverity.Information;case o.DiagnosticSeverity.Hint:return n.DiagnosticSeverity.Hint}return n.DiagnosticSeverity.Error}function D(e){if(s.string(e))return e;switch(e.kind){case o.MarkupKind.Markdown:return L(e.value);case o.MarkupKind.PlainText:return e.value;default:return`Unsupported Markup content received. Kind is: ${e.kind}`}}function L(e){let s;if(void 0===e||"string"==typeof e)s=new n.MarkdownString(e);else switch(e.kind){case o.MarkupKind.Markdown:s=new n.MarkdownString(e.value);break;case o.MarkupKind.PlainText:s=new n.MarkdownString,s.appendText(e.value);break;default:s=new n.MarkdownString,s.appendText(`Unsupported Markup content received. Kind is: ${e.kind}`)}return s.isTrusted=t,s.supportHtml=i,s}function E(e){if(e===o.CompletionItemTag.Deprecated)return n.CompletionItemTag.Deprecated}function N(e,t,i,r,l,c){const d=function(e){if(null==e)return[];const t=[];for(const i of e){const e=E(i);void 0!==e&&t.push(e)}return t}(e.tags),h=function(e){return o.CompletionItemLabelDetails.is(e.labelDetails)?{label:e.label,detail:e.labelDetails.detail,description:e.labelDetails.description}:e.label}(e),u=new a.default(h);e.detail&&(u.detail=e.detail),e.documentation&&(u.documentation=D(e.documentation),u.documentationFormat=s.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(u.filterText=e.filterText);const g=function(e,t,i){const s=e.insertTextFormat??i;if(void 0!==e.textEdit||void 0!==t){const[i,a]=void 0!==e.textEdit?(r=e.textEdit,o.InsertReplaceEdit.is(r)?[{inserting:S(r.insert),replacing:S(r.replace)},r.newText]:[S(r.range),r.newText]):[t,e.textEditText??e.label];return s===o.InsertTextFormat.Snippet?{text:new n.SnippetString(a),range:i,fromEdit:!0}:{text:a,range:i,fromEdit:!0}}return e.insertText?s===o.InsertTextFormat.Snippet?{text:new n.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0;var r}(e,i,l);if(g&&(u.insertText=g.text,u.range=g.range,u.fromEdit=g.fromEdit),s.number(e.kind)){let[t,i]=(p=e.kind,o.CompletionItemKind.Text<=p&&p<=o.CompletionItemKind.TypeParameter?[p-1,void 0]:[n.CompletionItemKind.Text,p]);u.kind=t,i&&(u.originalItemKind=i)}var p;e.sortText&&(u.sortText=e.sortText),e.additionalTextEdits&&(u.additionalTextEdits=M(e.additionalTextEdits));const m=void 0!==e.commitCharacters?s.stringArray(e.commitCharacters)?e.commitCharacters:void 0:t;m&&(u.commitCharacters=m.slice()),e.command&&(u.command=Z(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(u.deprecated=e.deprecated,!0===e.deprecated&&d.push(n.CompletionItemTag.Deprecated)),!0!==e.preselect&&!1!==e.preselect||(u.preselect=e.preselect);const f=e.data??c;void 0!==f&&(u.data=f),d.length>0&&(u.tags=d);const _=e.insertTextMode??r;return void 0!==_&&(u.insertTextMode=_,_===o.InsertTextMode.asIs&&(u.keepWhitespace=!0)),u}function I(e){if(e)return new n.TextEdit(S(e.range),e.newText)}async function T(e,t){if(e)return r.map(e,I,t)}function M(e){if(!e)return;const t=new Array(e.length);for(let i=0;i0){let i=[];for(let t of e.children)i.push(U(t));t.children=i}return t}function $(e,t){e.tags=q(t.tags),t.deprecated&&(e.tags?e.tags.includes(n.SymbolTag.Deprecated)||(e.tags=e.tags.concat(n.SymbolTag.Deprecated)):e.tags=[n.SymbolTag.Deprecated])}function Z(e){let t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}const G=new Map;function Y(e){if(null==e)return;let t=G.get(e);if(t)return t;let i=e.split(".");t=n.CodeActionKind.Empty;for(let e of i)t=t.append(e);return t}async function X(e,t){if(null==e)return;let i=new d.default(e.title,e.data);return void 0!==e.kind&&(i.kind=Y(e.kind)),void 0!==e.diagnostics&&(i.diagnostics=function(e){const t=new Array(e.length);for(let i=0;i{const t=function(e){if(void 0!==e)return{label:e.label,needsConfirmation:!!e.needsConfirmation,description:e.description}}(n[e]);i.set(e,t)}),t)}const s=e=>void 0===e?void 0:i.get(e),a=new n.WorkspaceEdit;if(e.documentChanges){const i=e.documentChanges;await r.forEach(i,(e=>{if(o.CreateFile.is(e))a.createFile(v(e.uri),e.options,s(e.annotationId));else if(o.RenameFile.is(e))a.renameFile(v(e.oldUri),v(e.newUri),e.options,s(e.annotationId));else if(o.DeleteFile.is(e))a.deleteFile(v(e.uri),e.options,s(e.annotationId));else{if(!o.TextDocumentEdit.is(e))throw new Error(`Unknown workspace edit change received:\n${JSON.stringify(e,void 0,4)}`);{const t=v(e.textDocument.uri);for(const i of e.edits)o.AnnotatedTextEdit.is(i)?a.replace(t,S(i.range),i.newText,s(i.annotationId)):a.replace(t,S(i.range),i.newText)}}}),t)}else if(e.changes){const i=e.changes;await r.forEach(Object.keys(i),(e=>{a.set(v(e),M(i[e]))}),t)}return a}function ee(e){let t=S(e.range),i=e.target?b(e.target):void 0,n=new c.default(t,i);return void 0!==e.tooltip&&(n.tooltip=e.tooltip),void 0!==e.data&&null!==e.data&&(n.data=e.data),n}function te(e){return new n.Color(e.red,e.green,e.blue,e.alpha)}function ie(e){return new n.ColorInformation(S(e.range),te(e.color))}function ne(e){let t=new n.ColorPresentation(e.label);return t.additionalTextEdits=M(e.additionalTextEdits),e.textEdit&&(t.textEdit=I(e.textEdit)),t}function oe(e){if(e)switch(e){case o.FoldingRangeKind.Comment:return n.FoldingRangeKind.Comment;case o.FoldingRangeKind.Imports:return n.FoldingRangeKind.Imports;case o.FoldingRangeKind.Region:return n.FoldingRangeKind.Region}}function se(e){return new n.FoldingRange(e.startLine,e.endLine,oe(e.kind))}function re(e){return new n.SelectionRange(S(e.range),e.parent?re(e.parent):void 0)}function ae(e){return o.InlineValueText.is(e)?new n.InlineValueText(S(e.range),e.text):o.InlineValueVariableLookup.is(e)?new n.InlineValueVariableLookup(S(e.range),e.variableName,e.caseSensitiveLookup):new n.InlineValueEvaluatableExpression(S(e.range),e.expression)}async function le(e,t){const i="string"==typeof e.label?e.label:await r.map(e.label,ce,t),n=new m.default(y(e.position),i);return void 0!==e.kind&&(n.kind=e.kind),void 0!==e.textEdits&&(n.textEdits=await T(e.textEdits,t)),void 0!==e.tooltip&&(n.tooltip=de(e.tooltip)),void 0!==e.paddingLeft&&(n.paddingLeft=e.paddingLeft),void 0!==e.paddingRight&&(n.paddingRight=e.paddingRight),void 0!==e.data&&(n.data=e.data),n}function ce(e){const t=new n.InlayHintLabelPart(e.value);return void 0!==e.location&&(t.location=F(e.location)),void 0!==e.tooltip&&(t.tooltip=de(e.tooltip)),void 0!==e.command&&(t.command=Z(e.command)),t}function de(e){return"string"==typeof e?e:L(e)}function he(e){if(null===e)return;const t=new u.default(z(e.kind),e.name,e.detail||"",b(e.uri),S(e.range),S(e.selectionRange),e.data);return void 0!==e.tags&&(t.tags=q(e.tags)),t}async function ue(e,t){return new n.CallHierarchyIncomingCall(he(e.from),await x(e.fromRanges,t))}async function ge(e,t){return new n.CallHierarchyOutgoingCall(he(e.to),await x(e.fromRanges,t))}function pe(e){return new n.SemanticTokensEdit(e.start,e.deleteCount,void 0!==e.data?new Uint32Array(e.data):void 0)}function me(e){if(null===e)return;let t=new g.default(z(e.kind),e.name,e.detail||"",b(e.uri),S(e.range),S(e.selectionRange),e.data);return void 0!==e.tags&&(t.tags=q(e.tags)),t}return G.set(o.CodeActionKind.Empty,n.CodeActionKind.Empty),G.set(o.CodeActionKind.QuickFix,n.CodeActionKind.QuickFix),G.set(o.CodeActionKind.Refactor,n.CodeActionKind.Refactor),G.set(o.CodeActionKind.RefactorExtract,n.CodeActionKind.RefactorExtract),G.set(o.CodeActionKind.RefactorInline,n.CodeActionKind.RefactorInline),G.set(o.CodeActionKind.RefactorRewrite,n.CodeActionKind.RefactorRewrite),G.set(o.CodeActionKind.Source,n.CodeActionKind.Source),G.set(o.CodeActionKind.SourceOrganizeImports,n.CodeActionKind.SourceOrganizeImports),{asUri:b,asDocumentSelector:function(e){const t=[];for(const i of e)if("string"==typeof i)t.push(i);else if(f.NotebookCellTextDocumentFilter.is(i))if("string"==typeof i.notebook)t.push({notebookType:i.notebook,language:i.language});else{const e=i.notebook.notebookType??"*";t.push({notebookType:e,scheme:i.notebook.scheme,pattern:i.notebook.pattern,language:i.language})}else f.TextDocumentFilter.is(i)&&t.push({language:i.language,scheme:i.scheme,pattern:i.pattern});return t},asDiagnostics:async function(e,t){return r.map(e,C,t)},asDiagnostic:C,asRange:S,asRanges:x,asPosition:y,asDiagnosticSeverity:k,asDiagnosticTag:w,asHover:function(e){if(e)return new n.Hover(function(e){if(s.string(e))return L(e);if(_.is(e))return L().appendCodeblock(e.value,e.language);if(Array.isArray(e)){let t=[];for(let i of e){let e=L();_.is(i)?e.appendCodeblock(i.value,i.language):e.appendMarkdown(i),t.push(e)}return t}return L(e)}(e.contents),S(e.range))},asCompletionResult:async function(e,t,i){if(!e)return;if(Array.isArray(e))return r.map(e,(e=>N(e,t)),i);const s=e,{defaultRange:a,commitCharacters:l}=function(e,t){const i=e.itemDefaults?.editRange,n=e.itemDefaults?.commitCharacters??t;return o.Range.is(i)?{defaultRange:S(i),commitCharacters:n}:void 0!==i?{defaultRange:{inserting:S(i.insert),replacing:S(i.replace)},commitCharacters:n}:{defaultRange:void 0,commitCharacters:n}}(s,t),c=await r.map(s.items,(e=>N(e,l,a,s.itemDefaults?.insertTextMode,s.itemDefaults?.insertTextFormat,s.itemDefaults?.data)),i);return new n.CompletionList(c,s.isIncomplete)},asCompletionItem:N,asTextEdit:I,asTextEdits:T,asSignatureHelp:async function(e,t){if(!e)return;let i=new n.SignatureHelp;return s.number(e.activeSignature)?i.activeSignature=e.activeSignature:i.activeSignature=0,s.number(e.activeParameter)?i.activeParameter=e.activeParameter:i.activeParameter=0,e.signatures&&(i.signatures=await R(e.signatures,t)),i},asSignatureInformations:R,asSignatureInformation:P,asParameterInformations:A,asParameterInformation:O,asDeclarationResult:async function(e,t){if(e)return B(e,t)},asDefinitionResult:async function(e,t){if(e)return B(e,t)},asLocation:F,asReferences:async function(e,t){if(e)return r.map(e,F,t)},asDocumentHighlights:async function(e,t){if(e)return r.map(e,V,t)},asDocumentHighlight:V,asDocumentHighlightKind:H,asSymbolKind:z,asSymbolTag:j,asSymbolTags:q,asSymbolInformations:async function(e,t){if(e)return r.map(e,K,t)},asSymbolInformation:K,asDocumentSymbols:async function(e,t){if(null!=e)return r.map(e,U,t)},asDocumentSymbol:U,asCommand:Z,asCommands:async function(e,t){if(e)return r.map(e,Z,t)},asCodeAction:X,asCodeActionKind:Y,asCodeActionKinds:function(e){if(null!=e)return e.map((e=>Y(e)))},asCodeActionResult:function(e,t){return r.mapAsync(e,(async e=>o.Command.is(e)?Z(e):X(e,t)),t)},asCodeLens:J,asCodeLenses:async function(e,t){if(e)return r.map(e,J,t)},asWorkspaceEdit:Q,asDocumentLink:ee,asDocumentLinks:async function(e,t){if(e)return r.map(e,ee,t)},asFoldingRangeKind:oe,asFoldingRange:se,asFoldingRanges:async function(e,t){if(e)return r.map(e,se,t)},asColor:te,asColorInformation:ie,asColorInformations:async function(e,t){if(e)return r.map(e,ie,t)},asColorPresentation:ne,asColorPresentations:async function(e,t){if(e)return r.map(e,ne,t)},asSelectionRange:re,asSelectionRanges:async function(e,t){return Array.isArray(e)?r.map(e,re,t):[]},asInlineValue:ae,asInlineValues:async function(e,t){return Array.isArray(e)?r.map(e,ae,t):[]},asInlayHint:le,asInlayHints:async function(e,t){if(Array.isArray(e))return r.mapAsync(e,le,t)},asSemanticTokensLegend:function(e){return e},asSemanticTokens:async function(e,t){if(null!=e)return new n.SemanticTokens(new Uint32Array(e.data),e.resultId)},asSemanticTokensEdit:pe,asSemanticTokensEdits:async function(e,t){if(null!=e)return new n.SemanticTokensEdits(e.edits.map(pe),e.resultId)},asCallHierarchyItem:he,asCallHierarchyItems:async function(e,t){if(null!==e)return r.map(e,he,t)},asCallHierarchyIncomingCall:ue,asCallHierarchyIncomingCalls:async function(e,t){if(null!==e)return r.mapAsync(e,ue,t)},asCallHierarchyOutgoingCall:ge,asCallHierarchyOutgoingCalls:async function(e,t){if(null!==e)return r.mapAsync(e,ge,t)},asLinkedEditingRanges:async function(e,t){if(null!=e)return new n.LinkedEditingRanges(await x(e.ranges,t),function(e){if(null!=e)return new RegExp(e)}(e.wordPattern))},asTypeHierarchyItem:me,asTypeHierarchyItems:async function(e,t){if(null!==e)return r.map(e,me,t)},asGlobPattern:function(e){if(s.string(e))return e;if(o.RelativePattern.is(e)){if(o.URI.is(e.baseUri))return new n.RelativePattern(b(e.baseUri),e.pattern);if(o.WorkspaceFolder.is(e.baseUri)){const t=n.workspace.getWorkspaceFolder(b(e.baseUri.uri));return void 0!==t?new n.RelativePattern(t,e.pattern):void 0}}}}}},8171:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolDiagnostic=t.DiagnosticCode=void 0;const n=i(6804),o=i(4652);(t.DiagnosticCode||(t.DiagnosticCode={})).is=function(e){const t=e;return null!=t&&(o.number(t.value)||o.string(t.value))&&o.string(t.target)};class s extends n.Diagnostic{constructor(e,t,i,n){super(e,t,i),this.data=n,this.hasDiagnosticCode=!1}}t.ProtocolDiagnostic=s},8501:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.DocumentLink{constructor(e,t){super(e,t)}}t.default=o},570:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.InlayHint{constructor(e,t,i){super(e,t,i)}}t.default=o},9585:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.TypeHierarchyItem{constructor(e,t,i,n,o,s,r){super(e,t,i,n,o,s),void 0!==r&&(this.data=r)}}t.default=o},6363:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(6804);class o extends n.SymbolInformation{constructor(e,t,i,o,s){const r=!(o instanceof n.Uri);super(e,t,i,r?o:new n.Location(o,new n.Range(0,0,0,0))),this.hasRange=r,void 0!==s&&(this.data=s)}}t.default=o},2318:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReferencesFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.ReferencesRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"references").dynamicRegistration=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.referencesProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t=e.documentSelector,i={provideReferences:(e,t,i,n)=>{const s=this._client,r=(e,t,i,n)=>s.sendRequest(o.ReferencesRequest.type,s.code2ProtocolConverter.asReferenceParams(e,t,i),n).then((e=>n.isCancellationRequested?null:s.protocol2CodeConverter.asReferences(e,n)),(e=>s.handleFailedRequest(o.ReferencesRequest.type,n,e,null))),a=s.middleware;return a.provideReferences?a.provideReferences(e,t,i,n,r):r(e,t,i,n)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerReferenceProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.ReferencesFeature=a},6991:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RenameFeature=void 0;const n=i(6804),o=i(294),s=i(2667),r=i(4652),a=i(7482);class l extends a.TextDocumentLanguageFeature{constructor(e){super(e,o.RenameRequest.type)}fillClientCapabilities(e){let t=(0,a.ensure)((0,a.ensure)(e,"textDocument"),"rename");t.dynamicRegistration=!0,t.prepareSupport=!0,t.prepareSupportDefaultBehavior=o.PrepareSupportDefaultBehavior.Identifier,t.honorsChangeAnnotations=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.renameProvider);i&&(r.boolean(e.renameProvider)&&(i.prepareProvider=!1),this.register({id:s.generateUuid(),registerOptions:i}))}registerLanguageProvider(e){const t=e.documentSelector,i={provideRenameEdits:(e,t,i,n)=>{const s=this._client,r=(e,t,i,n)=>{let r={textDocument:s.code2ProtocolConverter.asTextDocumentIdentifier(e),position:s.code2ProtocolConverter.asPosition(t),newName:i};return s.sendRequest(o.RenameRequest.type,r,n).then((e=>n.isCancellationRequested?null:s.protocol2CodeConverter.asWorkspaceEdit(e,n)),(e=>s.handleFailedRequest(o.RenameRequest.type,n,e,null,!1)))},a=s.middleware;return a.provideRenameEdits?a.provideRenameEdits(e,t,i,n,r):r(e,t,i,n)},prepareRename:e.prepareProvider?(e,t,i)=>{const n=this._client,s=(e,t,i)=>{let s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),position:n.code2ProtocolConverter.asPosition(t)};return n.sendRequest(o.PrepareRenameRequest.type,s,i).then((e=>i.isCancellationRequested?null:o.Range.is(e)?n.protocol2CodeConverter.asRange(e):this.isDefaultBehavior(e)?!0===e.defaultBehavior?null:Promise.reject(new Error("The element can't be renamed.")):e&&o.Range.is(e.range)?{range:n.protocol2CodeConverter.asRange(e.range),placeholder:e.placeholder}:Promise.reject(new Error("The element can't be renamed."))),(e=>{throw"string"==typeof e.message?new Error(e.message):new Error("The element can't be renamed.")}))},r=n.middleware;return r.prepareRename?r.prepareRename(e,t,i,s):s(e,t,i)}:void 0};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerRenameProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}isDefaultBehavior(e){const t=e;return t&&r.boolean(t.defaultBehavior)}}t.RenameFeature=l},4778:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.SelectionRangeRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"selectionRange").dynamicRegistration=!0}initialize(e,t){const[i,n]=this.getRegistration(t,e.selectionRangeProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideSelectionRanges:(e,t,i)=>{const n=this._client,s=async(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),positions:await n.code2ProtocolConverter.asPositions(t,i)};return n.sendRequest(o.SelectionRangeRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asSelectionRanges(e,i)),(e=>n.handleFailedRequest(o.SelectionRangeRequest.type,i,e,null)))},r=n.middleware;return r.provideSelectionRanges?r.provideSelectionRanges(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerSelectionRangeProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.SelectionRangeFeature=r},1572:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(4652);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.SemanticTokensRegistrationType.type)}fillClientCapabilities(e){const t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"semanticTokens");t.dynamicRegistration=!0,t.tokenTypes=[o.SemanticTokenTypes.namespace,o.SemanticTokenTypes.type,o.SemanticTokenTypes.class,o.SemanticTokenTypes.enum,o.SemanticTokenTypes.interface,o.SemanticTokenTypes.struct,o.SemanticTokenTypes.typeParameter,o.SemanticTokenTypes.parameter,o.SemanticTokenTypes.variable,o.SemanticTokenTypes.property,o.SemanticTokenTypes.enumMember,o.SemanticTokenTypes.event,o.SemanticTokenTypes.function,o.SemanticTokenTypes.method,o.SemanticTokenTypes.macro,o.SemanticTokenTypes.keyword,o.SemanticTokenTypes.modifier,o.SemanticTokenTypes.comment,o.SemanticTokenTypes.string,o.SemanticTokenTypes.number,o.SemanticTokenTypes.regexp,o.SemanticTokenTypes.operator,o.SemanticTokenTypes.decorator],t.tokenModifiers=[o.SemanticTokenModifiers.declaration,o.SemanticTokenModifiers.definition,o.SemanticTokenModifiers.readonly,o.SemanticTokenModifiers.static,o.SemanticTokenModifiers.deprecated,o.SemanticTokenModifiers.abstract,o.SemanticTokenModifiers.async,o.SemanticTokenModifiers.modification,o.SemanticTokenModifiers.documentation,o.SemanticTokenModifiers.defaultLibrary],t.formats=[o.TokenFormat.Relative],t.requests={range:!0,full:{delta:!0}},t.multilineTokenSupport=!1,t.overlappingTokenSupport=!1,t.serverCancelSupport=!0,t.augmentsSyntaxTokens=!0,(0,s.ensure)((0,s.ensure)(e,"workspace"),"semanticTokens").refreshSupport=!0}initialize(e,t){this._client.onRequest(o.SemanticTokensRefreshRequest.type,(async()=>{for(const e of this.getAllProviders())e.onDidChangeSemanticTokensEmitter.fire()}));const[i,n]=this.getRegistration(t,e.semanticTokensProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i=r.boolean(e.full)?e.full:void 0!==e.full,s=void 0!==e.full&&"boolean"!=typeof e.full&&!0===e.full.delta,a=new n.EventEmitter,l=i?{onDidChangeSemanticTokens:a.event,provideDocumentSemanticTokens:(e,t)=>{const i=this._client,n=i.middleware,s=(e,t)=>{const n={textDocument:i.code2ProtocolConverter.asTextDocumentIdentifier(e)};return i.sendRequest(o.SemanticTokensRequest.type,n,t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asSemanticTokens(e,t)),(e=>i.handleFailedRequest(o.SemanticTokensRequest.type,t,e,null)))};return n.provideDocumentSemanticTokens?n.provideDocumentSemanticTokens(e,t,s):s(e,t)},provideDocumentSemanticTokensEdits:s?(e,t,i)=>{const n=this._client,s=n.middleware,r=(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),previousResultId:t};return n.sendRequest(o.SemanticTokensDeltaRequest.type,s,i).then((async e=>i.isCancellationRequested?null:o.SemanticTokens.is(e)?await n.protocol2CodeConverter.asSemanticTokens(e,i):await n.protocol2CodeConverter.asSemanticTokensEdits(e,i)),(e=>n.handleFailedRequest(o.SemanticTokensDeltaRequest.type,i,e,null)))};return s.provideDocumentSemanticTokensEdits?s.provideDocumentSemanticTokensEdits(e,t,i,r):r(e,t,i)}:void 0}:void 0,c=!0===e.range?{provideDocumentRangeSemanticTokens:(e,t,i)=>{const n=this._client,s=n.middleware,r=(e,t,i)=>{const s={textDocument:n.code2ProtocolConverter.asTextDocumentIdentifier(e),range:n.code2ProtocolConverter.asRange(t)};return n.sendRequest(o.SemanticTokensRangeRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asSemanticTokens(e,i)),(e=>n.handleFailedRequest(o.SemanticTokensRangeRequest.type,i,e,null)))};return s.provideDocumentRangeSemanticTokens?s.provideDocumentRangeSemanticTokens(e,t,i,r):r(e,t,i)}}:void 0,d=[],h=this._client,u=h.protocol2CodeConverter.asSemanticTokensLegend(e.legend),g=h.protocol2CodeConverter.asDocumentSelector(t);return void 0!==l&&d.push(n.languages.registerDocumentSemanticTokensProvider(g,l,u)),void 0!==c&&d.push(n.languages.registerDocumentRangeSemanticTokensProvider(g,c,u)),[new n.Disposable((()=>d.forEach((e=>e.dispose())))),{range:c,full:l,onDidChangeSemanticTokensEmitter:a}]}}t.SemanticTokensFeature=a},7548:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignatureHelpFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(2667);class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.SignatureHelpRequest.type)}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[o.MarkupKind.Markdown,o.MarkupKind.PlainText]},t.signatureInformation.parameterInformation={labelOffsetSupport:!0},t.signatureInformation.activeParameterSupport=!0,t.contextSupport=!0}initialize(e,t){const i=this.getRegistrationOptions(t,e.signatureHelpProvider);i&&this.register({id:r.generateUuid(),registerOptions:i})}registerLanguageProvider(e){const t={provideSignatureHelp:(e,t,i,n)=>{const s=this._client,r=(e,t,i,n)=>s.sendRequest(o.SignatureHelpRequest.type,s.code2ProtocolConverter.asSignatureHelpParams(e,t,i),n).then((e=>n.isCancellationRequested?null:s.protocol2CodeConverter.asSignatureHelp(e,n)),(e=>s.handleFailedRequest(o.SignatureHelpRequest.type,n,e,null))),a=s.middleware;return a.provideSignatureHelp?a.provideSignatureHelp(e,t,n,i,r):r(e,t,n,i)}};return[this.registerProvider(e,t),t]}registerProvider(e,t){const i=this._client.protocol2CodeConverter.asDocumentSelector(e.documentSelector);if(void 0===e.retriggerCharacters){const o=e.triggerCharacters||[];return n.languages.registerSignatureHelpProvider(i,t,...o)}{const o={triggerCharacters:e.triggerCharacters||[],retriggerCharacters:e.retriggerCharacters||[]};return n.languages.registerSignatureHelpProvider(i,t,o)}}}t.SignatureHelpFeature=a},7583:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidSaveTextDocumentFeature=t.WillSaveWaitUntilFeature=t.WillSaveFeature=t.DidChangeTextDocumentFeature=t.DidCloseTextDocumentFeature=t.DidOpenTextDocumentFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(899),a=i(2667);class l extends s.TextDocumentEventFeature{constructor(e,t){super(e,n.workspace.onDidOpenTextDocument,o.DidOpenTextDocumentNotification.type,(()=>e.middleware.didOpen),(t=>e.code2ProtocolConverter.asOpenTextDocumentParams(t)),(e=>e),s.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t}get openDocuments(){return this._syncedDocuments.values()}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){const i=e.resolvedTextDocumentSync;t&&i&&i.openClose&&this.register({id:a.generateUuid(),registerOptions:{documentSelector:t}})}get registrationType(){return o.DidOpenTextDocumentNotification.type}register(e){if(super.register(e),!e.registerOptions.documentSelector)return;const t=this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector);n.workspace.textDocuments.forEach((e=>{const i=e.uri.toString();if(!this._syncedDocuments.has(i)&&n.languages.match(t,e)>0&&!this._client.hasDedicatedTextSynchronizationFeature(e)){const t=this._client.middleware,n=e=>this._client.sendNotification(this._type,this._createParams(e));(t.didOpen?t.didOpen(e,n):n(e)).catch((e=>{this._client.error(`Sending document notification ${this._type.method} failed`,e)})),this._syncedDocuments.set(i,e)}}))}notificationSent(e,t,i){super.notificationSent(e,t,i),this._syncedDocuments.set(e.uri.toString(),e)}}t.DidOpenTextDocumentFeature=l;class c extends s.TextDocumentEventFeature{constructor(e,t){super(e,n.workspace.onDidCloseTextDocument,o.DidCloseTextDocumentNotification.type,(()=>e.middleware.didClose),(t=>e.code2ProtocolConverter.asCloseTextDocumentParams(t)),(e=>e),s.TextDocumentEventFeature.textDocumentFilter),this._syncedDocuments=t}get registrationType(){return o.DidCloseTextDocumentNotification.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.openClose&&this.register({id:a.generateUuid(),registerOptions:{documentSelector:t}})}notificationSent(e,t,i){super.notificationSent(e,t,i),this._syncedDocuments.delete(e.uri.toString())}unregister(e){const t=this._selectors.get(e);super.unregister(e);const i=this._selectors.values();this._syncedDocuments.forEach((e=>{if(n.languages.match(t,e)>0&&!this._selectorFilter(i,e)&&!this._client.hasDedicatedTextSynchronizationFeature(e)){let t=this._client.middleware,i=e=>this._client.sendNotification(this._type,this._createParams(e));this._syncedDocuments.delete(e.uri.toString()),(t.didClose?t.didClose(e,i):i(e)).catch((e=>{this._client.error(`Sending document notification ${this._type.method} failed`,e)}))}}))}}t.DidCloseTextDocumentFeature=c;class d extends s.DynamicDocumentFeature{constructor(e){super(e),this._forcingDelivery=!1,this._changeData=new Map,this._onNotificationSent=new n.EventEmitter}get registrationType(){return o.DidChangeTextDocumentNotification.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").dynamicRegistration=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&void 0!==i.change&&i.change!==o.TextDocumentSyncKind.None&&this.register({id:a.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:i.change})})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=n.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(e.id,{syncKind:e.registerOptions.syncKind,documentSelector:this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)}))}*getDocumentSelectors(){for(const e of this._changeData.values())yield e.documentSelector}async callback(e){if(0===e.contentChanges.length)return;const t=[];for(const i of this._changeData.values())if(n.languages.match(i.documentSelector,e.document)>0&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){const n=this._client.middleware;if(i.syncKind===o.TextDocumentSyncKind.Incremental){const i=async e=>{const t=this._client.code2ProtocolConverter.asChangeTextDocumentParams(e);await this._client.sendNotification(o.DidChangeTextDocumentNotification.type,t),this.notificationSent(e,o.DidChangeTextDocumentNotification.type,t)};t.push(n.didChange?n.didChange(e,(e=>i(e))):i(e))}else if(i.syncKind===o.TextDocumentSyncKind.Full){const i=async e=>{const t=async e=>{const t=this._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document);await this._client.sendNotification(o.DidChangeTextDocumentNotification.type,t),this.notificationSent(e,o.DidChangeTextDocumentNotification.type,t)};return this._changeDelayer?(this._changeDelayer.uri!==e.document.uri.toString()&&(this.forceDelivery(),this._changeDelayer.uri=e.document.uri.toString()),this._changeDelayer.delayer.trigger((()=>t(e)))):(this._changeDelayer={uri:e.document.uri.toString(),delayer:new r.Delayer(200)},this._changeDelayer.delayer.trigger((()=>t(e)),-1))};t.push(n.didChange?n.didChange(e,(e=>i(e))):i(e))}}return Promise.all(t).then(void 0,(e=>{throw this._client.error(`Sending document notification ${o.DidChangeTextDocumentNotification.type.method} failed`,e),e}))}get onNotificationSent(){return this._onNotificationSent.event}notificationSent(e,t,i){this._onNotificationSent.fire({original:e,type:t,params:i})}unregister(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){void 0!==this._changeDelayer&&this._changeDelayer.delayer.cancel(),this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}forceDelivery(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}}getProvider(e){for(const t of this._changeData.values())if(n.languages.match(t.documentSelector,e)>0)return{send:e=>this.callback(e)}}}t.DidChangeTextDocumentFeature=d;class h extends s.TextDocumentEventFeature{constructor(e){super(e,n.workspace.onWillSaveTextDocument,o.WillSaveTextDocumentNotification.type,(()=>e.middleware.willSave),(t=>e.code2ProtocolConverter.asWillSaveTextDocumentParams(t)),(e=>e.document),((e,t)=>s.TextDocumentEventFeature.textDocumentFilter(e,t.document)))}get registrationType(){return o.WillSaveTextDocumentNotification.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").willSave=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.willSave&&this.register({id:a.generateUuid(),registerOptions:{documentSelector:t}})}}t.WillSaveFeature=h;class u extends s.DynamicDocumentFeature{constructor(e){super(e),this._selectors=new Map}getDocumentSelectors(){return this._selectors.values()}get registrationType(){return o.WillSaveTextDocumentWaitUntilRequest.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").willSaveWaitUntil=!0}initialize(e,t){let i=e.resolvedTextDocumentSync;t&&i&&i.willSaveWaitUntil&&this.register({id:a.generateUuid(),registerOptions:{documentSelector:t}})}register(e){e.registerOptions.documentSelector&&(this._listener||(this._listener=n.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(e.id,this._client.protocol2CodeConverter.asDocumentSelector(e.registerOptions.documentSelector)))}callback(e){if(s.TextDocumentEventFeature.textDocumentFilter(this._selectors.values(),e.document)&&!this._client.hasDedicatedTextSynchronizationFeature(e.document)){let t=this._client.middleware,i=e=>this._client.sendRequest(o.WillSaveTextDocumentWaitUntilRequest.type,this._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((async e=>{let t=await this._client.protocol2CodeConverter.asTextEdits(e);return void 0===t?[]:t}));e.waitUntil(t.willSaveWaitUntil?t.willSaveWaitUntil(e,i):i(e))}}unregister(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)}dispose(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)}}t.WillSaveWaitUntilFeature=u;class g extends s.TextDocumentEventFeature{constructor(e){super(e,n.workspace.onDidSaveTextDocument,o.DidSaveTextDocumentNotification.type,(()=>e.middleware.didSave),(t=>e.code2ProtocolConverter.asSaveTextDocumentParams(t,this._includeText)),(e=>e),s.TextDocumentEventFeature.textDocumentFilter),this._includeText=!1}get registrationType(){return o.DidSaveTextDocumentNotification.type}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"synchronization").didSave=!0}initialize(e,t){const i=e.resolvedTextDocumentSync;if(t&&i&&i.save){const e="boolean"==typeof i.save?{includeText:!1}:{includeText:!!i.save.includeText};this.register({id:a.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e)})}}register(e){this._includeText=!!e.registerOptions.includeText,super.register(e)}}t.DidSaveTextDocumentFeature=g},7349:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.TypeDefinitionRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"typeDefinition").dynamicRegistration=!0;let t=(0,s.ensure)((0,s.ensure)(e,"textDocument"),"typeDefinition");t.dynamicRegistration=!0,t.linkSupport=!0}initialize(e,t){let[i,n]=this.getRegistration(t,e.typeDefinitionProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=e.documentSelector,i={provideTypeDefinition:(e,t,i)=>{const n=this._client,s=(e,t,i)=>n.sendRequest(o.TypeDefinitionRequest.type,n.code2ProtocolConverter.asTextDocumentPositionParams(e,t),i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asDefinitionResult(e,i)),(e=>n.handleFailedRequest(o.TypeDefinitionRequest.type,i,e,null))),r=n.middleware;return r.provideTypeDefinition?r.provideTypeDefinition(e,t,i,s):s(e,t,i)}};return[this.registerProvider(t,i),i]}registerProvider(e,t){return n.languages.registerTypeDefinitionProvider(this._client.protocol2CodeConverter.asDocumentSelector(e),t)}}t.TypeDefinitionFeature=r},5783:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyFeature=void 0;const n=i(6804),o=i(294),s=i(7482);class r{constructor(e){this.client=e,this.middleware=e.middleware}prepareTypeHierarchy(e,t,i){const n=this.client,s=this.middleware,r=(e,t,i)=>{const s=n.code2ProtocolConverter.asTextDocumentPositionParams(e,t);return n.sendRequest(o.TypeHierarchyPrepareRequest.type,s,i).then((e=>i.isCancellationRequested?null:n.protocol2CodeConverter.asTypeHierarchyItems(e,i)),(e=>n.handleFailedRequest(o.TypeHierarchyPrepareRequest.type,i,e,null)))};return s.prepareTypeHierarchy?s.prepareTypeHierarchy(e,t,i,r):r(e,t,i)}provideTypeHierarchySupertypes(e,t){const i=this.client,n=this.middleware,s=(e,t)=>{const n={item:i.code2ProtocolConverter.asTypeHierarchyItem(e)};return i.sendRequest(o.TypeHierarchySupertypesRequest.type,n,t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asTypeHierarchyItems(e,t)),(e=>i.handleFailedRequest(o.TypeHierarchySupertypesRequest.type,t,e,null)))};return n.provideTypeHierarchySupertypes?n.provideTypeHierarchySupertypes(e,t,s):s(e,t)}provideTypeHierarchySubtypes(e,t){const i=this.client,n=this.middleware,s=(e,t)=>{const n={item:i.code2ProtocolConverter.asTypeHierarchyItem(e)};return i.sendRequest(o.TypeHierarchySubtypesRequest.type,n,t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asTypeHierarchyItems(e,t)),(e=>i.handleFailedRequest(o.TypeHierarchySubtypesRequest.type,t,e,null)))};return n.provideTypeHierarchySubtypes?n.provideTypeHierarchySubtypes(e,t,s):s(e,t)}}class a extends s.TextDocumentLanguageFeature{constructor(e){super(e,o.TypeHierarchyPrepareRequest.type)}fillClientCapabilities(e){(0,s.ensure)((0,s.ensure)(e,"textDocument"),"typeHierarchy").dynamicRegistration=!0}initialize(e,t){const[i,n]=this.getRegistration(t,e.typeHierarchyProvider);i&&n&&this.register({id:i,registerOptions:n})}registerLanguageProvider(e){const t=this._client,i=new r(t);return[n.languages.registerTypeHierarchyProvider(t.protocol2CodeConverter.asDocumentSelector(e.documentSelector),i),i]}}t.TypeHierarchyFeature=a},899:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forEach=t.mapAsync=t.map=t.Semaphore=t.Delayer=void 0;const n=i(294);t.Delayer=class{constructor(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}trigger(e,t=this.defaultDelay){return this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((e=>{this.onSuccess=e})).then((()=>{this.completionPromise=void 0,this.onSuccess=void 0;var e=this.task();return this.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=(0,n.RAL)().timer.setTimeout((()=>{this.timeout=void 0,this.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise}forceDelivery(){if(!this.completionPromise)return;this.cancelTimeout();let e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}isTriggered(){return void 0!==this.timeout}cancel(){this.cancelTimeout(),this.completionPromise=void 0}cancelTimeout(){void 0!==this.timeout&&(this.timeout.dispose(),this.timeout=void 0)}},t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,i)=>{this._waiting.push({thunk:e,resolve:t,reject:i}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,n.RAL)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};class o{constructor(e=15){this.yieldAfter=Math.max(e,15),this.startTime=Date.now(),this.counter=0,this.total=0,this.counterInterval=1}start(){this.startTime=Date.now()}shouldYield(){if(++this.counter>=this.counterInterval){const e=Date.now()-this.startTime,t=Math.max(0,this.yieldAfter-e);if(this.total+=this.counter,this.counter=0,e>=this.yieldAfter||t<=1)return this.counterInterval=1,this.total=0,!0;switch(e){case 0:case 1:this.counterInterval=2*this.total}}return!1}}t.map=async function(e,t,i,s){if(0===e.length)return[];const r=new Array(e.length),a=new o(s?.yieldAfter);function l(i){a.start();for(let n=i;n{(0,n.RAL)().timer.setImmediate((()=>{e(l(c))}))}));return r},t.mapAsync=async function(e,t,i,s){if(0===e.length)return[];const r=new Array(e.length),a=new o(s?.yieldAfter);async function l(n){a.start();for(let o=n;o{(0,n.RAL)().timer.setImmediate((()=>{e(l(c))}))}));return r},t.forEach=async function(e,t,i,s){if(0===e.length)return;const r=new o(s?.yieldAfter);function a(i){r.start();for(let n=i;n{(0,n.RAL)().timer.setImmediate((()=>{e(a(l))}))}))}},4652:(e,t)=>{"use strict";function i(e){return"string"==typeof e||e instanceof String}function n(e){return"function"==typeof e}function o(e){return Array.isArray(e)}function s(e){return e&&n(e.then)}Object.defineProperty(t,"__esModule",{value:!0}),t.asPromise=t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=n,t.array=o,t.stringArray=function(e){return o(e)&&e.every((e=>i(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=s,t.asPromise=function(e){return e instanceof Promise?e:s(e)?new Promise(((t,i)=>{e.then((e=>t(e)),(e=>i(e)))})):Promise.resolve(e)}},2667:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class i{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class n extends i{constructor(){super([n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),"-",n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),"-","4",n._randomHex(),n._randomHex(),n._randomHex(),"-",n._oneOf(n._timeHighBits),n._randomHex(),n._randomHex(),n._randomHex(),"-",n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex(),n._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return n._oneOf(n._chars)}}function o(){return new n}n._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],n._timeHighBits=["8","9","a","b"],t.empty=new i("00000000-0000-0000-0000-000000000000"),t.v4=o;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function r(e){return s.test(e)}t.isUUID=r,t.parse=function(e){if(!r(e))throw new Error("invalid uuid");return new i(e)},t.generateUuid=function(){return o().asHex()}},9100:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=t.arrayDiff=void 0;const n=i(2667),o=i(6804),s=i(294);function r(e,t){if(void 0!==e)return e[t]}function a(e,t){return e.filter((e=>t.indexOf(e)<0))}t.arrayDiff=a,t.WorkspaceFoldersFeature=class{constructor(e){this._client=e,this._listeners=new Map}getState(){return{kind:"workspace",id:this.registrationType.method,registrations:this._listeners.size>0}}get registrationType(){return s.DidChangeWorkspaceFoldersNotification.type}fillInitializeParams(e){const t=o.workspace.workspaceFolders;this.initializeWithFolders(t),e.workspaceFolders=void 0===t?null:t.map((e=>this.asProtocol(e)))}initializeWithFolders(e){this._initialFolders=e}fillClientCapabilities(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0}initialize(e){const t=this._client;t.onRequest(s.WorkspaceFoldersRequest.type,(e=>{const i=()=>{const e=o.workspace.workspaceFolders;return void 0===e?null:e.map((e=>this.asProtocol(e)))},n=t.middleware.workspace;return n&&n.workspaceFolders?n.workspaceFolders(e,i):i()}));const i=r(r(r(e,"workspace"),"workspaceFolders"),"changeNotifications");let a;"string"==typeof i?a=i:!0===i&&(a=n.generateUuid()),a&&this.register({id:a,registerOptions:void 0})}sendInitialEvent(e){let t;if(this._initialFolders&&e){const i=a(this._initialFolders,e),n=a(e,this._initialFolders);(n.length>0||i.length>0)&&(t=this.doSendEvent(n,i))}else this._initialFolders?t=this.doSendEvent([],this._initialFolders):e&&(t=this.doSendEvent(e,[]));void 0!==t&&t.catch((e=>{this._client.error(`Sending notification ${s.DidChangeWorkspaceFoldersNotification.type.method} failed`,e)}))}doSendEvent(e,t){let i={event:{added:e.map((e=>this.asProtocol(e))),removed:t.map((e=>this.asProtocol(e)))}};return this._client.sendNotification(s.DidChangeWorkspaceFoldersNotification.type,i)}register(e){let t=e.id,i=this._client,n=o.workspace.onDidChangeWorkspaceFolders((e=>{let t=e=>this.doSendEvent(e.added,e.removed),n=i.middleware.workspace;(n&&n.didChangeWorkspaceFolders?n.didChangeWorkspaceFolders(e,t):t(e)).catch((e=>{this._client.error(`Sending notification ${s.DidChangeWorkspaceFoldersNotification.type.method} failed`,e)}))}));this._listeners.set(t,n),this.sendInitialEvent(o.workspace.workspaceFolders)}unregister(e){let t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())}dispose(){for(let e of this._listeners.values())e.dispose();this._listeners.clear()}asProtocol(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}}}},1854:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolFeature=void 0;const n=i(6804),o=i(294),s=i(7482),r=i(253),a=i(2667);class l extends s.WorkspaceFeature{constructor(e){super(e,o.WorkspaceSymbolRequest.type)}fillClientCapabilities(e){let t=(0,s.ensure)((0,s.ensure)(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:r.SupportedSymbolKinds},t.tagSupport={valueSet:r.SupportedSymbolTags},t.resolveSupport={properties:["location.range"]}}initialize(e){e.workspaceSymbolProvider&&this.register({id:a.generateUuid(),registerOptions:!0===e.workspaceSymbolProvider?{workDoneProgress:!1}:e.workspaceSymbolProvider})}registerLanguageProvider(e){const t={provideWorkspaceSymbols:(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.WorkspaceSymbolRequest.type,{query:e},t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asSymbolInformations(e,t)),(e=>i.handleFailedRequest(o.WorkspaceSymbolRequest.type,t,e,null))),s=i.middleware;return s.provideWorkspaceSymbols?s.provideWorkspaceSymbols(e,t,n):n(e,t)},resolveWorkspaceSymbol:!0===e.resolveProvider?(e,t)=>{const i=this._client,n=(e,t)=>i.sendRequest(o.WorkspaceSymbolResolveRequest.type,i.code2ProtocolConverter.asWorkspaceSymbol(e),t).then((e=>t.isCancellationRequested?null:i.protocol2CodeConverter.asSymbolInformation(e)),(e=>i.handleFailedRequest(o.WorkspaceSymbolResolveRequest.type,t,e,null))),s=i.middleware;return s.resolveWorkspaceSymbol?s.resolveWorkspaceSymbol(e,t,n):n(e,t)}:void 0};return[n.languages.registerWorkspaceSymbolProvider(t),t]}}t.WorkspaceSymbolFeature=l},294:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,o)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=i(1200);o(i(1200),t),o(i(9372),t),t.createProtocolConnection=function(e,t,i,n){return(0,s.createMessageConnection)(e,t,i,n)}},9372:function(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var o=Object.getOwnPropertyDescriptor(t,i);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,o)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,o(i(5953),t),o(i(4767),t),o(i(8599),t),o(i(6525),t);var s,r=i(2798);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2798:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=i(5953);t.createProtocolConnection=function(e,t,i,o){return n.ConnectionStrategy.is(o)&&(o={connectionStrategy:o}),(0,n.createMessageConnection)(e,t,i,o)}},8599:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const n=i(5953);t.RegistrationType=class{constructor(e){this.method=e}};class o extends n.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=o;class s extends n.RequestType{constructor(e){super(e,n.ParameterStructures.byName)}}t.ProtocolRequestType=s;class r extends n.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=r;class a extends n.NotificationType{constructor(e){super(e,n.ParameterStructures.byName)}}t.ProtocolNotificationType=a},4434:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const n=i(8599);var o,s,r;(r=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",r.type=new n.ProtocolRequestType(r.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new n.ProtocolRequestType(s.method),(o=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",o.type=new n.ProtocolRequestType(o.method)},7908:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const n=i(8599);var o;(o=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",o.type=new n.ProtocolRequestType(o.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new n.ProtocolRequestType("textDocument/colorPresentation")},5442:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const n=i(8599);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new n.ProtocolRequestType("workspace/configuration")},7210:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const n=i(8599);var o;(o=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",o.type=new n.ProtocolRequestType(o.method)},5692:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;const n=i(5953),o=i(2327),s=i(8599);var r,a,l,c;(t.DiagnosticServerCancellationData||(t.DiagnosticServerCancellationData={})).is=function(e){const t=e;return t&&o.boolean(t.retriggerRequest)},(c=t.DocumentDiagnosticReportKind||(t.DocumentDiagnosticReportKind={})).Full="full",c.Unchanged="unchanged",(l=t.DocumentDiagnosticRequest||(t.DocumentDiagnosticRequest={})).method="textDocument/diagnostic",l.type=new s.ProtocolRequestType(l.method),l.partialResult=new n.ProgressType,(a=t.WorkspaceDiagnosticRequest||(t.WorkspaceDiagnosticRequest={})).method="workspace/diagnostic",a.type=new s.ProtocolRequestType(a.method),a.partialResult=new n.ProgressType,(r=t.DiagnosticRefreshRequest||(t.DiagnosticRefreshRequest={})).method="workspace/diagnostic/refresh",r.type=new s.ProtocolRequestType0(r.method)},6190:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const n=i(8599);var o,s,r,a,l,c,d;(d=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",d.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new n.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new n.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new n.ProtocolRequestType(a.method),(r=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",r.type=new n.ProtocolNotificationType(r.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new n.ProtocolNotificationType(s.method),(o=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",o.type=new n.ProtocolRequestType(o.method)},7029:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=void 0;const n=i(8599);var o;(o=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",o.type=new n.ProtocolRequestType(o.method)},9380:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const n=i(8599);var o;(o=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",o.type=new n.ProtocolRequestType(o.method)},6315:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;const n=i(8599);var o,s,r;(r=t.InlayHintRequest||(t.InlayHintRequest={})).method="textDocument/inlayHint",r.type=new n.ProtocolRequestType(r.method),(s=t.InlayHintResolveRequest||(t.InlayHintResolveRequest={})).method="inlayHint/resolve",s.type=new n.ProtocolRequestType(s.method),(o=t.InlayHintRefreshRequest||(t.InlayHintRefreshRequest={})).method="workspace/inlayHint/refresh",o.type=new n.ProtocolRequestType0(o.method)},7425:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;const n=i(8599);var o,s;(s=t.InlineValueRequest||(t.InlineValueRequest={})).method="textDocument/inlineValue",s.type=new n.ProtocolRequestType(s.method),(o=t.InlineValueRefreshRequest||(t.InlineValueRefreshRequest={})).method="workspace/inlineValue/refresh",o.type=new n.ProtocolRequestType0(o.method)},6525:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=void 0;const n=i(8599),o=i(4767),s=i(2327),r=i(9380);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return r.ImplementationRequest}});const a=i(8642);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return a.TypeDefinitionRequest}});const l=i(3402);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return l.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return l.DidChangeWorkspaceFoldersNotification}});const c=i(5442);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return c.ConfigurationRequest}});const d=i(7908);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return d.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return d.ColorPresentationRequest}});const h=i(7029);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return h.FoldingRangeRequest}});const u=i(7210);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const g=i(2392);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return g.SelectionRangeRequest}});const p=i(7895);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return p.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return p.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return p.WorkDoneProgressCancelNotification}});const m=i(4434);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=i(8489);Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const _=i(1541);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return _.ShowDocumentRequest}});const v=i(527);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return v.LinkedEditingRangeRequest}});const b=i(6190);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return b.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return b.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return b.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return b.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return b.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return b.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return b.WillDeleteFilesRequest}});const C=i(1964);Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return C.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return C.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return C.MonikerRequest}});const w=i(5318);Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return w.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return w.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return w.TypeHierarchySupertypesRequest}});const y=i(7425);Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return y.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return y.InlineValueRefreshRequest}});const S=i(6315);Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return S.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return S.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return S.InlayHintRefreshRequest}});const x=i(5692);Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return x.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return x.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return x.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return x.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return x.DiagnosticRefreshRequest}});const k=i(4460);var D,L,E,N,I,T,M,R,P,A,O,F,W,B,V,H,z,j,q,K,U,$,Z,G,Y,X,J,Q,ee,te,ie,ne,oe,se,re,ae,le,ce,de,he,ue,ge,pe,me;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return k.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return k.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return k.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return k.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return k.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return k.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return k.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return k.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return k.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return k.DidCloseNotebookDocumentNotification}}),function(e){e.is=function(e){const t=e;return s.string(t.language)||s.string(t.scheme)||s.string(t.pattern)}}(D=t.TextDocumentFilter||(t.TextDocumentFilter={})),function(e){e.is=function(e){const t=e;return s.objectLiteral(t)&&(s.string(t.notebookType)||s.string(t.scheme)||s.string(t.pattern))}}(L=t.NotebookDocumentFilter||(t.NotebookDocumentFilter={})),function(e){e.is=function(e){const t=e;return s.objectLiteral(t)&&(s.string(t.notebook)||L.is(t.notebook))&&(void 0===t.language||s.string(t.language))}}(E=t.NotebookCellTextDocumentFilter||(t.NotebookCellTextDocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!s.string(t)&&!D.is(t)&&!E.is(t))return!1;return!0}}(N=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new n.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new n.ProtocolRequestType("client/unregisterCapability"),(me=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",me.Rename="rename",me.Delete="delete",(pe=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",pe.Transactional="transactional",pe.TextOnlyTransactional="textOnlyTransactional",pe.Undo="undo",(ge=t.PositionEncodingKind||(t.PositionEncodingKind={})).UTF8="utf-8",ge.UTF16="utf-16",ge.UTF32="utf-32",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&s.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||N.is(t.documentSelector))},(ue=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return s.objectLiteral(t)&&(void 0===t.workDoneProgress||s.boolean(t.workDoneProgress))},ue.hasWorkDoneProgress=function(e){const t=e;return t&&s.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new n.ProtocolRequestType("initialize"),(t.InitializeErrorCodes||(t.InitializeErrorCodes={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new n.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new n.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new n.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new n.ProtocolNotificationType("workspace/didChangeConfiguration"),(he=t.MessageType||(t.MessageType={})).Error=1,he.Warning=2,he.Info=3,he.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new n.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new n.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new n.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new n.ProtocolNotificationType("telemetry/event"),(de=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,de.Full=1,de.Incremental=2,(ce=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ce.type=new n.ProtocolNotificationType(ce.method),(le=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},le.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(ae=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",ae.type=new n.ProtocolNotificationType(ae.method),(re=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",re.type=new n.ProtocolNotificationType(re.method),(se=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",se.type=new n.ProtocolNotificationType(se.method),(oe=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,oe.AfterDelay=2,oe.FocusOut=3,(ne=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",ne.type=new n.ProtocolNotificationType(ne.method),(ie=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",ie.type=new n.ProtocolRequestType(ie.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new n.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(te=t.FileChangeType||(t.FileChangeType={})).Created=1,te.Changed=2,te.Deleted=3,(t.RelativePattern||(t.RelativePattern={})).is=function(e){const t=e;return s.objectLiteral(t)&&(o.URI.is(t.baseUri)||o.WorkspaceFolder.is(t.baseUri))&&s.string(t.pattern)},(ee=t.WatchKind||(t.WatchKind={})).Create=1,ee.Change=2,ee.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new n.ProtocolNotificationType("textDocument/publishDiagnostics"),(Q=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,Q.TriggerCharacter=2,Q.TriggerForIncompleteCompletions=3,(J=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",J.type=new n.ProtocolRequestType(J.method),(X=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",X.type=new n.ProtocolRequestType(X.method),(Y=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",Y.type=new n.ProtocolRequestType(Y.method),(G=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,G.TriggerCharacter=2,G.ContentChange=3,(Z=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",Z.type=new n.ProtocolRequestType(Z.method),($=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",$.type=new n.ProtocolRequestType($.method),(U=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",U.type=new n.ProtocolRequestType(U.method),(K=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",K.type=new n.ProtocolRequestType(K.method),(q=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",q.type=new n.ProtocolRequestType(q.method),(j=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",j.type=new n.ProtocolRequestType(j.method),(z=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",z.type=new n.ProtocolRequestType(z.method),(H=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",H.type=new n.ProtocolRequestType(H.method),(V=t.WorkspaceSymbolResolveRequest||(t.WorkspaceSymbolResolveRequest={})).method="workspaceSymbol/resolve",V.type=new n.ProtocolRequestType(V.method),(B=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",B.type=new n.ProtocolRequestType(B.method),(W=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",W.type=new n.ProtocolRequestType(W.method),(F=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",F.type=new n.ProtocolRequestType0(F.method),(O=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",O.type=new n.ProtocolRequestType(O.method),(A=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",A.type=new n.ProtocolRequestType(A.method),(P=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",P.type=new n.ProtocolRequestType(P.method),(R=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",R.type=new n.ProtocolRequestType(R.method),(M=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",M.type=new n.ProtocolRequestType(M.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(T=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",T.type=new n.ProtocolRequestType(T.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new n.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new n.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new n.ProtocolRequestType("workspace/applyEdit")},527:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const n=i(8599);var o;(o=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",o.type=new n.ProtocolRequestType(o.method)},1964:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const n=i(8599);var o,s,r;(r=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",r.project="project",r.group="group",r.scheme="scheme",r.global="global",(s=t.MonikerKind||(t.MonikerKind={})).$import="import",s.$export="export",s.local="local",(o=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",o.type=new n.ProtocolRequestType(o.method)},4460:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;const n=i(4767),o=i(2327),s=i(8599);var r,a,l,c,d,h,u,g,p,m;!function(e){e.Markup=1,e.Code=2,e.is=function(e){return 1===e||2===e}}(r=t.NotebookCellKind||(t.NotebookCellKind={})),function(e){e.create=function(e,t){const i={executionOrder:e};return!0!==t&&!1!==t||(i.success=t),i},e.is=function(e){const t=e;return o.objectLiteral(t)&&n.uinteger.is(t.executionOrder)&&(void 0===t.success||o.boolean(t.success))},e.equals=function(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}}(a=t.ExecutionSummary||(t.ExecutionSummary={})),function(e){function t(e,i){if(e===i)return!0;if(null==e||null==i)return!1;if(typeof e!=typeof i)return!1;if("object"!=typeof e)return!1;const n=Array.isArray(e),s=Array.isArray(i);if(n!==s)return!1;if(n&&s){if(e.length!==i.length)return!1;for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const n=i(5953),o=i(8599);var s,r,a;(a=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new n.ProgressType,a.is=function(e){return e===a.type},(r=t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).method="window/workDoneProgress/create",r.type=new o.ProtocolRequestType(r.method),(s=t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).method="window/workDoneProgress/cancel",s.type=new o.ProtocolNotificationType(s.method)},2392:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const n=i(8599);var o;(o=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",o.type=new n.ProtocolRequestType(o.method)},8489:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;const n=i(8599);var o,s,r,a,l;(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new n.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new n.ProtocolRequestType(a.method),(r=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",r.type=new n.ProtocolRequestType(r.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new n.ProtocolRequestType(s.method),(o=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",o.type=new n.ProtocolRequestType0(o.method)},1541:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const n=i(8599);var o;(o=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",o.type=new n.ProtocolRequestType(o.method)},8642:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const n=i(8599);var o;(o=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",o.type=new n.ProtocolRequestType(o.method)},5318:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;const n=i(8599);var o,s,r;(r=t.TypeHierarchyPrepareRequest||(t.TypeHierarchyPrepareRequest={})).method="textDocument/prepareTypeHierarchy",r.type=new n.ProtocolRequestType(r.method),(s=t.TypeHierarchySupertypesRequest||(t.TypeHierarchySupertypesRequest={})).method="typeHierarchy/supertypes",s.type=new n.ProtocolRequestType(s.method),(o=t.TypeHierarchySubtypesRequest||(t.TypeHierarchySubtypesRequest={})).method="typeHierarchy/subtypes",o.type=new n.ProtocolRequestType(o.method)},3402:(e,t,i)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const n=i(8599);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new n.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new n.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2327:(e,t)=>{"use strict";function i(e){return"string"==typeof e||e instanceof String}function n(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=n,t.stringArray=function(e){return n(e)&&e.every((e=>i(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},4881:(e,t,i)=>{"use strict";i.r(t),i.d(t,{TextDocument:()=>o});class n{constructor(e,t,i,n){this._uri=e,this._languageId=t,this._version=i,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(t,i)}return this._content}update(e,t){for(let t of e)if(n.isIncremental(t)){const e=a(t.range),i=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,i)+t.text+this._content.substring(n,this._content.length);const o=Math.max(e.start.line,0),s=Math.max(e.end.line,0);let l=this._lineOffsets;const c=r(t.text,!1,i);if(s-o===c.length)for(let e=0,t=c.length;ee?n=o:i=o+1}let o=i-1;return{line:o,character:e-t[o]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let i=t[e.line],n=e.line+1i.line||t.line===i.line&&t.character>i.character?{start:i,end:t}:e}function l(e){const t=a(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,i,o){return new n(e,t,i,o)},e.update=function(e,t,i){if(e instanceof n)return e.update(t,i),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let i=e.getText(),n=s(t.map(l),((e,t)=>{let i=e.range.start.line-t.range.start.line;return 0===i?e.range.start.character-t.range.start.character:i})),o=0;const r=[];for(const t of n){let n=e.offsetAt(t.range.start);if(no&&r.push(i.substring(o,n)),t.newText.length&&r.push(t.newText),o=e.offsetAt(t.range.end)}return r.push(i.substr(o)),r.join("")}}(o||(o={}))},4767:(e,t,i)=>{"use strict";var n,o,s,r,a,l,c,d,h,u,g,p,m,f,_,v,b,C,w,y,S,x,k,D,L,E,N,I;i.r(t),i.d(t,{AnnotatedTextEdit:()=>k,ChangeAnnotation:()=>S,ChangeAnnotationIdentifier:()=>x,CodeAction:()=>se,CodeActionContext:()=>oe,CodeActionKind:()=>ie,CodeActionTriggerKind:()=>ne,CodeDescription:()=>b,CodeLens:()=>re,Color:()=>h,ColorInformation:()=>u,ColorPresentation:()=>g,Command:()=>w,CompletionItem:()=>j,CompletionItemKind:()=>F,CompletionItemLabelDetails:()=>z,CompletionItemTag:()=>B,CompletionList:()=>q,CreateFile:()=>L,DeleteFile:()=>N,Diagnostic:()=>C,DiagnosticRelatedInformation:()=>f,DiagnosticSeverity:()=>_,DiagnosticTag:()=>v,DocumentHighlight:()=>Y,DocumentHighlightKind:()=>G,DocumentLink:()=>le,DocumentSymbol:()=>te,DocumentUri:()=>n,EOL:()=>ke,FoldingRange:()=>m,FoldingRangeKind:()=>p,FormattingOptions:()=>ae,Hover:()=>U,InlayHint:()=>be,InlayHintKind:()=>_e,InlayHintLabelPart:()=>ve,InlineValueContext:()=>fe,InlineValueEvaluatableExpression:()=>me,InlineValueText:()=>ge,InlineValueVariableLookup:()=>pe,InsertReplaceEdit:()=>V,InsertTextFormat:()=>W,InsertTextMode:()=>H,Location:()=>c,LocationLink:()=>d,MarkedString:()=>K,MarkupContent:()=>O,MarkupKind:()=>A,OptionalVersionedTextDocumentIdentifier:()=>R,ParameterInformation:()=>$,Position:()=>a,Range:()=>l,RenameFile:()=>E,SelectionRange:()=>ce,SemanticTokenModifiers:()=>he,SemanticTokenTypes:()=>de,SemanticTokens:()=>ue,SignatureInformation:()=>Z,SymbolInformation:()=>Q,SymbolKind:()=>X,SymbolTag:()=>J,TextDocument:()=>xe,TextDocumentEdit:()=>D,TextDocumentIdentifier:()=>T,TextDocumentItem:()=>P,TextEdit:()=>y,URI:()=>o,VersionedTextDocumentIdentifier:()=>M,WorkspaceChange:()=>Se,WorkspaceEdit:()=>I,WorkspaceFolder:()=>Ce,WorkspaceSymbol:()=>ee,integer:()=>s,uinteger:()=>r}),function(e){e.is=function(e){return"string"==typeof e}}(n||(n={})),function(e){e.is=function(e){return"string"==typeof e}}(o||(o={})),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(s||(s={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.uinteger(t.line)&&De.uinteger(t.character)}}(a||(a={})),function(e){e.create=function(e,t,i,n){if(De.uinteger(e)&&De.uinteger(t)&&De.uinteger(i)&&De.uinteger(n))return{start:a.create(e,t),end:a.create(i,n)};if(a.is(e)&&a.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(i,", ").concat(n,"]"))},e.is=function(e){var t=e;return De.objectLiteral(t)&&a.is(t.start)&&a.is(t.end)}}(l||(l={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return De.defined(t)&&l.is(t.range)&&(De.string(t.uri)||De.undefined(t.uri))}}(c||(c={})),function(e){e.create=function(e,t,i,n){return{targetUri:e,targetRange:t,targetSelectionRange:i,originSelectionRange:n}},e.is=function(e){var t=e;return De.defined(t)&&l.is(t.targetRange)&&De.string(t.targetUri)&&l.is(t.targetSelectionRange)&&(l.is(t.originSelectionRange)||De.undefined(t.originSelectionRange))}}(d||(d={})),function(e){e.create=function(e,t,i,n){return{red:e,green:t,blue:i,alpha:n}},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.numberRange(t.red,0,1)&&De.numberRange(t.green,0,1)&&De.numberRange(t.blue,0,1)&&De.numberRange(t.alpha,0,1)}}(h||(h={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return De.objectLiteral(t)&&l.is(t.range)&&h.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,i){return{label:e,textEdit:t,additionalTextEdits:i}},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.string(t.label)&&(De.undefined(t.textEdit)||y.is(t))&&(De.undefined(t.additionalTextEdits)||De.typedArray(t.additionalTextEdits,y.is))}}(g||(g={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(p||(p={})),function(e){e.create=function(e,t,i,n,o,s){var r={startLine:e,endLine:t};return De.defined(i)&&(r.startCharacter=i),De.defined(n)&&(r.endCharacter=n),De.defined(o)&&(r.kind=o),De.defined(s)&&(r.collapsedText=s),r},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.uinteger(t.startLine)&&De.uinteger(t.startLine)&&(De.undefined(t.startCharacter)||De.uinteger(t.startCharacter))&&(De.undefined(t.endCharacter)||De.uinteger(t.endCharacter))&&(De.undefined(t.kind)||De.string(t.kind))}}(m||(m={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return De.defined(t)&&c.is(t.location)&&De.string(t.message)}}(f||(f={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(_||(_={})),function(e){e.Unnecessary=1,e.Deprecated=2}(v||(v={})),function(e){e.is=function(e){var t=e;return De.objectLiteral(t)&&De.string(t.href)}}(b||(b={})),function(e){e.create=function(e,t,i,n,o,s){var r={range:e,message:t};return De.defined(i)&&(r.severity=i),De.defined(n)&&(r.code=n),De.defined(o)&&(r.source=o),De.defined(s)&&(r.relatedInformation=s),r},e.is=function(e){var t,i=e;return De.defined(i)&&l.is(i.range)&&De.string(i.message)&&(De.number(i.severity)||De.undefined(i.severity))&&(De.integer(i.code)||De.string(i.code)||De.undefined(i.code))&&(De.undefined(i.codeDescription)||De.string(null===(t=i.codeDescription)||void 0===t?void 0:t.href))&&(De.string(i.source)||De.undefined(i.source))&&(De.undefined(i.relatedInformation)||De.typedArray(i.relatedInformation,f.is))}}(C||(C={})),function(e){e.create=function(e,t){for(var i=[],n=2;n0&&(o.arguments=i),o},e.is=function(e){var t=e;return De.defined(t)&&De.string(t.title)&&De.string(t.command)}}(w||(w={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.string(t.newText)&&l.is(t.range)}}(y||(y={})),function(e){e.create=function(e,t,i){var n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==i&&(n.description=i),n},e.is=function(e){var t=e;return De.objectLiteral(t)&&De.string(t.label)&&(De.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(De.string(t.description)||void 0===t.description)}}(S||(S={})),function(e){e.is=function(e){var t=e;return De.string(t)}}(x||(x={})),function(e){e.replace=function(e,t,i){return{range:e,newText:t,annotationId:i}},e.insert=function(e,t,i){return{range:{start:e,end:e},newText:t,annotationId:i}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return y.is(t)&&(S.is(t.annotationId)||x.is(t.annotationId))}}(k||(k={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return De.defined(t)&&R.is(t.textDocument)&&Array.isArray(t.edits)}}(D||(D={})),function(e){e.create=function(e,t,i){var n={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(n.options=t),void 0!==i&&(n.annotationId=i),n},e.is=function(e){var t=e;return t&&"create"===t.kind&&De.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||De.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||De.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||x.is(t.annotationId))}}(L||(L={})),function(e){e.create=function(e,t,i,n){var o={kind:"rename",oldUri:e,newUri:t};return void 0===i||void 0===i.overwrite&&void 0===i.ignoreIfExists||(o.options=i),void 0!==n&&(o.annotationId=n),o},e.is=function(e){var t=e;return t&&"rename"===t.kind&&De.string(t.oldUri)&&De.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||De.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||De.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||x.is(t.annotationId))}}(E||(E={})),function(e){e.create=function(e,t,i){var n={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(n.options=t),void 0!==i&&(n.annotationId=i),n},e.is=function(e){var t=e;return t&&"delete"===t.kind&&De.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||De.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||De.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||x.is(t.annotationId))}}(N||(N={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return De.string(e.kind)?L.is(e)||E.is(e)||N.is(e):D.is(e)})))}}(I||(I={}));var T,M,R,P,A,O,F,W,B,V,H,z,j,q,K,U,$,Z,G,Y,X,J,Q,ee,te,ie,ne,oe,se,re,ae,le,ce,de,he,ue,ge,pe,me,fe,_e,ve,be,Ce,we=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,i){var n,o;if(void 0===i?n=y.insert(e,t):x.is(i)?(o=i,n=k.insert(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),n=k.insert(e,t,o)),this.edits.push(n),void 0!==o)return o},e.prototype.replace=function(e,t,i){var n,o;if(void 0===i?n=y.replace(e,t):x.is(i)?(o=i,n=k.replace(e,t,i)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(i),n=k.replace(e,t,o)),this.edits.push(n),void 0!==o)return o},e.prototype.delete=function(e,t){var i,n;if(void 0===t?i=y.del(e):x.is(t)?(n=t,i=k.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),i=k.del(e,n)),this.edits.push(i),void 0!==n)return n},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),ye=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var i;if(x.is(e)?i=e:(i=this.nextId(),t=e),void 0!==this._annotations[i])throw new Error("Id ".concat(i," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(i));return this._annotations[i]=t,this._size++,i},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),Se=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new ye(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(D.is(e)){var i=new we(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=i}}))):e.changes&&Object.keys(e.changes).forEach((function(i){var n=new we(e.changes[i]);t._textEditChanges[i]=n}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(R.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(n=this._textEditChanges[t.uri])){var i={textDocument:t,edits:o=[]};this._workspaceEdit.documentChanges.push(i),n=new we(o,this._changeAnnotations),this._textEditChanges[t.uri]=n}return n}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var o=[];this._workspaceEdit.changes[e]=o,n=new we(o),this._textEditChanges[e]=n}return n},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new ye,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n,o,s;if(S.is(t)||x.is(t)?n=t:i=t,void 0===n?o=L.create(e,i):(s=x.is(n)?n:this._changeAnnotations.manage(n),o=L.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.renameFile=function(e,t,i,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var o,s,r;if(S.is(i)||x.is(i)?o=i:n=i,void 0===o?s=E.create(e,t,n):(r=x.is(o)?o:this._changeAnnotations.manage(o),s=E.create(e,t,n,r)),this._workspaceEdit.documentChanges.push(s),void 0!==r)return r},e.prototype.deleteFile=function(e,t,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n,o,s;if(S.is(t)||x.is(t)?n=t:i=t,void 0===n?o=N.create(e,i):(s=x.is(n)?n:this._changeAnnotations.manage(n),o=N.create(e,i,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return De.defined(t)&&De.string(t.uri)}}(T||(T={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return De.defined(t)&&De.string(t.uri)&&De.integer(t.version)}}(M||(M={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return De.defined(t)&&De.string(t.uri)&&(null===t.version||De.integer(t.version))}}(R||(R={})),function(e){e.create=function(e,t,i,n){return{uri:e,languageId:t,version:i,text:n}},e.is=function(e){var t=e;return De.defined(t)&&De.string(t.uri)&&De.string(t.languageId)&&De.integer(t.version)&&De.string(t.text)}}(P||(P={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function(t){var i=t;return i===e.PlainText||i===e.Markdown}}(A||(A={})),function(e){e.is=function(e){var t=e;return De.objectLiteral(e)&&A.is(t.kind)&&De.string(t.value)}}(O||(O={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(F||(F={})),function(e){e.PlainText=1,e.Snippet=2}(W||(W={})),function(e){e.Deprecated=1}(B||(B={})),function(e){e.create=function(e,t,i){return{newText:e,insert:t,replace:i}},e.is=function(e){var t=e;return t&&De.string(t.newText)&&l.is(t.insert)&&l.is(t.replace)}}(V||(V={})),function(e){e.asIs=1,e.adjustIndentation=2}(H||(H={})),function(e){e.is=function(e){var t=e;return t&&(De.string(t.detail)||void 0===t.detail)&&(De.string(t.description)||void 0===t.description)}}(z||(z={})),function(e){e.create=function(e){return{label:e}}}(j||(j={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(q||(q={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return De.string(t)||De.objectLiteral(t)&&De.string(t.language)&&De.string(t.value)}}(K||(K={})),function(e){e.is=function(e){var t=e;return!!t&&De.objectLiteral(t)&&(O.is(t.contents)||K.is(t.contents)||De.typedArray(t.contents,K.is))&&(void 0===e.range||l.is(e.range))}}(U||(U={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}($||($={})),function(e){e.create=function(e,t){for(var i=[],n=2;n=0;r--){var a=o[r],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");n=n.substring(0,l)+a.newText+n.substring(c,n.length),s=l}return n}}(xe||(xe={}));var De,Le=function(){function e(e,t,i,n){this._uri=e,this._languageId=t,this._version=i,this._content=n,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),i=this.offsetAt(e.end);return this._content.substring(t,i)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,i=!0,n=0;n0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),i=0,n=t.length;if(0===n)return a.create(0,e);for(;ie?n=o:i=o+1}var s=i-1;return a.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var i=t[e.line],n=e.line+1{"use strict";var n;i.r(t),i.d(t,{URI:()=>o,Utils:()=>s}),n=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function i(e,t){for(var i,n="",o=0,s=-1,r=0,a=0;a<=e.length;++a){if(a2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",o=0):o=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),s=a,r=0;continue}}else if(2===n.length||1===n.length){n="",o=0,s=a,r=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(s+1,a):n=e.slice(s+1,a),o=a-s-1;s=a,r=0}else 46===i&&-1!==r?++r:r=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var r;s>=0?r=arguments[s]:(void 0===e&&(e=process.cwd()),r=e),t(r),0!==r.length&&(n=r+"/"+n,o=47===r.charCodeAt(0))}return n=i(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=i(e,!n)).length||n||(e="."),e.length>0&&o&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,i=0;i0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":n.normalize(e)},relative:function(e,i){if(t(e),t(i),e===i)return"";if((e=n.resolve(e))===(i=n.resolve(i)))return"";for(var o=1;oc){if(47===i.charCodeAt(a+h))return i.slice(a+h+1);if(0===h)return i.slice(a+h)}else r>c&&(47===e.charCodeAt(o+h)?d=h:0===h&&(d=0));break}var u=e.charCodeAt(o+h);if(u!==i.charCodeAt(a+h))break;47===u&&(d=h)}var g="";for(h=o+d+1;h<=s;++h)h!==s&&47!==e.charCodeAt(h)||(0===g.length?g+="..":g+="/..");return g.length>0?g+i.slice(a+d):(a+=d,47===i.charCodeAt(a)&&++a,i.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var i=e.charCodeAt(0),n=47===i,o=-1,s=!0,r=e.length-1;r>=1;--r)if(47===(i=e.charCodeAt(r))){if(!s){o=r;break}}else s=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,i){if(void 0!==i&&"string"!=typeof i)throw new TypeError('"ext" argument must be a string');t(e);var n,o=0,s=-1,r=!0;if(void 0!==i&&i.length>0&&i.length<=e.length){if(i.length===e.length&&i===e)return"";var a=i.length-1,l=-1;for(n=e.length-1;n>=0;--n){var c=e.charCodeAt(n);if(47===c){if(!r){o=n+1;break}}else-1===l&&(r=!1,l=n+1),a>=0&&(c===i.charCodeAt(a)?-1==--a&&(s=n):(a=-1,s=l))}return o===s?s=l:-1===s&&(s=e.length),e.slice(o,s)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!r){o=n+1;break}}else-1===s&&(r=!1,s=n+1);return-1===s?"":e.slice(o,s)},extname:function(e){t(e);for(var i=-1,n=0,o=-1,s=!0,r=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===o&&(s=!1,o=a+1),46===l?-1===i?i=a:1!==r&&(r=1):-1!==i&&(r=-1);else if(!s){n=a+1;break}}return-1===i||-1===o||0===r||1===r&&i===o-1&&i===n+1?"":e.slice(i,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var i=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return i?i===t.root?i+n:i+"/"+n:n}(0,e)},parse:function(e){t(e);var i={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return i;var n,o=e.charCodeAt(0),s=47===o;s?(i.root="/",n=1):n=0;for(var r=-1,a=0,l=-1,c=!0,d=e.length-1,h=0;d>=n;--d)if(47!==(o=e.charCodeAt(d)))-1===l&&(c=!1,l=d+1),46===o?-1===r?r=d:1!==h&&(h=1):-1!==r&&(h=-1);else if(!c){a=d+1;break}return-1===r||-1===l||0===h||1===h&&r===l-1&&r===a+1?-1!==l&&(i.base=i.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(i.name=e.slice(1,r),i.base=e.slice(1,l)):(i.name=e.slice(a,r),i.base=e.slice(a,l)),i.ext=e.slice(r,l)),a>0?i.dir=e.slice(0,a-1):s&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},447:(e,t,i)=>{var n;if(i.r(t),i.d(t,{URI:()=>m,Utils:()=>D}),"object"==typeof process)n="win32"===process.platform;else if("object"==typeof navigator){var o=navigator.userAgent;n=o.indexOf("Windows")>=0}var s,r,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),l=/^\w[\w\d+.-]*$/,c=/^\//,d=/^\/\//;function h(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(d.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var u="",g="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,m=function(){function e(e,t,i,n,o,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||u,this.authority=e.authority||u,this.path=e.path||u,this.query=e.query||u,this.fragment=e.fragment||u):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||u,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==g&&(t=g+t):t=g}return t}(this.scheme,i||u),this.query=n||u,this.fragment=o||u,h(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return w(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,i=e.authority,n=e.path,o=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=u),void 0===i?i=this.authority:null===i&&(i=u),void 0===n?n=this.path:null===n&&(n=u),void 0===o?o=this.query:null===o&&(o=u),void 0===s?s=this.fragment:null===s&&(s=u),t===this.scheme&&i===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new _(t,i,n,o,s)},e.parse=function(e,t){void 0===t&&(t=!1);var i=p.exec(e);return i?new _(i[2]||u,k(i[4]||u),k(i[5]||u),k(i[7]||u),k(i[9]||u),t):new _(u,u,u,u,u)},e.file=function(e){var t=u;if(n&&(e=e.replace(/\\/g,g)),e[0]===g&&e[1]===g){var i=e.indexOf(g,2);-1===i?(t=e.substring(2),e=g):(t=e.substring(2,i),e=e.substring(i)||g)}return new _("file",t,e,u,u)},e.from=function(e){var t=new _(e.scheme,e.authority,e.path,e.query,e.fragment);return h(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),y(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var i=new _(t);return i._formatted=t.external,i._fsPath=t._sep===f?t.fsPath:null,i}return t},e}(),f=n?1:void 0,_=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=w(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(m),v=((r={})[58]="%3A",r[47]="%2F",r[63]="%3F",r[35]="%23",r[91]="%5B",r[93]="%5D",r[64]="%40",r[33]="%21",r[36]="%24",r[38]="%26",r[39]="%27",r[40]="%28",r[41]="%29",r[42]="%2A",r[43]="%2B",r[44]="%2C",r[59]="%3B",r[61]="%3D",r[32]="%20",r);function b(e,t){for(var i=void 0,n=-1,o=0;o=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),void 0!==i&&(i+=e.charAt(o));else{void 0===i&&(i=e.substr(0,o));var r=v[s];void 0!==r?(-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),i+=r):-1===n&&(n=o)}}return-1!==n&&(i+=encodeURIComponent(e.substring(n))),void 0!==i?i:e}function C(e){for(var t=void 0,i=0;i1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,n&&(i=i.replace(/\//g,"\\")),i}function y(e,t){var i=t?C:b,n="",o=e.scheme,s=e.authority,r=e.path,a=e.query,l=e.fragment;if(o&&(n+=o,n+=":"),(s||"file"===o)&&(n+=g,n+=g),s){var c=s.indexOf("@");if(-1!==c){var d=s.substr(0,c);s=s.substr(c+1),-1===(c=d.indexOf(":"))?n+=i(d,!1):(n+=i(d.substr(0,c),!1),n+=":",n+=i(d.substr(c+1),!1)),n+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?n+=i(s,!1):(n+=i(s.substr(0,c),!1),n+=s.substr(c))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2))(h=r.charCodeAt(1))>=65&&h<=90&&(r="/".concat(String.fromCharCode(h+32),":").concat(r.substr(3)));else if(r.length>=2&&58===r.charCodeAt(1)){var h;(h=r.charCodeAt(0))>=65&&h<=90&&(r="".concat(String.fromCharCode(h+32),":").concat(r.substr(2)))}n+=i(r,!0)}return a&&(n+="?",n+=i(a,!1)),l&&(n+="#",n+=t?l:b(l,!1)),n}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var D,L=i(470),E=function(e,t,i){if(i||2===arguments.length)for(var n,o=0,s=t.length;o{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i(447)})();const{URI:o,Utils:s}=n},4748:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII="},6161:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},1096:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},5023:(e,t,i)=>{"use strict";e.exports=i.p+"ade705761eb7e702770d.ttf"},1405:(e,t,i)=>{"use strict";e.exports=i.p+"dc9ae6434bfd831400b6.wasm"}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={id:n,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.exports}i.m=e,i.amdO={},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),i.b=document.baseURI||self.location.href,i.nc=void 0,(()=>{"use strict";var e={};i.r(e),i.d(e,{PixelRatio:()=>ze,getZoomFactor:()=>je,isAndroid:()=>Xe,isChrome:()=>$e,isElectron:()=>Ye,isFirefox:()=>Ke,isSafari:()=>Ze,isStandalone:()=>Je,isWebKit:()=>Ue,isWebkitWebView:()=>Ge});var t={};i.r(t),i.d(t,{CancellationTokenSource:()=>D4,Emitter:()=>L4,KeyCode:()=>E4,KeyMod:()=>N4,MarkerSeverity:()=>P4,MarkerTag:()=>A4,Position:()=>I4,Range:()=>T4,Selection:()=>M4,SelectionDirection:()=>R4,Token:()=>F4,Uri:()=>O4,editor:()=>W4,languages:()=>B4});var n=i(6062),o=i.n(n),s=i(4036),r=i.n(s),a=i(6793),l=i.n(a),c=i(7892),d=i.n(c),h=i(1173),u=i.n(h),g=i(2464),p=i.n(g),m=i(6830),f={};f.styleTagTransform=p(),f.setAttributes=d(),f.insert=l().bind(null,"head"),f.domAPI=r(),f.insertStyleElement=u(),o()(m.Z,f),m.Z&&m.Z.locals&&m.Z.locals;var _=i(6386),v=i.n(_);function b(e,t,...i){return function(e,t){let i;return i=0===t.length?e:e.replace(/\{(\d+)\}/g,(function(e,i){const n=i[0];return void 0!==t[n]?t[n]:e})),i}(t,i)}const C=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function w(e){k(e)||C.onUnexpectedError(e)}function y(e){k(e)||C.onUnexpectedExternalError(e)}function S(e){if(e instanceof Error){let{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack}}return e}const x="Canceled";function k(e){return e instanceof D||e instanceof Error&&e.name===x&&e.message===x}class D extends Error{constructor(){super(x),this.name=this.message}}function L(){const e=new Error(x);return e.name=e.message,e}function E(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}class N extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}function I(e){const t=this;let i,n=!1;return function(){return n||(n=!0,i=e.apply(t,arguments)),i}}var T;!function(e){e.is=function(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]};const t=Object.freeze([]);e.empty=function(){return t},e.single=function*(e){yield e},e.from=function(e){return e||t},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const i of e)if(t(i))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const n of e)yield t(n,i++)},e.concat=function*(...e){for(const t of e)for(const e of t)yield e},e.concatNested=function*(e){for(const t of e)for(const e of t)yield e},e.reduce=function(e,t,i){let n=i;for(const i of e)n=t(n,i);return n},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);to}]},e.equals=function(e,t,i=((e,t)=>e===t)){const n=e[Symbol.iterator](),o=t[Symbol.iterator]();for(;;){const e=n.next(),t=o.next();if(e.done!==t.done)return!1;if(e.done)return!0;if(!i(e.value,t.value))return!1}}}(T||(T={}));var M;class R extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function P(e){return"function"==typeof e.dispose&&0===e.dispose.length}function A(e){if(T.is(e)){let t=[];for(const i of e)if(i)try{i.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new R(t);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function O(...e){const t=F((()=>A(e)));return t}function F(e){const t={dispose:I((()=>{e()}))};return t}class W{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){try{A(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?W.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}W.DISABLE_DISPOSED_WARNING=!1;class B{constructor(){this._store=new W,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}B.None=Object.freeze({dispose(){}});class V{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||(null===(t=this._value)||void 0===t||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,null===(e=this._value)||void 0===e||e.dispose(),this._value=void 0}clearAndLeak(){const e=this._value;return this._value=void 0,e}}class H{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1}set(e){let t=e;return this.unset=()=>t=void 0,this.isset=()=>void 0!==t,this.dispose=()=>{t&&(t(),t=void 0)},this}}class z{constructor(e){this.object=e}dispose(){}}class j{constructor(e){this.element=e,this.next=j.Undefined,this.prev=j.Undefined}}j.Undefined=new j(void 0);class q{constructor(){this._first=j.Undefined,this._last=j.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===j.Undefined}clear(){let e=this._first;for(;e!==j.Undefined;){const t=e.next;e.prev=j.Undefined,e.next=j.Undefined,e=t}this._first=j.Undefined,this._last=j.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const i=new j(e);if(this._first===j.Undefined)this._first=i,this._last=i;else if(t){const e=this._last;this._last=i,i.prev=e,e.next=i}else{const e=this._first;this._first=i,i.next=e,e.prev=i}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(i))}}shift(){if(this._first!==j.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==j.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==j.Undefined&&e.next!==j.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===j.Undefined&&e.next===j.Undefined?(this._first=j.Undefined,this._last=j.Undefined):e.next===j.Undefined?(this._last=this._last.prev,this._last.next=j.Undefined):e.prev===j.Undefined&&(this._first=this._first.next,this._first.prev=j.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==j.Undefined;)yield e.element,e=e.next}}const K="en";let U,$,Z=!1,G=!1,Y=!1,X=!1,J=!1,Q=!1,ee=!1,te=!1,ie=!1,ne=K,oe=null;const se="object"==typeof self?self:"object"==typeof i.g?i.g:{};let re;void 0!==se.vscode&&void 0!==se.vscode.process?re=se.vscode.process:"undefined"!=typeof process&&(re=process);const ae="string"==typeof(null===(M=null==re?void 0:re.versions)||void 0===M?void 0:M.electron),le=ae&&"renderer"===(null==re?void 0:re.type);if("object"!=typeof navigator||le)if("object"==typeof re){Z="win32"===re.platform,G="darwin"===re.platform,Y="linux"===re.platform,X=Y&&!!re.env.SNAP&&!!re.env.SNAP_REVISION,ee=ae,ie=!!re.env.CI||!!re.env.BUILD_ARTIFACTSTAGINGDIRECTORY,U=K,ne=K;const e=re.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),i=t.availableLanguages["*"];U=t.locale,ne=i||K,oe=t._translationsConfigFile}catch(e){}J=!0}else console.error("Unable to resolve platform.");else $=navigator.userAgent,Z=$.indexOf("Windows")>=0,G=$.indexOf("Macintosh")>=0,te=($.indexOf("Macintosh")>=0||$.indexOf("iPad")>=0||$.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Y=$.indexOf("Linux")>=0,Q=!0,U=navigator.language,ne=U;let ce=0;G?ce=1:Z?ce=3:Y&&(ce=2);const de=Z,he=G,ue=Y,ge=J,pe=Q,me=Q&&"function"==typeof se.importScripts,fe=te,_e=$,ve=ne,be=(()=>{if("function"==typeof se.postMessage&&!se.importScripts){let e=[];se.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=e.length;i{const n=++t;e.push({id:n,callback:i}),se.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),Ce=G||te?2:Z?1:3;let we=!0,ye=!1;function Se(){if(!ye){ye=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);we=513===t[0]}return we}const xe=!!(_e&&_e.indexOf("Chrome")>=0),ke=!!(_e&&_e.indexOf("Firefox")>=0),De=!!(!xe&&_e&&_e.indexOf("Safari")>=0),Le=!!(_e&&_e.indexOf("Edg/")>=0),Ee=(_e&&_e.indexOf("Android"),se.performance&&"function"==typeof se.performance.now);class Ne{constructor(e){this._highResolution=Ee&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new Ne(e)}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?se.performance.now():Date.now()}}var Ie;!function(e){function t(e){return(t,i=null,n)=>{let o,s=!1;return o=e((e=>{if(!s)return o?o.dispose():s=!0,t.call(i,e)}),null,n),s&&o.dispose(),o}}function i(e,t,i){return r(((i,n=null,o)=>e((e=>i.call(n,t(e))),null,o)),i)}function n(e,t,i){return r(((i,n=null,o)=>e((e=>{t(e),i.call(n,e)}),null,o)),i)}function o(e,t,i){return r(((i,n=null,o)=>e((e=>t(e)&&i.call(n,e)),null,o)),i)}function s(e,t,n,o){let s=n;return i(e,(e=>(s=t(s,e),s)),o)}function r(e,t){let i;const n=new Pe({onFirstListenerAdd(){i=e(n.fire,n)},onLastListenerRemove(){i.dispose()}});return t&&t.add(n),n.event}function a(e,t,i=100,n=!1,o,s){let r,a,l,c=0;const d=new Pe({leakWarningThreshold:o,onFirstListenerAdd(){r=e((e=>{c++,a=t(a,e),n&&!l&&(d.fire(a),a=void 0),clearTimeout(l),l=setTimeout((()=>{const e=a;a=void 0,l=void 0,(!n||c>1)&&d.fire(e),c=0}),i)}))},onLastListenerRemove(){r.dispose()}});return s&&s.add(d),d.event}function l(e,t=((e,t)=>e===t),i){let n,s=!0;return o(e,(e=>{const i=s||!t(e,n);return s=!1,n=e,i}),i)}e.None=()=>B.None,e.once=t,e.map=i,e.forEach=n,e.filter=o,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,n)=>O(...e.map((e=>e((e=>t.call(i,e)),null,n))))},e.reduce=s,e.debounce=a,e.latch=l,e.split=function(t,i,n){return[e.filter(t,i,n),e.filter(t,(e=>!i(e)),n)]},e.buffer=function(e,t=!1,i=[]){let n=i.slice(),o=e((e=>{n?n.push(e):r.fire(e)}));const s=()=>{n&&n.forEach((e=>r.fire(e))),n=null},r=new Pe({onFirstListenerAdd(){o||(o=e((e=>r.fire(e))))},onFirstListenerDidAdd(){n&&(t?setTimeout(s):s())},onLastListenerRemove(){o&&o.dispose(),o=null}});return r.event};class c{constructor(e){this.event=e}map(e){return new c(i(this.event,e))}forEach(e){return new c(n(this.event,e))}filter(e){return new c(o(this.event,e))}reduce(e,t){return new c(s(this.event,e,t))}latch(){return new c(l(this.event))}debounce(e,t=100,i=!1,n){return new c(a(this.event,e,t,i,n))}on(e,t,i){return this.event(e,t,i)}once(e,i,n){return t(this.event)(e,i,n)}}e.chain=function(e){return new c(e)},e.fromNodeEventEmitter=function(e,t,i=(e=>e)){const n=(...e)=>o.fire(i(...e)),o=new Pe({onFirstListenerAdd:()=>e.on(t,n),onLastListenerRemove:()=>e.removeListener(t,n)});return o.event},e.fromDOMEventEmitter=function(e,t,i=(e=>e)){const n=(...e)=>o.fire(i(...e)),o=new Pe({onFirstListenerAdd:()=>e.addEventListener(t,n),onLastListenerRemove:()=>e.removeEventListener(t,n)});return o.event},e.toPromise=function(e){return new Promise((i=>t(e)(i)))},e.runAndSubscribe=function(e,t){return t(void 0),e((e=>t(e)))},e.runAndSubscribeWithStore=function(e,t){let i=null;function n(e){null==i||i.dispose(),i=new W,t(e,i)}n(void 0);const o=e((e=>n(e)));return F((()=>{o.dispose(),null==i||i.dispose()}))}}(Ie||(Ie={}));class Te{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${Te._idPool++}`}start(e){this._stopWatch=new Ne(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Te._idPool=0;class Me{constructor(e){this.value=e}static create(){var e;return new Me(null!==(e=(new Error).stack)&&void 0!==e?e:"")}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class Re{constructor(e,t,i){this.callback=e,this.callbackThis=t,this.stack=i,this.subscription=new H}invoke(e){this.callback.call(this.callbackThis,e)}}class Pe{constructor(e){var t;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=(null===(t=this._options)||void 0===t?void 0:t._profName)?new Te(this._options._profName):void 0}dispose(){var e,t,i,n;this._disposed||(this._disposed=!0,this._listeners&&this._listeners.clear(),null===(e=this._deliveryQueue)||void 0===e||e.clear(),null===(i=null===(t=this._options)||void 0===t?void 0:t.onLastListenerRemove)||void 0===i||i.call(t),null===(n=this._leakageMon)||void 0===n||n.dispose())}get event(){return this._event||(this._event=(e,t,i)=>{var n,o,s;this._listeners||(this._listeners=new q);const r=this._listeners.isEmpty();let a,l;r&&(null===(n=this._options)||void 0===n?void 0:n.onFirstListenerAdd)&&this._options.onFirstListenerAdd(this),this._leakageMon&&this._listeners.size>=30&&(l=Me.create(),a=this._leakageMon.check(l,this._listeners.size+1));const c=new Re(e,t,l),d=this._listeners.push(c);r&&(null===(o=this._options)||void 0===o?void 0:o.onFirstListenerDidAdd)&&this._options.onFirstListenerDidAdd(this),(null===(s=this._options)||void 0===s?void 0:s.onListenerDidAdd)&&this._options.onListenerDidAdd(this,e,t);const h=c.subscription.set((()=>{a&&a(),!this._disposed&&(d(),this._options&&this._options.onLastListenerRemove)&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this))}));return i instanceof W?i.add(h):Array.isArray(i)&&i.push(h),h}),this._event}fire(e){var t,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new q);for(let t of this._listeners)this._deliveryQueue.push([t,e]);for(null===(t=this._perfMon)||void 0===t||t.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[e,t]=this._deliveryQueue.shift();try{e.invoke(t)}catch(e){w(e)}}null===(i=this._perfMon)||void 0===i||i.stop()}}}class Ae extends Pe{constructor(e){super(e),this._isPaused=0,this._eventQueue=new q,this._mergeFn=null==e?void 0:e.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._listeners&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class Oe extends Ae{constructor(e){var t;super(e),this._delay=null!==(t=e.delay)&&void 0!==t?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class Fe{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,n)=>e((e=>{const n=this.buffers[this.buffers.length-1];n?n.push((()=>t.call(i,e))):t.call(i,e)}),void 0,n)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach((e=>e())),i}}class We{constructor(){this.listening=!1,this.inputEvent=Ie.None,this.inputEventListener=B.None,this.emitter=new Pe({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}class Be{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}Be.INSTANCE=new Be;class Ve extends B{constructor(){super(),this._onDidChange=this._register(new Pe),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(e){this._mediaQueryList&&this._mediaQueryList.removeEventListener("change",this._listener),this._mediaQueryList=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),e&&this._onDidChange.fire()}}class He extends B{constructor(){super(),this._onDidChange=this._register(new Pe),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const e=this._register(new Ve);this._register(e.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}get value(){return this._value}_getPixelRatio(){const e=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)}}const ze=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new He),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}};function je(){return Be.INSTANCE.getZoomFactor()}const qe=navigator.userAgent,Ke=qe.indexOf("Firefox")>=0,Ue=qe.indexOf("AppleWebKit")>=0,$e=qe.indexOf("Chrome")>=0,Ze=!$e&&qe.indexOf("Safari")>=0,Ge=!$e&&!Ze&&Ue,Ye=qe.indexOf("Electron/")>=0,Xe=qe.indexOf("Android")>=0,Je=window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches;function Qe(e){return Array.isArray(e)}function et(e){return"string"==typeof e}function tt(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function it(e){return"number"==typeof e&&!isNaN(e)}function nt(e){return!!e&&"function"==typeof e[Symbol.iterator]}function ot(e){return!0===e||!1===e}function st(e){return void 0===e}function rt(e){return!at(e)}function at(e){return st(e)||null===e}function lt(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function ct(e){if(at(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function dt(e){return"function"==typeof e}function ht(e,t){if(et(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(dt(t)){try{if(e instanceof t)return}catch(e){}if(!at(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function ut(e){const t=[];for(const i of function(e){let t=[],i=Object.getPrototypeOf(e);for(;Object.prototype!==i;)t=t.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return t}(e))"function"==typeof e[i]&&t.push(i);return t}function gt(e){return null===e?void 0:e}function pt(e,t="Unreachable"){throw new Error(t)}ge||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,ge||navigator&&navigator.clipboard&&navigator.clipboard.readText,ge||Je||navigator.keyboard,"ontouchstart"in window||navigator.maxTouchPoints;const mt=window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0);class ft{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const _t=new ft,vt=new ft,bt=new ft,Ct=new Array(230),wt={},yt=[],St=Object.create(null),xt=Object.create(null),kt=[],Dt=[];for(let e=0;e<=193;e++)kt[e]=-1;for(let e=0;e<=127;e++)Dt[e]=-1;var Lt;function Et(e,t){return(e|(65535&t)<<16>>>0)>>>0}function Nt(e,t){if(0===e)return null;const i=(65535&e)>>>0,n=(4294901760&e)>>>16;return new Mt(0!==n?[It(i,t),It(n,t)]:[It(i,t)])}function It(e,t){const i=!!(2048&e),n=!!(256&e);return new Tt(2===t?n:i,!!(1024&e),!!(512&e),2===t?i:n,255&e)}!function(){const e="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[0,1,1,"Hyper",0,e,0,e,e,e],[0,1,2,"Super",0,e,0,e,e,e],[0,1,3,"Fn",0,e,0,e,e,e],[0,1,4,"FnLock",0,e,0,e,e,e],[0,1,5,"Suspend",0,e,0,e,e,e],[0,1,6,"Resume",0,e,0,e,e,e],[0,1,7,"Turbo",0,e,0,e,e,e],[0,1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[0,1,9,"WakeUp",0,e,0,e,e,e],[31,0,10,"KeyA",31,"A",65,"VK_A",e,e],[32,0,11,"KeyB",32,"B",66,"VK_B",e,e],[33,0,12,"KeyC",33,"C",67,"VK_C",e,e],[34,0,13,"KeyD",34,"D",68,"VK_D",e,e],[35,0,14,"KeyE",35,"E",69,"VK_E",e,e],[36,0,15,"KeyF",36,"F",70,"VK_F",e,e],[37,0,16,"KeyG",37,"G",71,"VK_G",e,e],[38,0,17,"KeyH",38,"H",72,"VK_H",e,e],[39,0,18,"KeyI",39,"I",73,"VK_I",e,e],[40,0,19,"KeyJ",40,"J",74,"VK_J",e,e],[41,0,20,"KeyK",41,"K",75,"VK_K",e,e],[42,0,21,"KeyL",42,"L",76,"VK_L",e,e],[43,0,22,"KeyM",43,"M",77,"VK_M",e,e],[44,0,23,"KeyN",44,"N",78,"VK_N",e,e],[45,0,24,"KeyO",45,"O",79,"VK_O",e,e],[46,0,25,"KeyP",46,"P",80,"VK_P",e,e],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[48,0,27,"KeyR",48,"R",82,"VK_R",e,e],[49,0,28,"KeyS",49,"S",83,"VK_S",e,e],[50,0,29,"KeyT",50,"T",84,"VK_T",e,e],[51,0,30,"KeyU",51,"U",85,"VK_U",e,e],[52,0,31,"KeyV",52,"V",86,"VK_V",e,e],[53,0,32,"KeyW",53,"W",87,"VK_W",e,e],[54,0,33,"KeyX",54,"X",88,"VK_X",e,e],[55,0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[22,0,36,"Digit1",22,"1",49,"VK_1",e,e],[23,0,37,"Digit2",23,"2",50,"VK_2",e,e],[24,0,38,"Digit3",24,"3",51,"VK_3",e,e],[25,0,39,"Digit4",25,"4",52,"VK_4",e,e],[26,0,40,"Digit5",26,"5",53,"VK_5",e,e],[27,0,41,"Digit6",27,"6",54,"VK_6",e,e],[28,0,42,"Digit7",28,"7",55,"VK_7",e,e],[29,0,43,"Digit8",29,"8",56,"VK_8",e,e],[30,0,44,"Digit9",30,"9",57,"VK_9",e,e],[21,0,45,"Digit0",21,"0",48,"VK_0",e,e],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[10,1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,e,0,e,e,e],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[59,1,64,"F1",59,"F1",112,"VK_F1",e,e],[60,1,65,"F2",60,"F2",113,"VK_F2",e,e],[61,1,66,"F3",61,"F3",114,"VK_F3",e,e],[62,1,67,"F4",62,"F4",115,"VK_F4",e,e],[63,1,68,"F5",63,"F5",116,"VK_F5",e,e],[64,1,69,"F6",64,"F6",117,"VK_F6",e,e],[65,1,70,"F7",65,"F7",118,"VK_F7",e,e],[66,1,71,"F8",66,"F8",119,"VK_F8",e,e],[67,1,72,"F9",67,"F9",120,"VK_F9",e,e],[68,1,73,"F10",68,"F10",121,"VK_F10",e,e],[69,1,74,"F11",69,"F11",122,"VK_F11",e,e],[70,1,75,"F12",70,"F12",123,"VK_F12",e,e],[0,1,76,"PrintScreen",0,e,0,e,e,e],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",e,e],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[14,1,80,"Home",14,"Home",36,"VK_HOME",e,e],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[13,1,83,"End",13,"End",35,"VK_END",e,e],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",e,e],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",e,e],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",e,e],[3,1,94,"NumpadEnter",3,e,0,e,e,e],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",e,e],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",e,e],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",e,e],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",e,e],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",e,e],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",e,e],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",e,e],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",e,e],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",e,e],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",e,e],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",e,e],[58,1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[0,1,108,"Power",0,e,0,e,e,e],[0,1,109,"NumpadEqual",0,e,0,e,e,e],[71,1,110,"F13",71,"F13",124,"VK_F13",e,e],[72,1,111,"F14",72,"F14",125,"VK_F14",e,e],[73,1,112,"F15",73,"F15",126,"VK_F15",e,e],[74,1,113,"F16",74,"F16",127,"VK_F16",e,e],[75,1,114,"F17",75,"F17",128,"VK_F17",e,e],[76,1,115,"F18",76,"F18",129,"VK_F18",e,e],[77,1,116,"F19",77,"F19",130,"VK_F19",e,e],[0,1,117,"F20",0,e,0,"VK_F20",e,e],[0,1,118,"F21",0,e,0,"VK_F21",e,e],[0,1,119,"F22",0,e,0,"VK_F22",e,e],[0,1,120,"F23",0,e,0,"VK_F23",e,e],[0,1,121,"F24",0,e,0,"VK_F24",e,e],[0,1,122,"Open",0,e,0,e,e,e],[0,1,123,"Help",0,e,0,e,e,e],[0,1,124,"Select",0,e,0,e,e,e],[0,1,125,"Again",0,e,0,e,e,e],[0,1,126,"Undo",0,e,0,e,e,e],[0,1,127,"Cut",0,e,0,e,e,e],[0,1,128,"Copy",0,e,0,e,e,e],[0,1,129,"Paste",0,e,0,e,e,e],[0,1,130,"Find",0,e,0,e,e,e],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",e,e],[0,1,136,"KanaMode",0,e,0,e,e,e],[0,0,137,"IntlYen",0,e,0,e,e,e],[0,1,138,"Convert",0,e,0,e,e,e],[0,1,139,"NonConvert",0,e,0,e,e,e],[0,1,140,"Lang1",0,e,0,e,e,e],[0,1,141,"Lang2",0,e,0,e,e,e],[0,1,142,"Lang3",0,e,0,e,e,e],[0,1,143,"Lang4",0,e,0,e,e,e],[0,1,144,"Lang5",0,e,0,e,e,e],[0,1,145,"Abort",0,e,0,e,e,e],[0,1,146,"Props",0,e,0,e,e,e],[0,1,147,"NumpadParenLeft",0,e,0,e,e,e],[0,1,148,"NumpadParenRight",0,e,0,e,e,e],[0,1,149,"NumpadBackspace",0,e,0,e,e,e],[0,1,150,"NumpadMemoryStore",0,e,0,e,e,e],[0,1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[0,1,152,"NumpadMemoryClear",0,e,0,e,e,e],[0,1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[0,1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[0,1,155,"NumpadClear",126,"Clear",12,"VK_CLEAR",e,e],[0,1,156,"NumpadClearEntry",0,e,0,e,e,e],[5,1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[4,1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[6,1,0,e,6,"Alt",18,"VK_MENU",e,e],[57,1,0,e,57,"Meta",0,"VK_COMMAND",e,e],[5,1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[4,1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[6,1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[57,1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[5,1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[4,1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[6,1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[57,1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[0,1,165,"BrightnessUp",0,e,0,e,e,e],[0,1,166,"BrightnessDown",0,e,0,e,e,e],[0,1,167,"MediaPlay",0,e,0,e,e,e],[0,1,168,"MediaRecord",0,e,0,e,e,e],[0,1,169,"MediaFastForward",0,e,0,e,e,e],[0,1,170,"MediaRewind",0,e,0,e,e,e],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",e,e],[0,1,174,"Eject",0,e,0,e,e,e],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[0,1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[0,1,180,"SelectTask",0,e,0,e,e,e],[0,1,181,"LaunchScreenSaver",0,e,0,e,e,e],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[0,1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[0,1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[0,1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[0,1,189,"ZoomToggle",0,e,0,e,e,e],[0,1,190,"MailReply",0,e,0,e,e,e],[0,1,191,"MailForward",0,e,0,e,e,e],[0,1,192,"MailSend",0,e,0,e,e,e],[109,1,0,e,109,"KeyInComposition",229,e,e,e],[111,1,0,e,111,"ABNT_C2",194,"VK_ABNT_C2",e,e],[91,1,0,e,91,"OEM_8",223,"VK_OEM_8",e,e],[0,1,0,e,0,e,0,"VK_KANA",e,e],[0,1,0,e,0,e,0,"VK_HANGUL",e,e],[0,1,0,e,0,e,0,"VK_JUNJA",e,e],[0,1,0,e,0,e,0,"VK_FINAL",e,e],[0,1,0,e,0,e,0,"VK_HANJA",e,e],[0,1,0,e,0,e,0,"VK_KANJI",e,e],[0,1,0,e,0,e,0,"VK_CONVERT",e,e],[0,1,0,e,0,e,0,"VK_NONCONVERT",e,e],[0,1,0,e,0,e,0,"VK_ACCEPT",e,e],[0,1,0,e,0,e,0,"VK_MODECHANGE",e,e],[0,1,0,e,0,e,0,"VK_SELECT",e,e],[0,1,0,e,0,e,0,"VK_PRINT",e,e],[0,1,0,e,0,e,0,"VK_EXECUTE",e,e],[0,1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[0,1,0,e,0,e,0,"VK_HELP",e,e],[0,1,0,e,0,e,0,"VK_APPS",e,e],[0,1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[0,1,0,e,0,e,0,"VK_PACKET",e,e],[0,1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[0,1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[0,1,0,e,0,e,0,"VK_ATTN",e,e],[0,1,0,e,0,e,0,"VK_CRSEL",e,e],[0,1,0,e,0,e,0,"VK_EXSEL",e,e],[0,1,0,e,0,e,0,"VK_EREOF",e,e],[0,1,0,e,0,e,0,"VK_PLAY",e,e],[0,1,0,e,0,e,0,"VK_ZOOM",e,e],[0,1,0,e,0,e,0,"VK_NONAME",e,e],[0,1,0,e,0,e,0,"VK_PA1",e,e],[0,1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]];let i=[],n=[];for(const e of t){const[t,o,s,r,a,l,c,d,h,u]=e;if(n[s]||(n[s]=!0,yt[s]=r,St[r]=s,xt[r.toLowerCase()]=s,o&&(kt[s]=a,0!==a&&3!==a&&5!==a&&4!==a&&6!==a&&57!==a&&(Dt[a]=s))),!i[a]){if(i[a]=!0,!l)throw new Error(`String representation missing for key code ${a} around scan code ${r}`);_t.define(a,l),vt.define(a,h||l),bt.define(a,u||h||l)}c&&(Ct[c]=a),d&&(wt[d]=a)}Dt[3]=46}(),function(e){e.toString=function(e){return _t.keyCodeToStr(e)},e.fromString=function(e){return _t.strToKeyCode(e)},e.toUserSettingsUS=function(e){return vt.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return bt.keyCodeToStr(e)},e.fromUserSettings=function(e){return vt.strToKeyCode(e)||bt.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=93&&e<=108)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return _t.keyCodeToStr(e)}}(Lt||(Lt={}));class Tt{constructor(e,t,i,n,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=n,this.keyCode=o}equals(e){return this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}isModifierKey(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode}toChord(){return new Mt([this])}isDuplicateModifierCase(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode}}class Mt{constructor(e){if(0===e.length)throw E("parts");this.parts=e}}class Rt{constructor(e,t,i,n,o,s){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=n,this.keyLabel=o,this.keyAriaLabel=s}}const Pt=he?256:2048,At=he?2048:256;class Ot{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.keyCode=function(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Lt.fromString(t)}const t=e.keyCode;if(3===t)return 7;if(Ke){if(59===t)return 80;if(107===t)return 81;if(109===t)return 83;if(he&&224===t)return 57}else if(Ue){if(91===t)return 57;if(he&&93===t)return 57;if(!he&&92===t)return 57}return Ct[t]||0}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeybinding(){return this._asRuntimeKeybinding}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=Pt),this.altKey&&(t|=512),this.shiftKey&&(t|=1024),this.metaKey&&(t|=At),t|=e,t}_computeRuntimeKeybinding(){let e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new Tt(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}}let Ft=!1,Wt=null;function Bt(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,i=e.parent.location;if("null"!==t.origin&&"null"!==i.origin&&t.origin!==i.origin)return Ft=!0,null}catch(e){return Ft=!0,null}return e.parent}class Vt{static getSameOriginWindowChain(){if(!Wt){Wt=[];let e,t=window;do{e=Bt(t),e?Wt.push({window:t,iframeElement:t.frameElement||null}):Wt.push({window:t,iframeElement:null}),t=e}while(t)}return Wt.slice(0)}static hasDifferentOriginAncestor(){return Wt||this.getSameOriginWindowChain(),Ft}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let i=0,n=0,o=this.getSameOriginWindowChain();for(const e of o){if(i+=e.window.scrollY,n+=e.window.scrollX,e.window===t)break;if(!e.iframeElement)break;let o=e.iframeElement.getBoundingClientRect();i+=o.top,n+=o.left}return{top:i,left:n}}}class Ht{constructor(e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.buttons=e.buttons,this.target=e.target,this.detail=e.detail||1,"dblclick"===e.type&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,"number"==typeof e.pageX?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop);let t=Vt.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=t.left,this.posy-=t.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class zt{constructor(e,t=0,i=0){if(this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t,e){let t=e,i=e;if(void 0!==t.wheelDeltaY)this.deltaY=t.wheelDeltaY/120;else if(void 0!==i.VERTICAL_AXIS&&i.axis===i.VERTICAL_AXIS)this.deltaY=-i.detail/3;else if("wheel"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?this.deltaY=Ke&&!he?-e.deltaY/3:-e.deltaY:this.deltaY=-e.deltaY/40}if(void 0!==t.wheelDeltaX)this.deltaX=Ze&&de?-t.wheelDeltaX/120:t.wheelDeltaX/120;else if(void 0!==i.HORIZONTAL_AXIS&&i.axis===i.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if("wheel"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?this.deltaX=Ke&&!he?-e.deltaX/3:-e.deltaX:this.deltaX=-e.deltaX/40}0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation()}}const jt=Object.freeze((function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}));var qt;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Kt||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ie.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:jt})}(qt||(qt={}));class Kt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?jt:(this._emitter||(this._emitter=new Pe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Ut{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Kt),this._token}cancel(){this._token?this._token instanceof Kt&&this._token.cancel():this._token=qt.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Kt&&this._token.dispose():this._token=qt.None}}var $t=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))},Zt=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,o){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,o,(t=e[i](t)).done,t.value)}))}}};function Gt(e){const t=new Ut,i=e(t.token),n=new Promise(((e,n)=>{const o=t.token.onCancellationRequested((()=>{o.dispose(),t.dispose(),n(new D)}));Promise.resolve(i).then((i=>{o.dispose(),t.dispose(),e(i)}),(e=>{o.dispose(),t.dispose(),n(e)}))}));return new class{cancel(){t.cancel()}then(e,t){return n.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return n.finally(e)}}}function Yt(e,t,i){return new Promise(((n,o)=>{const s=t.onCancellationRequested((()=>{s.dispose(),n(i)}));e.then(n,o).finally((()=>s.dispose()))}))}class Xt{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{this.queuedPromise=null;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}}const Jt=Symbol("MicrotaskDelay");class Qt{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const i=()=>{var e;this.deferred=null,null===(e=this.doResolve)||void 0===e||e.call(this,null)};return this.deferred=t===Jt?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(i):((e,t)=>{let i=!0;const n=setTimeout((()=>{i=!1,t()}),e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(n),i=!1}}})(t,i),this.completionPromise}isTriggered(){var e;return!!(null===(e=this.deferred)||void 0===e?void 0:e.isTriggered())}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject&&this.doReject(new D),this.completionPromise=null)}cancelTimeout(){var e;null===(e=this.deferred)||void 0===e||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class ei{constructor(e){this.delayer=new Qt(e),this.throttler=new Xt}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}dispose(){this.delayer.dispose()}}function ti(e,t){return t?new Promise(((i,n)=>{const o=setTimeout((()=>{s.dispose(),i()}),e),s=t.onCancellationRequested((()=>{clearTimeout(o),s.dispose(),n(new D)}))})):Gt((t=>ti(e,t)))}function ii(e,t=0){const i=setTimeout(e,t);return F((()=>clearTimeout(i)))}function ni(e,t=(e=>!!e),i=null){let n=0;const o=e.length,s=()=>{if(n>=o)return Promise.resolve(i);const r=e[n++];return Promise.resolve(r()).then((e=>t(e)?Promise.resolve(e):s()))};return s()}class oi{constructor(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class si{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearInterval(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setInterval((()=>{e()}),t)}}class ri{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner&&this.runner()}}let ai;ai="function"!=typeof requestIdleCallback||"function"!=typeof cancelIdleCallback?e=>{be((()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,i-Date.now())}))}));let t=!1;return{dispose(){t||(t=!0)}}}:(e,t)=>{const i=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0);let n=!1;return{dispose(){n||(n=!0,cancelIdleCallback(i))}}};class li{constructor(e){this._didRun=!1,this._executor=()=>{try{this._value=e()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=ai((()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class ci{constructor(){this.rejected=!1,this.resolved=!1,this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}get isRejected(){return this.rejected}get isSettled(){return this.rejected||this.resolved}complete(e){return new Promise((t=>{this.completeCallback(e),this.resolved=!0,t()}))}cancel(){new Promise((e=>{this.errorCallback(new D),this.rejected=!0,e()}))}}var di;!function(e){e.settled=function(e){return $t(this,void 0,void 0,(function*(){let t;const i=yield Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return i}))},e.withAsyncBody=function(e){return new Promise(((t,i)=>$t(this,void 0,void 0,(function*(){try{yield e(t,i)}catch(e){i(e)}}))))}}(di||(di={}));class hi{constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new Pe,queueMicrotask((()=>$t(this,void 0,void 0,(function*(){const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{yield Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))))}static fromArray(e){return new hi((t=>{t.emitMany(e)}))}static fromPromise(e){return new hi((t=>$t(this,void 0,void 0,(function*(){t.emitMany(yield e)}))))}static fromPromises(e){return new hi((t=>$t(this,void 0,void 0,(function*(){yield Promise.all(e.map((e=>$t(this,void 0,void 0,(function*(){return t.emitOne(yield e)})))))}))))}static merge(e){return new hi((t=>$t(this,void 0,void 0,(function*(){yield Promise.all(e.map((e=>{var i,n;return $t(this,void 0,void 0,(function*(){var o,s;try{for(i=Zt(e);!(n=yield i.next()).done;){const e=n.value;t.emitOne(e)}}catch(e){o={error:e}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(o)throw o.error}}}))})))}))))}[Symbol.asyncIterator](){let e=0;return{next:()=>$t(this,void 0,void 0,(function*(){for(;;){if(2===this._state)throw this._error;if(e$t(this,void 0,void 0,(function*(){var n,o;try{for(var s,r=Zt(e);!(s=yield r.next()).done;){const e=s.value;i.emitOne(t(e))}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&(yield o.call(r))}finally{if(n)throw n.error}}}))))}map(e){return hi.map(this,e)}static filter(e,t){return new hi((i=>$t(this,void 0,void 0,(function*(){var n,o;try{for(var s,r=Zt(e);!(s=yield r.next()).done;){const e=s.value;t(e)&&i.emitOne(e)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=r.return)&&(yield o.call(r))}finally{if(n)throw n.error}}}))))}filter(e){return hi.filter(this,e)}static coalesce(e){return hi.filter(e,(e=>!!e))}coalesce(){return hi.coalesce(this)}static toPromise(e){var t,i,n,o;return $t(this,void 0,void 0,(function*(){const s=[];try{for(t=Zt(e);!(i=yield t.next()).done;){const e=i.value;s.push(e)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(n)throw n.error}}return s}))}toPromise(){return hi.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}hi.EMPTY=hi.fromArray([]);class ui extends hi{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}let gi;if(void 0!==se.vscode&&void 0!==se.vscode.process){const e=se.vscode.process;gi={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else gi="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return de?"win32":he?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const pi=gi.cwd,mi=gi.env,fi=gi.platform,_i=46,vi=47,bi=92,Ci=58;class wi extends Error{constructor(e,t,i){let n;"string"==typeof t&&0===t.indexOf("not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";const o=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${o} ${n} of type ${t}`;s+=". Received type "+typeof i,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function yi(e,t){if("string"!=typeof e)throw new wi(t,"string",e)}function Si(e){return e===vi||e===bi}function xi(e){return e===vi}function ki(e){return e>=65&&e<=90||e>=97&&e<=122}function Di(e,t,i,n){let o="",s=0,r=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=o.lastIndexOf(i);-1===e?(o="",s=0):(o=o.slice(0,e),s=o.length-1-o.lastIndexOf(i)),r=c,a=0;continue}if(0!==o.length){o="",s=0,r=c,a=0;continue}}t&&(o+=o.length>0?`${i}..`:"..",s=2)}else o.length>0?o+=`${i}${e.slice(r+1,c)}`:o=e.slice(r+1,c),s=c-r-1;r=c,a=0}else l===_i&&-1!==a?++a:a=-1}return o}function Li(e,t){if(null===t||"object"!=typeof t)throw new wi("pathObject","Object",t);const i=t.dir||t.root,n=t.base||`${t.name||""}${t.ext||""}`;return i?i===t.root?`${i}${n}`:`${i}${e}${n}`:n}const Ei={resolve(...e){let t="",i="",n=!1;for(let o=e.length-1;o>=-1;o--){let s;if(o>=0){if(s=e[o],yi(s,"path"),0===s.length)continue}else 0===t.length?s=pi():(s=mi[`=${t}`]||pi(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===bi)&&(s=`${t}\\`));const r=s.length;let a=0,l="",c=!1;const d=s.charCodeAt(0);if(1===r)Si(d)&&(a=1,c=!0);else if(Si(d))if(c=!0,Si(s.charCodeAt(1))){let e=2,t=e;for(;e2&&Si(s.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(n){if(t.length>0)break}else if(i=`${s.slice(a)}\\${i}`,n=c,c&&t.length>0)break}return i=Di(i,!n,"\\",Si),n?`${t}\\${i}`:`${t}${i}`||"."},normalize(e){yi(e,"path");const t=e.length;if(0===t)return".";let i,n=0,o=!1;const s=e.charCodeAt(0);if(1===t)return xi(s)?"\\":e;if(Si(s))if(o=!0,Si(e.charCodeAt(1))){let o=2,s=o;for(;o2&&Si(e.charCodeAt(2))&&(o=!0,n=3));let r=n0&&Si(e.charCodeAt(t-1))&&(r+="\\"),void 0===i?o?`\\${r}`:r:o?`${i}\\${r}`:`${i}${r}`},isAbsolute(e){yi(e,"path");const t=e.length;if(0===t)return!1;const i=e.charCodeAt(0);return Si(i)||t>2&&ki(i)&&e.charCodeAt(1)===Ci&&Si(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,i;for(let n=0;n0&&(void 0===t?t=i=o:t+=`\\${o}`)}if(void 0===t)return".";let n=!0,o=0;if("string"==typeof i&&Si(i.charCodeAt(0))){++o;const e=i.length;e>1&&Si(i.charCodeAt(1))&&(++o,e>2&&(Si(i.charCodeAt(2))?++o:n=!1))}if(n){for(;o=2&&(t=`\\${t.slice(o)}`)}return Ei.normalize(t)},relative(e,t){if(yi(e,"from"),yi(t,"to"),e===t)return"";const i=Ei.resolve(e),n=Ei.resolve(t);if(i===n)return"";if((e=i.toLowerCase())===(t=n.toLowerCase()))return"";let o=0;for(;oo&&e.charCodeAt(s-1)===bi;)s--;const r=s-o;let a=0;for(;aa&&t.charCodeAt(l-1)===bi;)l--;const c=l-a,d=rd){if(t.charCodeAt(a+u)===bi)return n.slice(a+u+1);if(2===u)return n.slice(a+u)}r>d&&(e.charCodeAt(o+u)===bi?h=u:2===u&&(h=3)),-1===h&&(h=0)}let g="";for(u=o+h+1;u<=s;++u)u!==s&&e.charCodeAt(u)!==bi||(g+=0===g.length?"..":"\\..");return a+=h,g.length>0?`${g}${n.slice(a,l)}`:(n.charCodeAt(a)===bi&&++a,n.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e)return e;if(0===e.length)return"";const t=Ei.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===bi){if(t.charCodeAt(1)===bi){const e=t.charCodeAt(2);if(63!==e&&e!==_i)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(ki(t.charCodeAt(0))&&t.charCodeAt(1)===Ci&&t.charCodeAt(2)===bi)return`\\\\?\\${t}`;return e},dirname(e){yi(e,"path");const t=e.length;if(0===t)return".";let i=-1,n=0;const o=e.charCodeAt(0);if(1===t)return Si(o)?e:".";if(Si(o)){if(i=n=1,Si(e.charCodeAt(1))){let o=2,s=o;for(;o2&&Si(e.charCodeAt(2))?3:2,n=i);let s=-1,r=!0;for(let i=t-1;i>=n;--i)if(Si(e.charCodeAt(i))){if(!r){s=i;break}}else r=!1;if(-1===s){if(-1===i)return".";s=i}return e.slice(0,s)},basename(e,t){void 0!==t&&yi(t,"ext"),yi(e,"path");let i,n=0,o=-1,s=!0;if(e.length>=2&&ki(e.charCodeAt(0))&&e.charCodeAt(1)===Ci&&(n=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,a=-1;for(i=e.length-1;i>=n;--i){const l=e.charCodeAt(i);if(Si(l)){if(!s){n=i+1;break}}else-1===a&&(s=!1,a=i+1),r>=0&&(l===t.charCodeAt(r)?-1==--r&&(o=i):(r=-1,o=a))}return n===o?o=a:-1===o&&(o=e.length),e.slice(n,o)}for(i=e.length-1;i>=n;--i)if(Si(e.charCodeAt(i))){if(!s){n=i+1;break}}else-1===o&&(s=!1,o=i+1);return-1===o?"":e.slice(n,o)},extname(e){yi(e,"path");let t=0,i=-1,n=0,o=-1,s=!0,r=0;e.length>=2&&e.charCodeAt(1)===Ci&&ki(e.charCodeAt(0))&&(t=n=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(Si(t)){if(!s){n=a+1;break}}else-1===o&&(s=!1,o=a+1),t===_i?-1===i?i=a:1!==r&&(r=1):-1!==i&&(r=-1)}return-1===i||-1===o||0===r||1===r&&i===o-1&&i===n+1?"":e.slice(i,o)},format:Li.bind(null,"\\"),parse(e){yi(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.length;let n=0,o=e.charCodeAt(0);if(1===i)return Si(o)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(Si(o)){if(n=1,Si(e.charCodeAt(1))){let t=2,o=t;for(;t0&&(t.root=e.slice(0,n));let s=-1,r=n,a=-1,l=!0,c=e.length-1,d=0;for(;c>=n;--c)if(o=e.charCodeAt(c),Si(o)){if(!l){r=c+1;break}}else-1===a&&(l=!1,a=c+1),o===_i?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);return-1!==a&&(-1===s||0===d||1===d&&s===a-1&&s===r+1?t.base=t.name=e.slice(r,a):(t.name=e.slice(r,s),t.base=e.slice(r,a),t.ext=e.slice(s,a))),t.dir=r>0&&r!==n?e.slice(0,r-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},Ni={resolve(...e){let t="",i=!1;for(let n=e.length-1;n>=-1&&!i;n--){const o=n>=0?e[n]:pi();yi(o,"path"),0!==o.length&&(t=`${o}/${t}`,i=o.charCodeAt(0)===vi)}return t=Di(t,!i,"/",xi),i?`/${t}`:t.length>0?t:"."},normalize(e){if(yi(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===vi,i=e.charCodeAt(e.length-1)===vi;return 0===(e=Di(e,!t,"/",xi)).length?t?"/":i?"./":".":(i&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(yi(e,"path"),e.length>0&&e.charCodeAt(0)===vi),join(...e){if(0===e.length)return".";let t;for(let i=0;i0&&(void 0===t?t=n:t+=`/${n}`)}return void 0===t?".":Ni.normalize(t)},relative(e,t){if(yi(e,"from"),yi(t,"to"),e===t)return"";if((e=Ni.resolve(e))===(t=Ni.resolve(t)))return"";const i=e.length,n=i-1,o=t.length-1,s=ns){if(t.charCodeAt(1+a)===vi)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else n>s&&(e.charCodeAt(1+a)===vi?r=a:0===a&&(r=0));let l="";for(a=1+r+1;a<=i;++a)a!==i&&e.charCodeAt(a)!==vi||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+r)}`},toNamespacedPath:e=>e,dirname(e){if(yi(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===vi;let i=-1,n=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===vi){if(!n){i=t;break}}else n=!1;return-1===i?t?"/":".":t&&1===i?"//":e.slice(0,i)},basename(e,t){void 0!==t&&yi(t,"ext"),yi(e,"path");let i,n=0,o=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let r=t.length-1,a=-1;for(i=e.length-1;i>=0;--i){const l=e.charCodeAt(i);if(l===vi){if(!s){n=i+1;break}}else-1===a&&(s=!1,a=i+1),r>=0&&(l===t.charCodeAt(r)?-1==--r&&(o=i):(r=-1,o=a))}return n===o?o=a:-1===o&&(o=e.length),e.slice(n,o)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===vi){if(!s){n=i+1;break}}else-1===o&&(s=!1,o=i+1);return-1===o?"":e.slice(n,o)},extname(e){yi(e,"path");let t=-1,i=0,n=-1,o=!0,s=0;for(let r=e.length-1;r>=0;--r){const a=e.charCodeAt(r);if(a!==vi)-1===n&&(o=!1,n=r+1),a===_i?-1===t?t=r:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){i=r+1;break}}return-1===t||-1===n||0===s||1===s&&t===n-1&&t===i+1?"":e.slice(t,n)},format:Li.bind(null,"/"),parse(e){yi(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const i=e.charCodeAt(0)===vi;let n;i?(t.root="/",n=1):n=0;let o=-1,s=0,r=-1,a=!0,l=e.length-1,c=0;for(;l>=n;--l){const t=e.charCodeAt(l);if(t!==vi)-1===r&&(a=!1,r=l+1),t===_i?-1===o?o=l:1!==c&&(c=1):-1!==o&&(c=-1);else if(!a){s=l+1;break}}if(-1!==r){const n=0===s&&i?1:s;-1===o||0===c||1===c&&o===r-1&&o===s+1?t.base=t.name=e.slice(n,r):(t.name=e.slice(n,o),t.base=e.slice(n,r),t.ext=e.slice(o,r))}return s>0?t.dir=e.slice(0,s-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ni.win32=Ei.win32=Ei,Ni.posix=Ei.posix=Ni;const Ii="win32"===fi?Ei.normalize:Ni.normalize,Ti="win32"===fi?Ei.resolve:Ni.resolve,Mi="win32"===fi?Ei.relative:Ni.relative,Ri="win32"===fi?Ei.dirname:Ni.dirname,Pi="win32"===fi?Ei.basename:Ni.basename,Ai="win32"===fi?Ei.extname:Ni.extname,Oi="win32"===fi?Ei.sep:Ni.sep,Fi=/^\w[\w\d+.-]*$/,Wi=/^\//,Bi=/^\/\//;function Vi(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!Fi.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!Wi.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Bi.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const Hi="",zi="/",ji=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class qi{constructor(e,t,i,n,o,s=!1){"object"==typeof e?(this.scheme=e.scheme||Hi,this.authority=e.authority||Hi,this.path=e.path||Hi,this.query=e.query||Hi,this.fragment=e.fragment||Hi):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||Hi,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==zi&&(t=zi+t):t=zi}return t}(this.scheme,i||Hi),this.query=n||Hi,this.fragment=o||Hi,Vi(this,s))}static isUri(e){return e instanceof qi||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}get fsPath(){return Yi(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:o,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=Hi),void 0===i?i=this.authority:null===i&&(i=Hi),void 0===n?n=this.path:null===n&&(n=Hi),void 0===o?o=this.query:null===o&&(o=Hi),void 0===s?s=this.fragment:null===s&&(s=Hi),t===this.scheme&&i===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new Ui(t,i,n,o,s)}static parse(e,t=!1){const i=ji.exec(e);return i?new Ui(i[2]||Hi,en(i[4]||Hi),en(i[5]||Hi),en(i[7]||Hi),en(i[9]||Hi),t):new Ui(Hi,Hi,Hi,Hi,Hi)}static file(e){let t=Hi;if(de&&(e=e.replace(/\\/g,zi)),e[0]===zi&&e[1]===zi){const i=e.indexOf(zi,2);-1===i?(t=e.substring(2),e=zi):(t=e.substring(2,i),e=e.substring(i)||zi)}return new Ui("file",t,e,Hi,Hi)}static from(e){const t=new Ui(e.scheme,e.authority,e.path,e.query,e.fragment);return Vi(t,!0),t}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return i=de&&"file"===e.scheme?qi.file(Ei.join(Yi(e,!0),...t)).path:Ni.join(e.path,...t),e.with({path:i})}toString(e=!1){return Xi(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof qi)return e;{const t=new Ui(e);return t._formatted=e.external,t._fsPath=e._sep===Ki?e.fsPath:null,t}}return e}}const Ki=de?1:void 0;class Ui extends qi{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Yi(this,!1)),this._fsPath}toString(e=!1){return e?Xi(this,!0):(this._formatted||(this._formatted=Xi(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Ki),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const $i={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Zi(e,t){let i,n=-1;for(let o=0;o=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),void 0!==i&&(i+=e.charAt(o));else{void 0===i&&(i=e.substr(0,o));const t=$i[s];void 0!==t?(-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),i+=t):-1===n&&(n=o)}}return-1!==n&&(i+=encodeURIComponent(e.substring(n))),void 0!==i?i:e}function Gi(e){let t;for(let i=0;i1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,de&&(i=i.replace(/\//g,"\\")),i}function Xi(e,t){const i=t?Gi:Zi;let n="",{scheme:o,authority:s,path:r,query:a,fragment:l}=e;if(o&&(n+=o,n+=":"),(s||"file"===o)&&(n+=zi,n+=zi),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.indexOf(":"),-1===e?n+=i(t,!1):(n+=i(t.substr(0,e),!1),n+=":",n+=i(t.substr(e+1),!1)),n+="@"}s=s.toLowerCase(),e=s.indexOf(":"),-1===e?n+=i(s,!1):(n+=i(s.substr(0,e),!1),n+=s.substr(e))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const e=r.charCodeAt(1);e>=65&&e<=90&&(r=`/${String.fromCharCode(e+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const e=r.charCodeAt(0);e>=65&&e<=90&&(r=`${String.fromCharCode(e+32)}:${r.substr(2)}`)}n+=i(r,!0)}return a&&(n+="?",n+=i(a,!1)),l&&(n+="#",n+=t?l:Zi(l,!1)),n}function Ji(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Ji(e.substr(3)):e}}const Qi=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function en(e){return e.match(Qi)?e.replace(Qi,(e=>Ji(e))):e}var tn;!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.userData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebook="vscode-notebook",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeInteractive="vscode-interactive",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls"}(tn||(tn={}));const nn=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null}setPreferredWebSchema(e){this._preferredWebSchema=e}rewrite(e){if(this._delegate)return this._delegate(e);const t=e.authority;let i=this._hosts[t];i&&-1!==i.indexOf(":")&&(i=`[${i}]`);const n=this._ports[t],o=this._connectionTokens[t];let s=`path=${encodeURIComponent(e.path)}`;return"string"==typeof o&&(s+=`&tkn=${encodeURIComponent(o)}`),qi.from({scheme:pe?this._preferredWebSchema:tn.vscodeRemoteResource,authority:`${i}:${n}`,path:"/vscode-remote-resource",query:s})}};class on{asBrowserUri(e,t){const i=this.toUri(e,t);return i.scheme===tn.vscodeRemote?nn.rewrite(i):i.scheme===tn.file&&(ge||me&&se.origin===`${tn.vscodeFileResource}://${on.FALLBACK_AUTHORITY}`)?i.with({scheme:tn.vscodeFileResource,authority:i.authority||on.FALLBACK_AUTHORITY,query:null,fragment:null}):i}toUri(e,t){return qi.isUri(e)?e:qi.parse(t.toUrl(e))}}on.FALLBACK_AUTHORITY="vscode-app";const sn=new on;function rn(e){for(;e.firstChild;)e.firstChild.remove()}function an(e){var t;return null!==(t=null==e?void 0:e.isConnected)&&void 0!==t&&t}class ln{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function cn(e,t,i,n){return new ln(e,t,i,n)}function dn(e){return function(t){return e(new Ht(t))}}let hn=function(e,t,i,n){let o=i;return"click"===t||"mousedown"===t?o=dn(i):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(o=function(e){return function(t){return e(new Ot(t))}}(i)),cn(e,t,o,n)};function un(e,t,i){return cn(e,fe&&mt?$n.POINTER_DOWN:$n.MOUSE_DOWN,t,i)}function gn(e,t,i){return cn(e,fe&&mt?$n.POINTER_UP:$n.MOUSE_UP,t,i)}function pn(e,t){return cn(e,"mouseout",(i=>{let n=i.relatedTarget;for(;n&&n!==e;)n=n.parentNode;n!==e&&t(i)}))}function mn(e,t,i){let n=null;const o=e=>s.fire(e),s=new Pe({onFirstListenerAdd:()=>{n||(n=new ln(e,t,o,i))},onLastListenerRemove:()=>{n&&(n.dispose(),n=null)}});return s}let fn,_n,vn=null;class bn{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){w(e)}}static sort(e,t){return t.priority-e.priority}}!function(){let e=[],t=null,i=!1,n=!1,o=()=>{for(i=!1,t=e,e=[],n=!0;t.length>0;)t.sort(bn.sort),t.shift().execute();n=!1};_n=(t,n=0)=>{let s=new bn(t,n);return e.push(s),i||(i=!0,function(e){if(!vn){const e=e=>setTimeout((()=>e((new Date).getTime())),0);vn=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||e}vn.call(self,e)}(o)),s},fn=(e,i)=>{if(n){let n=new bn(e,i);return t.push(n),n}return _n(e,i)}}();const Cn=function(e,t){return t};class wn extends B{constructor(e,t,i,n=Cn,o=8){super();let s=null,r=0,a=this._register(new oi),l=()=>{r=(new Date).getTime(),i(s),s=null};this._register(cn(e,t,(e=>{s=n(s,e);let t=(new Date).getTime()-r;t>=o?(a.cancel(),l()):a.setIfNotSet(l,o-t)})))}}function yn(e,t,i,n,o){return new wn(e,t,i,n,o)}function Sn(e){return document.defaultView.getComputedStyle(e,null)}function xn(e){if(e!==document.body)return new Dn(e.clientWidth,e.clientHeight);if(fe&&window.visualViewport)return new Dn(window.visualViewport.width,window.visualViewport.height);if(window.innerWidth&&window.innerHeight)return new Dn(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientHeight)return new Dn(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new Dn(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class kn{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){let n=Sn(e),o="0";return n&&(o=n.getPropertyValue?n.getPropertyValue(t):n.getAttribute(i)),kn.convertToPixels(e,o)}static getBorderLeftWidth(e){return kn.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return kn.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return kn.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return kn.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return kn.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return kn.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return kn.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return kn.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return kn.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return kn.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return kn.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return kn.getDimension(e,"margin-bottom","marginBottom")}}class Dn{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Dn(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof Dn?e:new Dn(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function Ln(e){let t=e.offsetParent,i=e.offsetTop,n=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){i-=e.scrollTop;const o=Fn(e)?null:Sn(e);o&&(n-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(n+=kn.getBorderLeftWidth(e),i+=kn.getBorderTopWidth(e),i+=e.offsetTop,n+=e.offsetLeft,t=e.offsetParent)}return{left:n,top:i}}function En(e){let t=e.getBoundingClientRect();return{left:t.left+Nn.scrollX,top:t.top+Nn.scrollY,width:t.width,height:t.height}}Dn.None=new Dn(0,0);const Nn=new class{get scrollX(){return"number"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft}get scrollY(){return"number"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop}};function In(e){let t=kn.getMarginLeft(e)+kn.getMarginRight(e);return e.offsetWidth+t}function Tn(e){let t=kn.getBorderLeftWidth(e)+kn.getBorderRightWidth(e),i=kn.getPaddingLeft(e)+kn.getPaddingRight(e);return e.offsetWidth-t-i}function Mn(e){let t=kn.getBorderTopWidth(e)+kn.getBorderBottomWidth(e),i=kn.getPaddingTop(e)+kn.getPaddingBottom(e);return e.offsetHeight-t-i}function Rn(e){let t=kn.getMarginTop(e)+kn.getMarginBottom(e);return e.offsetHeight+t}function Pn(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function An(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if("string"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}function On(e,t,i){return!!An(e,t,i)}function Fn(e){return e&&!!e.host&&!!e.mode}function Wn(e){return!!Bn(e)}function Bn(e){for(;e.parentNode;){if(e===document.body)return null;e=e.parentNode}return Fn(e)?e:null}function Vn(){let e=document.activeElement;for(;null==e?void 0:e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Hn(e=document.getElementsByTagName("head")[0]){let t=document.createElement("style");return t.type="text/css",t.media="screen",e.appendChild(t),t}let zn=null;function jn(){return zn||(zn=Hn()),zn}function qn(e,t,i=jn()){i&&t&&i.sheet.insertRule(e+"{"+t+"}",0)}function Kn(e,t=jn()){if(!t)return;let i=function(e){var t,i;return(null===(t=null==e?void 0:e.sheet)||void 0===t?void 0:t.rules)?e.sheet.rules:(null===(i=null==e?void 0:e.sheet)||void 0===i?void 0:i.cssRules)?e.sheet.cssRules:[]}(t),n=[];for(let t=0;t=0;e--)t.sheet.deleteRule(n[e])}function Un(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName}const $n={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Ue?"webkitAnimationStart":"animationstart",ANIMATION_END:Ue?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Ue?"webkitAnimationIteration":"animationiteration"},Zn=function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)};class Gn extends B{constructor(e){super(),this._onDidFocus=this._register(new Pe),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Pe),this.onDidBlur=this._onDidBlur.event;let t=Gn.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(i=!0,window.setTimeout((()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{Gn.hasFocusWithin(e)!==t&&(t?o():n())},this._register(cn(e,$n.FOCUS,n,!0)),this._register(cn(e,$n.BLUR,o,!0)),this._register(cn(e,$n.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(cn(e,$n.FOCUS_OUT,(()=>this._refreshStateHandler())))}static hasFocusWithin(e){const t=Bn(e);return Pn(t?t.activeElement:document.activeElement,e)}}function Yn(e){return new Gn(e)}function Xn(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function Jn(e,...t){e.innerText="",Xn(e,...t)}const Qn=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var eo;function to(e,t,i,...n){let o=Qn.exec(t);if(!o)throw new Error("Bad use of emmet");i=Object.assign({},i||{});let s,r=o[1]||"div";return s=e!==eo.HTML?document.createElementNS(e,r):document.createElement(r),o[3]&&(s.id=o[3]),o[4]&&(s.className=o[4].replace(/\./g," ").trim()),Object.keys(i).forEach((e=>{const t=i[e];void 0!==t&&(/^on\w+$/.test(e)?s[e]=t:"selected"===e?t&&s.setAttribute(e,"true"):s.setAttribute(e,t))})),s.append(...n),s}function io(e,t,...i){return to(eo.HTML,e,t,...i)}function no(...e){for(let t of e)t.style.display="",t.removeAttribute("aria-hidden")}function oo(...e){for(let t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function so(e){const t=window.devicePixelRatio*e;return Math.max(1,Math.floor(t))/window.devicePixelRatio}function ro(e){window.open(e,"_blank","noopener")}function ao(e){return e?`url('${sn.asBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function lo(e){return`'${e.replace(/'/g,"%27")}'`}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(eo||(eo={})),io.SVG=function(e,t,...i){return to(eo.SVG,e,t,...i)},nn.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");class co extends Pe{constructor(){super(),this._subscriptions=new W,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(cn(window,"keydown",(e=>{if(e.defaultPrevented)return;const t=new Ot(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),this._subscriptions.add(cn(window,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),this._subscriptions.add(cn(document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),this._subscriptions.add(cn(document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),this._subscriptions.add(cn(document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),this._subscriptions.add(cn(window,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return co.instance||(co.instance=new co),co.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}var ho=i(6548),uo={};let go,po,mo,fo,_o;function vo(e){go&&(po.textContent!==e?(rn(mo),Co(po,e)):(rn(po),Co(mo,e)))}function bo(e){go&&(he?vo(e):fo.textContent!==e?(rn(_o),Co(fo,e)):(rn(fo),Co(_o,e)))}function Co(e,t){rn(e),t.length>2e4&&(t=t.substr(0,2e4)),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}var wo;uo.styleTagTransform=p(),uo.setAttributes=d(),uo.insert=l().bind(null,"head"),uo.domAPI=r(),uo.insertStyleElement=u(),o()(ho.Z,uo),ho.Z&&ho.Z.locals&&ho.Z.locals,function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(wo||(wo={}));const yo=xo("instantiationService");function So(e,t,i){t[wo.DI_TARGET]===t?t[wo.DI_DEPENDENCIES].push({id:e,index:i}):(t[wo.DI_DEPENDENCIES]=[{id:e,index:i}],t[wo.DI_TARGET]=t)}function xo(e){if(wo.serviceIds.has(e))return wo.serviceIds.get(e);const t=function(e,i,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");So(t,e,n)};return t.toString=()=>e,wo.serviceIds.set(e,t),t}const ko=xo("codeEditorService");class Do{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Do(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Do.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Do.isBefore(this,e)}static isBefore(e,t){return e.lineNumber{o();const e=this._commands.get(i);(null==e?void 0:e.isEmpty())&&this._commands.delete(i)}));return this._onDidRegisterCommand.fire(i),s}registerCommandAlias(e,t){return Wo.registerCommand(e,((e,...i)=>e.get(Fo).executeCommand(t,...i)))}getCommand(e){const t=this._commands.get(e);if(t&&!t.isEmpty())return T.first(t)}getCommands(){const e=new Map;for(const t of this._commands.keys()){const i=this.getCommand(t);i&&e.set(t,i)}return e}};Wo.registerCommand("noop",(()=>{}));class Bo{constructor(e){this.executor=e,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Vo;function Ho(e){return!e||"string"!=typeof e||0===e.trim().length}const zo=/{(\d+)}/g;function jo(e,...t){return 0===t.length?e:e.replace(zo,(function(e,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=t.length?e:t[n]}))}function qo(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function Ko(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Uo(e,t=" "){return Zo($o(e,t),t)}function $o(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let n=0;for(;e.indexOf(t,n)===n;)n+=i;return e.substring(n)}function Zo(e,t){if(!e||!t)return e;const i=t.length,n=e.length;if(0===i||0===n)return e;let o=n,s=-1;for(;s=e.lastIndexOf(t,o-1),-1!==s&&s+i===o;){if(0===s)return"";o=s}return e.substring(0,o)}function Go(e,t,i={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=Ko(e)),i.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let n="";return i.global&&(n+="g"),i.matchCase||(n+="i"),i.multiline&&(n+="m"),i.unicode&&(n+="u"),new RegExp(e,n)}function Yo(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")}function Xo(e){return e.split(/\r\n|\r|\n/)}function Jo(e){for(let t=0,i=e.length;t=0;i--){const t=e.charCodeAt(i);if(32!==t&&9!==t)return i}return-1}function ts(e,t){return et?1:0}function is(e,t,i=0,n=e.length,o=0,s=t.length){for(;is)return 1}const r=n-i,a=s-o;return ra?1:0}function ns(e,t){return os(e,t,0,e.length,0,t.length)}function os(e,t,i=0,n=e.length,o=0,s=t.length){for(;i=128||a>=128)return is(e.toLowerCase(),t.toLowerCase(),i,n,o,s);ss(r)&&(r-=32),ss(a)&&(a-=32);const l=r-a;if(0!==l)return l}const r=n-i,a=s-o;return ra?1:0}function ss(e){return e>=97&&e<=122}function rs(e){return e>=65&&e<=90}function as(e,t){return e.length===t.length&&0===os(e,t)}function ls(e,t){const i=t.length;return!(t.length>e.length)&&0===os(e,t,0,i)}function cs(e,t){let i,n=Math.min(e.length,t.length);for(i=0;i1){const n=e.charCodeAt(t-2);if(hs(n))return gs(n,i)}return i}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=ps(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class fs{constructor(e,t=0){this._iterator=new ms(e,t)}get offset(){return this._iterator.offset}nextGraphemeLength(){const e=Ts.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const i=t.offset,o=e.getGraphemeBreakType(t.nextCodePoint());if(Is(n,o)){t.setOffset(i);break}n=o}return t.offset-i}prevGraphemeLength(){const e=Ts.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const i=t.offset,o=e.getGraphemeBreakType(t.prevCodePoint());if(Is(o,n)){t.setOffset(i);break}n=o}return i-t.offset}eol(){return this._iterator.eol()}}function _s(e,t){return new fs(e,t).nextGraphemeLength()}function vs(e,t){return new fs(e,t).prevGraphemeLength()}const bs=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function Cs(e){return bs.test(e)}const ws=/^[\t\n\r\x20-\x7E]*$/;function ys(e){return ws.test(e)}const Ss=/[\u2028\u2029]/;function xs(e){return Ss.test(e)}function ks(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function Ds(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const Ls=String.fromCharCode(65279);function Es(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function Ns(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function Is(e,t){return 0===e?5!==t&&7!==t:!(2===e&&3===t||4!==e&&2!==e&&3!==e&&4!==t&&2!==t&&3!==t&&(8===e&&(8===t||9===t||11===t||12===t)||!(11!==e&&9!==e||9!==t&&10!==t)||(12===e||10===e)&&10===t||5===t||13===t||7===t||1===e||13===e&&14===t||6===e&&6===t))}class Ts{constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}static getInstance(){return Ts._INSTANCE||(Ts._INSTANCE=new Ts),Ts._INSTANCE}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(et[3*n+1]))return t[3*n+2];n=2*n+1}return 0}}function Ms(e){return 127995<=e&&e<=127999}Ts._INSTANCE=null;class Rs{constructor(e){this.confusableDictionary=e}static getInstance(e){return Rs.cache.get(Array.from(e))}static getLocales(){return Rs._locales.getValue()}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Vo=Rs,Rs.ambiguousCharacterData=new Bo((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),Rs.cache=new class{constructor(e){this.computeFn=e,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.computeFn(e)),this.lastCache}}((e=>{function t(e){const t=new Map;for(let i=0;i!e.startsWith("_")&&e in n));0===s.length&&(s=["_default"]);for(const e of s)o=i(o,t(n[e]));const r=function(e,t){const i=new Map(e);for(const[e,n]of t)i.set(e,n);return i}(t(n._common),o);return new Rs(r)})),Rs._locales=new Bo((()=>Object.keys(Rs.ambiguousCharacterData.getValue()).filter((e=>!e.startsWith("_")))));class Ps{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(Ps.getRawData())),this._data}static isInvisibleCharacter(e){return Ps.getData().has(e)}static get codePoints(){return Ps.getData()}}Ps._data=void 0;const As=new Map;As.set("false",!1),As.set("true",!0),As.set("isMac",he),As.set("isLinux",ue),As.set("isWindows",de),As.set("isWeb",pe),As.set("isMacNative",he&&!pe),As.set("isEdge",Le),As.set("isFirefox",ke),As.set("isChrome",xe),As.set("isSafari",De);const Os=Object.prototype.hasOwnProperty;class Fs{static has(e){return Hs.create(e)}static equals(e,t){return zs.create(e,t)}static regex(e,t){return Js.create(e,t)}static not(e){return Us.create(e)}static and(...e){return tr.create(e,null)}static or(...e){return ir.create(e,null,!0)}static deserialize(e,t=!1){if(e)return this._deserializeOrExpression(e,t)}static _deserializeOrExpression(e,t){let i=e.split("||");return ir.create(i.map((e=>this._deserializeAndExpression(e,t))),null,!0)}static _deserializeAndExpression(e,t){let i=e.split("&&");return tr.create(i.map((e=>this._deserializeOne(e,t))),null)}static _deserializeOne(e,t){if((e=e.trim()).indexOf("!=")>=0){let i=e.split("!=");return Ks.create(i[0].trim(),this._deserializeValue(i[1],t))}if(e.indexOf("==")>=0){let i=e.split("==");return zs.create(i[0].trim(),this._deserializeValue(i[1],t))}if(e.indexOf("=~")>=0){let i=e.split("=~");return Js.create(i[0].trim(),this._deserializeRegexValue(i[1],t))}if(e.indexOf(" in ")>=0){let t=e.split(" in ");return js.create(t[0].trim(),t[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test(e)){const t=e.split(">=");return Gs.create(t[0].trim(),t[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test(e)){const t=e.split(">");return Zs.create(t[0].trim(),t[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test(e)){const t=e.split("<=");return Xs.create(t[0].trim(),t[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test(e)){const t=e.split("<");return Ys.create(t[0].trim(),t[1].trim())}return/^\!\s*/.test(e)?Us.create(e.substr(1).trim()):Hs.create(e)}static _deserializeValue(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;let i=/^'([^']*)'$/.exec(e);return i?i[1].trim():e}static _deserializeRegexValue(e,t){if(Ho(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}let i=e.indexOf("/"),n=e.lastIndexOf("/");if(i===n||i<0){if(t)throw new Error(`bad regexp-value '${e}', missing /-enclosure`);return console.warn(`bad regexp-value '${e}', missing /-enclosure`),null}let o=e.slice(i+1,n),s="i"===e[n+1]?"i":"";try{return new RegExp(o,s)}catch(i){if(t)throw new Error(`bad regexp-value '${e}', parse error: ${i}`);return console.warn(`bad regexp-value '${e}', parse error: ${i}`),null}}}function Ws(e,t){return e.cmp(t)}class Bs{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return Vs.INSTANCE}}Bs.INSTANCE=new Bs;class Vs{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return Bs.INSTANCE}}Vs.INSTANCE=new Vs;class Hs{constructor(e,t){this.key=e,this.negated=t,this.type=2}static create(e,t=null){const i=As.get(e);return"boolean"==typeof i?i?Vs.INSTANCE:Bs.INSTANCE:new Hs(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:sr(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=As.get(this.key);return"boolean"==typeof e?e?Vs.INSTANCE:Bs.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Us.create(this.key,this)),this.negated}}class zs{constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}static create(e,t,i=null){if("boolean"==typeof t)return t?Hs.create(e,i):Us.create(e,i);const n=As.get(e);return"boolean"==typeof n?t===(n?"true":"false")?Vs.INSTANCE:Bs.INSTANCE:new zs(e,t,i)}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=As.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Vs.INSTANCE:Bs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ks.create(this.key,this.value,this)),this.negated}}class js{constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}static create(e,t){return new js(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&this.key===e.key&&this.valueKey===e.valueKey}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.indexOf(i)>=0:"string"==typeof i&&"object"==typeof t&&null!==t&&Os.call(t,i)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=qs.create(this)),this.negated}}class qs{constructor(e){this._actual=e,this.type=11}static create(e){return new qs(e)}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}class Ks{constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}static create(e,t,i=null){if("boolean"==typeof t)return t?Us.create(e,i):Hs.create(e,i);const n=As.get(e);return"boolean"==typeof n?t===(n?"true":"false")?Bs.INSTANCE:Vs.INSTANCE:new Ks(e,t,i)}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=As.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?Bs.INSTANCE:Vs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=zs.create(this.key,this.value,this)),this.negated}}class Us{constructor(e,t){this.key=e,this.negated=t,this.type=3}static create(e,t=null){const i=As.get(e);return"boolean"==typeof i?i?Bs.INSTANCE:Vs.INSTANCE:new Us(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:sr(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=As.get(this.key);return"boolean"==typeof e?e?Bs.INSTANCE:Vs.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Hs.create(this.key,this)),this.negated}}function $s(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):Bs.INSTANCE}class Zs{constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}static create(e,t,i=null){return $s(t,(t=>new Zs(e,t,i)))}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xs.create(this.key,this.value,this)),this.negated}}class Gs{constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}static create(e,t,i=null){return $s(t,(t=>new Gs(e,t,i)))}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Ys.create(this.key,this.value,this)),this.negated}}class Ys{constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}static create(e,t,i=null){return $s(t,(t=>new Ys(e,t,i)))}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new Xs(e,t,i)))}cmp(e){return e.type!==this.type?this.type-e.type:rr(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Zs.create(this.key,this.value,this)),this.negated}}class Js{constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}static create(e,t){return new Js(e,t)}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qs.create(this)),this.negated}}class Qs{constructor(e){this._actual=e,this.type=8}static create(e){return new Qs(e)}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}function er(e){let t=null;for(let i=0,n=e.length;ie.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),n=0===i.length,o=ir.create(e.expr.map((e=>tr.create([e,t],null))),null,n);o&&(i.push(o),i.sort(Ws))}return 1===i.length?i[0]:new tr(i,t)}}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(let t of this.expr)e.push(t.negate());this.negated=ir.create(e,this,!0)}return this.negated}}class ir{constructor(e,t){this.expr=e,this.negated=t,this.type=9}static create(e,t,i){return ir._normalizeArr(e,t,i)}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){let e=[];for(let t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const e of lr(t))for(const t of lr(i))n.push(tr.create([e,t],null));const o=0===e.length;e.unshift(ir.create(n,null,o))}this.negated=e[0]}return this.negated}}class nr extends Hs{constructor(e,t,i){super(e,null),this._defaultValue=t,"object"==typeof i?nr._info.push(Object.assign(Object.assign({},i),{key:e})):!0!==i&&nr._info.push({key:e,description:i,type:null!=t?typeof t:void 0})}static all(){return nr._info.values()}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return zs.create(this.key,e)}}nr._info=[];const or=xo("contextKeyService");function sr(e,t){return et?1:0}function rr(e,t,i,n){return ei?1:tn?1:0}function ar(e,t){if(6===t.type&&9!==e.type&&6!==e.type)for(const i of t.expr)if(e.equals(i))return!0;const i=lr(e.negate()).concat(lr(t));i.sort(Ws);for(let e=0;e{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function br(e){return vr.onColorThemeChange(e)}dr.add(_r,vr);class Cr extends B{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((e=>this.onThemeChange(e))))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}var wr=function(e,t){return function(i,n){t(i,n,e)}};function yr(e){return void 0!==e.command}class Sr{constructor(e){this.id=Sr._idPool++,this._debugName=e}}Sr._idPool=0,Sr.CommandPalette=new Sr("CommandPalette"),Sr.DebugBreakpointsContext=new Sr("DebugBreakpointsContext"),Sr.DebugCallStackContext=new Sr("DebugCallStackContext"),Sr.DebugConsoleContext=new Sr("DebugConsoleContext"),Sr.DebugVariablesContext=new Sr("DebugVariablesContext"),Sr.DebugWatchContext=new Sr("DebugWatchContext"),Sr.DebugToolBar=new Sr("DebugToolBar"),Sr.EditorContext=new Sr("EditorContext"),Sr.SimpleEditorContext=new Sr("SimpleEditorContext"),Sr.EditorContextCopy=new Sr("EditorContextCopy"),Sr.EditorContextPeek=new Sr("EditorContextPeek"),Sr.EditorTitle=new Sr("EditorTitle"),Sr.EditorTitleRun=new Sr("EditorTitleRun"),Sr.EditorTitleContext=new Sr("EditorTitleContext"),Sr.EmptyEditorGroup=new Sr("EmptyEditorGroup"),Sr.EmptyEditorGroupContext=new Sr("EmptyEditorGroupContext"),Sr.ExplorerContext=new Sr("ExplorerContext"),Sr.ExtensionContext=new Sr("ExtensionContext"),Sr.GlobalActivity=new Sr("GlobalActivity"),Sr.LayoutControlMenuSubmenu=new Sr("LayoutControlMenuSubmenu"),Sr.LayoutControlMenu=new Sr("LayoutControlMenu"),Sr.MenubarMainMenu=new Sr("MenubarMainMenu"),Sr.MenubarAppearanceMenu=new Sr("MenubarAppearanceMenu"),Sr.MenubarDebugMenu=new Sr("MenubarDebugMenu"),Sr.MenubarEditMenu=new Sr("MenubarEditMenu"),Sr.MenubarCopy=new Sr("MenubarCopy"),Sr.MenubarFileMenu=new Sr("MenubarFileMenu"),Sr.MenubarGoMenu=new Sr("MenubarGoMenu"),Sr.MenubarHelpMenu=new Sr("MenubarHelpMenu"),Sr.MenubarLayoutMenu=new Sr("MenubarLayoutMenu"),Sr.MenubarNewBreakpointMenu=new Sr("MenubarNewBreakpointMenu"),Sr.MenubarPanelAlignmentMenu=new Sr("MenubarPanelAlignmentMenu"),Sr.MenubarPanelPositionMenu=new Sr("MenubarPanelPositionMenu"),Sr.MenubarPreferencesMenu=new Sr("MenubarPreferencesMenu"),Sr.MenubarRecentMenu=new Sr("MenubarRecentMenu"),Sr.MenubarSelectionMenu=new Sr("MenubarSelectionMenu"),Sr.MenubarSwitchEditorMenu=new Sr("MenubarSwitchEditorMenu"),Sr.MenubarSwitchGroupMenu=new Sr("MenubarSwitchGroupMenu"),Sr.MenubarTerminalMenu=new Sr("MenubarTerminalMenu"),Sr.MenubarViewMenu=new Sr("MenubarViewMenu"),Sr.MenubarHomeMenu=new Sr("MenubarHomeMenu"),Sr.OpenEditorsContext=new Sr("OpenEditorsContext"),Sr.ProblemsPanelContext=new Sr("ProblemsPanelContext"),Sr.SCMChangeContext=new Sr("SCMChangeContext"),Sr.SCMResourceContext=new Sr("SCMResourceContext"),Sr.SCMResourceFolderContext=new Sr("SCMResourceFolderContext"),Sr.SCMResourceGroupContext=new Sr("SCMResourceGroupContext"),Sr.SCMSourceControl=new Sr("SCMSourceControl"),Sr.SCMTitle=new Sr("SCMTitle"),Sr.SearchContext=new Sr("SearchContext"),Sr.StatusBarWindowIndicatorMenu=new Sr("StatusBarWindowIndicatorMenu"),Sr.StatusBarRemoteIndicatorMenu=new Sr("StatusBarRemoteIndicatorMenu"),Sr.TestItem=new Sr("TestItem"),Sr.TestItemGutter=new Sr("TestItemGutter"),Sr.TestPeekElement=new Sr("TestPeekElement"),Sr.TestPeekTitle=new Sr("TestPeekTitle"),Sr.TouchBarContext=new Sr("TouchBarContext"),Sr.TitleBarContext=new Sr("TitleBarContext"),Sr.TunnelContext=new Sr("TunnelContext"),Sr.TunnelPrivacy=new Sr("TunnelPrivacy"),Sr.TunnelProtocol=new Sr("TunnelProtocol"),Sr.TunnelPortInline=new Sr("TunnelInline"),Sr.TunnelTitle=new Sr("TunnelTitle"),Sr.TunnelLocalAddressInline=new Sr("TunnelLocalAddressInline"),Sr.TunnelOriginInline=new Sr("TunnelOriginInline"),Sr.ViewItemContext=new Sr("ViewItemContext"),Sr.ViewContainerTitle=new Sr("ViewContainerTitle"),Sr.ViewContainerTitleContext=new Sr("ViewContainerTitleContext"),Sr.ViewTitle=new Sr("ViewTitle"),Sr.ViewTitleContext=new Sr("ViewTitleContext"),Sr.CommentThreadTitle=new Sr("CommentThreadTitle"),Sr.CommentThreadActions=new Sr("CommentThreadActions"),Sr.CommentTitle=new Sr("CommentTitle"),Sr.CommentActions=new Sr("CommentActions"),Sr.InteractiveToolbar=new Sr("InteractiveToolbar"),Sr.InteractiveCellTitle=new Sr("InteractiveCellTitle"),Sr.InteractiveCellExecute=new Sr("InteractiveCellExecute"),Sr.InteractiveInputExecute=new Sr("InteractiveInputExecute"),Sr.NotebookToolbar=new Sr("NotebookToolbar"),Sr.NotebookCellTitle=new Sr("NotebookCellTitle"),Sr.NotebookCellInsert=new Sr("NotebookCellInsert"),Sr.NotebookCellBetween=new Sr("NotebookCellBetween"),Sr.NotebookCellListTop=new Sr("NotebookCellTop"),Sr.NotebookCellExecute=new Sr("NotebookCellExecute"),Sr.NotebookCellExecutePrimary=new Sr("NotebookCellExecutePrimary"),Sr.NotebookDiffCellInputTitle=new Sr("NotebookDiffCellInputTitle"),Sr.NotebookDiffCellMetadataTitle=new Sr("NotebookDiffCellMetadataTitle"),Sr.NotebookDiffCellOutputsTitle=new Sr("NotebookDiffCellOutputsTitle"),Sr.NotebookOutputToolbar=new Sr("NotebookOutputToolbar"),Sr.NotebookEditorLayoutConfigure=new Sr("NotebookEditorLayoutConfigure"),Sr.BulkEditTitle=new Sr("BulkEditTitle"),Sr.BulkEditContext=new Sr("BulkEditContext"),Sr.TimelineItemContext=new Sr("TimelineItemContext"),Sr.TimelineTitle=new Sr("TimelineTitle"),Sr.TimelineTitleContext=new Sr("TimelineTitleContext"),Sr.AccountsContext=new Sr("AccountsContext"),Sr.PanelTitle=new Sr("PanelTitle"),Sr.AuxiliaryBarTitle=new Sr("AuxiliaryBarTitle"),Sr.TerminalInstanceContext=new Sr("TerminalInstanceContext"),Sr.TerminalEditorInstanceContext=new Sr("TerminalEditorInstanceContext"),Sr.TerminalNewDropdownContext=new Sr("TerminalNewDropdownContext"),Sr.TerminalTabContext=new Sr("TerminalTabContext"),Sr.TerminalTabEmptyAreaContext=new Sr("TerminalTabEmptyAreaContext"),Sr.TerminalInlineTabContext=new Sr("TerminalInlineTabContext"),Sr.WebviewContext=new Sr("WebviewContext"),Sr.InlineCompletionsActions=new Sr("InlineCompletionsActions"),Sr.NewFile=new Sr("NewFile");const xr=xo("menuService"),kr=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new Pe,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:e=>e===Sr.CommandPalette}}addCommand(e){return this.addCommands(T.single(e))}addCommands(e){for(const t of e)this._commands.set(t.id,t);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),F((()=>{let t=!1;for(const i of e)t=this._commands.delete(i.id)||t;t&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)}))}getCommand(e){return this._commands.get(e)}getCommands(){const e=new Map;return this._commands.forEach(((t,i)=>e.set(i,t))),e}appendMenuItem(e,t){return this.appendMenuItems(T.single({id:e,item:t}))}appendMenuItems(e){const t=new Set,i=new q;for(const{id:n,item:o}of e){let e=this._menuItems.get(n);e||(e=new q,this._menuItems.set(n,e)),i.push(e.push(o)),t.add(n)}return this._onDidChangeMenu.fire(t),F((()=>{if(i.size>0){for(let e of i)e();this._onDidChangeMenu.fire(t),i.clear()}}))}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===Sr.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){const t=new Set;for(const i of e)yr(i)&&(t.add(i.command.id),i.alt&&t.add(i.alt.id));this._commands.forEach(((i,n)=>{t.has(n)||e.push({command:i})}))}};class Dr extends Po{constructor(e,t,i,n){super(`submenuitem.${e.submenu.id}`,"string"==typeof e.title?e.title:e.title.value,[],"submenu"),this.item=e,this._menuService=t,this._contextKeyService=i,this._options=n}get actions(){const e=[],t=this._menuService.createMenu(this.item.submenu,this._contextKeyService),i=t.getActions(this._options);t.dispose();for(const[,t]of i)t.length>0&&(e.push(...t),e.push(new Ro));return e.length&&e.pop(),e}}let Lr=class e{constructor(t,i,n,o,s){var r,a;if(this._commandService=s,this.id=t.id,this.label=(null==n?void 0:n.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value,this.tooltip=null!==(a="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==a?a:"",this.enabled=!t.precondition||o.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const e=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=o.contextMatchesRules(e.condition),this.checked&&e.tooltip&&(this.tooltip="string"==typeof e.tooltip?e.tooltip:e.tooltip.value),e.title&&(this.label="string"==typeof e.title?e.title:e.title.value)}this.item=t,this.alt=i?new e(i,void 0,n,o,s):void 0,this._options=n,pr.isThemeIcon(t.icon)&&(this.class=No.asClassName(t.icon))}dispose(){}run(...e){var t,i;let n=[];return(null===(t=this._options)||void 0===t?void 0:t.arg)&&(n=[...n,this._options.arg]),(null===(i=this._options)||void 0===i?void 0:i.shouldForwardArgs)&&(n=[...n,...e]),this._commandService.executeCommand(this.id,...n)}};Lr=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([wr(3,or),wr(4,Fo)],Lr);class Er{constructor(){this._coreKeybindings=[],this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(e){if(1===Ce){if(e&&e.win)return e.win}else if(2===Ce){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e}registerKeybindingRule(e){const t=Er.bindToCurrentPlatform(e);if(t&&t.primary){const i=Nt(t.primary,Ce);i&&this._registerDefaultKeybinding(i,e.id,e.args,e.weight,0,e.when)}if(t&&Array.isArray(t.secondary))for(let i=0,n=t.secondary.length;i=21&&e<=30||e>=31&&e<=56||80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e}_assertNoCtrlAlt(e,t){e.ctrlKey&&e.altKey&&!e.metaKey&&Er._mightProduceChar(e.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",e," for ",t)}_registerDefaultKeybinding(e,t,i,n,o,s){1===Ce&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e.parts,command:t,commandArgs:i,when:s,weight1:n,weight2:o,extensionId:null,isBuiltinExtension:!1}),this._cachedMergedKeybindings=null}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Ir)),this._cachedMergedKeybindings.slice(0)}}const Nr=new Er;function Ir(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}dr.add("platform.keybindingsRegistry",Nr);const Tr=xo("telemetryService"),Mr=xo("logService");var Rr;!function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Info=2]="Info",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.Off=6]="Off"}(Rr||(Rr={}));const Pr=Rr.Info;class Ar extends B{constructor(){super(...arguments),this.level=Pr,this._onDidChangeLogLevel=this._register(new Pe)}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}}class Or extends Ar{constructor(e=Pr){super(),this.setLevel(e)}trace(e,...t){this.getLevel()<=Rr.Trace&&console.log("%cTRACE","color: #888",e,...t)}debug(e,...t){this.getLevel()<=Rr.Debug&&console.log("%cDEBUG","background: #eee; color: #888",e,...t)}info(e,...t){this.getLevel()<=Rr.Info&&console.log("%c INFO","color: #33f",e,...t)}error(e,...t){this.getLevel()<=Rr.Error&&console.log("%c ERR","color: #f33",e,...t)}dispose(){}}class Fr extends B{constructor(e){super(),this.logger=e,this._register(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}error(e,...t){this.logger.error(e,...t)}}class Wr{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this._description=e.description}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let e=t.kbExpr;this.precondition&&(e=e?Fs.and(e,this.precondition):this.precondition);const i={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};Nr.registerKeybindingRule(i)}}Wo.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),description:this._description})}_registerMenuItem(e){kr.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class Br extends Wr{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i){return this._implementations.push({priority:e,name:t,implementation:i}),this._implementations.sort(((e,t)=>t.priority-e.priority)),{dispose:()=>{for(let e=0;e{if(e.get(or).contextMatchesRules(gt(this.precondition)))return this.runEditorCommand(e,n,t)}))}}class zr extends Hr{constructor(e){super(zr.convertOptions(e)),this.label=e.label,this.alias=e.alias}static convertOptions(e){let t;function i(t){return t.menuId||(t.menuId=Sr.EditorContext),t.title||(t.title=e.label),t.when=Fs.and(e.precondition,t.when),t}return t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[],Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Tr).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class jr extends zr{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort(((e,t)=>t[0]-e[0])),{dispose:()=>{for(let e=0;enew Promise(((o,r)=>{try{o(n.invokeFunction(t,e.object.textEditorModel,Do.lift(s),i.slice(2)))}catch(e){r(e)}})).finally((()=>{e.dispose()}))))}))}function Kr(e){return Xr.INSTANCE.registerEditorCommand(e),e}function Ur(e){const t=new e;return Xr.INSTANCE.registerEditorAction(t),t}function $r(e){return Xr.INSTANCE.registerEditorAction(e),e}function Zr(e){Xr.INSTANCE.registerEditorAction(e)}function Gr(e,t){Xr.INSTANCE.registerEditorContribution(e,t)}var Yr;!function(e){e.getEditorCommand=function(e){return Xr.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return Xr.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return Xr.INSTANCE.getEditorContributions()},e.getSomeEditorContributions=function(e){return Xr.INSTANCE.getEditorContributions().filter((t=>e.indexOf(t.id)>=0))},e.getDiffEditorContributions=function(){return Xr.INSTANCE.getDiffEditorContributions()}}(Yr||(Yr={}));class Xr{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t){this.editorContributions.push({id:e,ctor:t})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions.slice(0)}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}function Jr(e){return e.register(),e}Xr.INSTANCE=new Xr,dr.add("editor.contributions",Xr.INSTANCE);const Qr=Jr(new Br({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Sr.MenubarEditMenu,group:"1_do",title:b(0,"&&Undo"),order:1},{menuId:Sr.CommandPalette,group:"",title:b(0,"Undo"),order:1}]}));Jr(new Vr(Qr,{id:"default:undo",precondition:void 0}));const ea=Jr(new Br({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Sr.MenubarEditMenu,group:"1_do",title:b(0,"&&Redo"),order:2},{menuId:Sr.CommandPalette,group:"",title:b(0,"Redo"),order:1}]}));Jr(new Vr(ea,{id:"default:redo",precondition:void 0}));const ta=Jr(new Br({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Sr.MenubarSelectionMenu,group:"1_basic",title:b(0,"&&Select All"),order:1},{menuId:Sr.CommandPalette,group:"",title:b(0,"Select All"),order:1}]}));class ia{constructor(e,t,i,n){e>i||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return ia.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return ia.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return ia.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return ia.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return ia.plusRange(this,e)}static plusRange(e,t){let i,n,o,s;return t.startLineNumbere.endLineNumber?(o=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,s=e.endColumn),new ia(i,n,o,s)}intersectRanges(e){return ia.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,s=e.endColumn,r=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,c=t.endColumn;return il?(o=l,s=c):o===l&&(s=Math.min(s,c)),i>o||i===o&&n>s?null:new ia(i,n,o,s)}equalsRange(e){return ia.equalsRange(this,e)}static equalsRange(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return ia.getEndPosition(this)}static getEndPosition(e){return new Do(e.endLineNumber,e.endColumn)}getStartPosition(){return ia.getStartPosition(this)}static getStartPosition(e){return new Do(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new ia(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new ia(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return ia.collapseToStart(this)}static collapseToStart(e){return new ia(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,t=e){return new ia(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new ia(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}class na extends ia{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return na.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new na(this.startLineNumber,this.startColumn,e,t):new na(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Do(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Do(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new na(e,t,this.endLineNumber,this.endColumn):new na(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new na(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new na(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new na(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new na(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i0&&e.getLanguageId(r-1)===o;)r--;return new sa(e,o,r,s+1,e.getStartOffset(r),e.getEndOffset(s))}class sa{constructor(e,t,i,n,o,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=o,this._lastCharOffset=s}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function ra(e){return 0!=(3&e)}class aa{static _nextVisibleColumn(e,t,i){return 9===e?aa.nextRenderTabStop(t,i):ks(e)||Ds(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const n=Math.min(t-1,e.length),o=e.substring(0,n),s=new fs(o);let r=0;for(;!s.eol();){const e=ps(o,n,s.offset);s.nextGraphemeLength(),r=this._nextVisibleColumn(e,r,i)}return r}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const n=e.length,o=new fs(e);let s=0,r=1;for(;!o.eol();){const a=ps(e,n,o.offset);o.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,i),c=o.offset+1;if(l>=t)return l-t!0,da=()=>!1,ha=e=>" "===e||"\t"===e;class ua{constructor(e,t,i,n){this.languageConfigurationService=n,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const o=i.options,s=o.get(131);this.readOnly=o.get(81),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=o.get(104),this.lineHeight=o.get(59),this.pageSize=Math.max(1,Math.floor(s.height/this.lineHeight)-2),this.useTabStops=o.get(116),this.wordSeparators=o.get(117),this.emptySelectionClipboard=o.get(32),this.copyWithSyntaxHighlighting=o.get(21),this.multiCursorMergeOverlapping=o.get(69),this.multiCursorPaste=o.get(71),this.autoClosingBrackets=o.get(5),this.autoClosingQuotes=o.get(8),this.autoClosingDelete=o.get(6),this.autoClosingOvertype=o.get(7),this.autoSurround=o.get(11),this.autoIndent=o.get(9),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const r=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(r)for(const e of r)this.surroundingPairs[e.open]=e.close}static shouldRecreate(e){return e.hasChanged(131)||e.hasChanged(117)||e.hasChanged(32)||e.hasChanged(69)||e.hasChanged(71)||e.hasChanged(5)||e.hasChanged(8)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(116)||e.hasChanged(59)||e.hasChanged(81)}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=null===(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===e?void 0:e.getElectricCharacters();if(t)for(const e of t)this._electricChars[e]=!0}return this._electricChars}onElectricCharacter(e,t,i){const n=oa(t,i-1),o=this.languageConfigurationService.getLanguageConfiguration(n.languageId).electricCharacter;return o?o.onElectricCharacter(e,n,i-n.firstCharOffset):null}normalizeIndentation(e){return la(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t){switch(t){case"beforeWhitespace":return ha;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e);case"always":return ca;case"never":return da}}_getLanguageDefinedShouldAutoClose(e){const t=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet();return e=>-1!==t.indexOf(e)}visibleColumnFromColumn(e,t){return aa.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const n=aa.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),o=e.getLineMinColumn(t);if(ns?s:n}}class ga{constructor(e,t){this._cursorStateBrand=void 0,this.modelState=e,this.viewState=t}static fromModelState(e){return new pa(e)}static fromViewState(e){return new ma(e)}static fromModelSelection(e){const t=na.liftSelection(e),i=new fa(ia.fromPositions(t.getSelectionStart()),0,t.getPosition(),0);return ga.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,n=e.length;io,l=n>s,c=ns)continue;if(pn)continue;if(g0&&n--,ba.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,n)}static columnSelectRight(e,t,i){let n=0;const o=Math.min(i.fromViewLineNumber,i.toViewLineNumber),s=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let i=o;i<=s;i++){const o=t.getLineMaxColumn(i),s=e.visibleColumnFromColumn(t,new Do(i,o));n=Math.max(n,s)}let r=i.toViewVisualColumn;return re.getLineMinColumn(t.lineNumber))return t.delta(void 0,-vs(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Do(i,e.getLineMaxColumn(i))}return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const n=e.getLineMinColumn(t.lineNumber),o=e.getLineContent(t.lineNumber),s=ka.atomicPosition(o,t.column-1,i,0);if(-1!==s&&s+1>=n)return new Do(t.lineNumber,s+1)}return this.leftPosition(e,t)}static left(e,t,i){const n=e.stickyTabStops?La.leftPositionAtomicSoftTabs(t,i,e.tabSize):La.leftPosition(t,i);return new Da(n.lineNumber,n.column,0)}static moveLeft(e,t,i,n,o){let s,r;if(i.hasSelection()&&!n)s=i.selection.startLineNumber,r=i.selection.startColumn;else{const n=i.position.delta(void 0,-(o-1)),a=t.normalizePosition(La.clipPositionColumn(n,t),0),l=La.left(e,t,a);s=l.lineNumber,r=l.column}return i.move(n,s,r,0)}static clipPositionColumn(e,t){return new Do(e.lineNumber,La.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return ic?(i=c,n=r?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),n)):n=e.columnFromVisibleColumn(t,i,l),o=u?0:l-aa.visibleColumnFromColumn(t.getLineContent(i),n,e.tabSize),void 0!==a){const e=new Do(i,n),s=t.normalizePosition(e,a);o+=n-s.column,i=s.lineNumber,n=s.column}return new Da(i,n,o)}static down(e,t,i,n,o,s,r){return this.vertical(e,t,i,n,o,i+s,r,1)}static moveDown(e,t,i,n,o){let s,r;i.hasSelection()&&!n?(s=i.selection.endLineNumber,r=i.selection.endColumn):(s=i.position.lineNumber,r=i.position.column);const a=La.down(e,t,s,r,i.leftoverVisibleColumns,o,!0);return i.move(n,a.lineNumber,a.column,a.leftoverVisibleColumns)}static translateDown(e,t,i){const n=i.selection,o=La.down(e,t,n.selectionStartLineNumber,n.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),s=La.down(e,t,n.positionLineNumber,n.positionColumn,i.leftoverVisibleColumns,1,!1);return new fa(new ia(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new Do(s.lineNumber,s.column),s.leftoverVisibleColumns)}static up(e,t,i,n,o,s,r){return this.vertical(e,t,i,n,o,i-s,r,0)}static moveUp(e,t,i,n,o){let s,r;i.hasSelection()&&!n?(s=i.selection.startLineNumber,r=i.selection.startColumn):(s=i.position.lineNumber,r=i.position.column);const a=La.up(e,t,s,r,i.leftoverVisibleColumns,o,!0);return i.move(n,a.lineNumber,a.column,a.leftoverVisibleColumns)}static translateUp(e,t,i){const n=i.selection,o=La.up(e,t,n.selectionStartLineNumber,n.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),s=La.up(e,t,n.positionLineNumber,n.positionColumn,i.leftoverVisibleColumns,1,!1);return new fa(new ia(o.lineNumber,o.column,o.lineNumber,o.column),o.leftoverVisibleColumns,new Do(s.lineNumber,s.column),s.leftoverVisibleColumns)}static _isBlankLine(e,t){return 0===e.getLineFirstNonWhitespaceColumn(t)}static moveToPrevBlankLine(e,t,i,n){let o=i.position.lineNumber;for(;o>1&&this._isBlankLine(t,o);)o--;for(;o>1&&!this._isBlankLine(t,o);)o--;return i.move(n,o,t.getLineMinColumn(o),0)}static moveToNextBlankLine(e,t,i,n){const o=t.getLineCount();let s=i.position.lineNumber;for(;s=d.length+1)return!1;const h=d.charAt(c.column-2),u=n.get(h);if(!u)return!1;if(va(h)){if("never"===i)return!1}else if("never"===t)return!1;const g=d.charAt(c.column-1);let p=!1;for(const e of u)e.open===h&&e.close===g&&(p=!0);if(!p)return!1;if("auto"===e){let e=!1;for(let t=0,i=r.length;t1){const e=t.getLineContent(n.lineNumber),o=Jo(e),s=-1===o?e.length+1:o+1;if(n.column<=s){const e=i.visibleColumnFromColumn(t,n),o=aa.prevIndentTabStop(e,i.indentSize),s=i.columnFromVisibleColumn(t,n.lineNumber,o);return new ia(n.lineNumber,s,n.lineNumber,n.column)}}return ia.fromPositions(Ea.getPositionAfterDeleteLeft(n,t),n)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=function(e,t){if(0===e)return 0;const i=function(e,t){const i=new ms(t,e);let n=i.prevCodePoint();for(;Ms(n)||65039===n||8419===n;){if(0===i.offset)return;n=i.prevCodePoint()}if(!Ds(n))return;let o=i.offset;return o>0&&8205===i.prevCodePoint()&&(o=i.offset),o}(e,t);if(void 0!==i)return i;const n=new ms(t,e);return n.prevCodePoint(),n.offset}(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}if(e.lineNumber>1){const i=e.lineNumber-1;return new Do(i,t.getLineMaxColumn(i))}return e}static cut(e,t,i){const n=[];let o=null;i.sort(((e,t)=>Do.compare(e.getStartPosition(),t.getEndPosition())));for(let s=0,r=i.length;s1&&(null==o?void 0:o.endLineNumber)!==e.lineNumber?(i=e.lineNumber-1,a=t.getLineMaxColumn(e.lineNumber-1),l=e.lineNumber,c=t.getLineMaxColumn(e.lineNumber)):(i=e.lineNumber,a=1,l=e.lineNumber,c=t.getLineMaxColumn(e.lineNumber));const d=new ia(i,a,l,c);o=d,d.isEmpty()?n[s]=null:n[s]=new Ca(d,"")}else n[s]=null;else n[s]=new Ca(r,"")}return new _a(0,n,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}function Na(e){return e<0?0:e>255?255:0|e}function Ia(e){return e<0?0:e>4294967295?4294967295:0|e}class Ta{constructor(e){const t=Na(e);this._defaultValue=t,this._asciiMap=Ta._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);for(let i=0;i<256;i++)t[i]=e;return t}set(e,t){const i=Na(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class Ma{constructor(){this._actual=new Ta(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}}class Ra extends Ta{constructor(e){super(0);for(let t=0,i=e.length;t(t.hasOwnProperty(e)||(t[e]=(e=>new Ra(e))(e)),t[e])}();class Aa{static _createWord(e,t,i,n,o){return{start:n,end:o,wordType:t,nextCharClass:i}}static _findPreviousWordOnLine(e,t,i){const n=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(n,e,i)}static _doFindPreviousWordOnLine(e,t,i){let n=0;for(let o=i.column-2;o>=0;o--){const i=e.charCodeAt(o),s=t.get(i);if(0===s){if(2===n)return this._createWord(e,n,s,o+1,this._findEndOfWord(e,t,n,o+1));n=1}else if(2===s){if(1===n)return this._createWord(e,n,s,o+1,this._findEndOfWord(e,t,n,o+1));n=2}else if(1===s&&0!==n)return this._createWord(e,n,s,o+1,this._findEndOfWord(e,t,n,o+1))}return 0!==n?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null}static _findEndOfWord(e,t,i,n){const o=e.length;for(let s=n;s=0;o--){const n=e.charCodeAt(o),s=t.get(n);if(1===s)return o+1;if(1===i&&2===s)return o+1;if(2===i&&0===s)return o+1}return 0}static moveWordLeft(e,t,i,n){let o=i.lineNumber,s=i.column;1===s&&o>1&&(o-=1,s=t.getLineMaxColumn(o));let r=Aa._findPreviousWordOnLine(e,t,new Do(o,s));if(0===n)return new Do(o,r?r.start+1:1);if(1===n)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=Aa._findPreviousWordOnLine(e,t,new Do(o,r.start+1))),new Do(o,r?r.start+1:1);if(3===n){for(;r&&2===r.wordType;)r=Aa._findPreviousWordOnLine(e,t,new Do(o,r.start+1));return new Do(o,r?r.start+1:1)}return r&&s<=r.end+1&&(r=Aa._findPreviousWordOnLine(e,t,new Do(o,r.start+1))),new Do(o,r?r.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(1===t.column)return i>1?new Do(i-1,e.getLineMaxColumn(i-1)):t;const o=e.getLineContent(i);for(let e=t.column-1;e>1;e--){const t=o.charCodeAt(e-2),s=o.charCodeAt(e-1);if(95===t&&95!==s)return new Do(i,e);if(ss(t)&&rs(s))return new Do(i,e);if(rs(t)&&rs(s)&&e+1=a.start+1&&(a=Aa._findNextWordOnLine(e,t,new Do(o,a.end+1))),s=a?a.start+1:t.getLineMaxColumn(o);return new Do(o,s)}static _moveWordPartRight(e,t){const i=t.lineNumber,n=e.getLineMaxColumn(i);if(t.column===n)return i1?l=1:(a--,l=n.getLineMaxColumn(a)):(c&&l<=c.end+1&&(c=Aa._findPreviousWordOnLine(i,n,new Do(a,c.start+1))),c?l=c.end+1:l>1?l=1:(a--,l=n.getLineMaxColumn(a))),new ia(a,l,r.lineNumber,r.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const n=new Do(i.positionLineNumber,i.positionColumn);return this._deleteInsideWordWhitespace(t,n)||this._deleteInsideWordDetermineDeleteRange(e,t,n)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return 32===i||9===i}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),n=i.length;if(0===n)return null;let o=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,o))return null;let s=Math.min(t.column-1,n-1);if(!this._charAtIsWhitespace(i,s))return null;for(;o>0&&this._charAtIsWhitespace(i,o-1);)o--;for(;s+11?new ia(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumbere.start+1<=i.column&&i.column<=e.end+1,r=(e,t)=>(e=Math.min(e,i.column),t=Math.max(t,i.column),new ia(i.lineNumber,e,i.lineNumber,t)),a=e=>{let t=e.start+1,i=e.end+1,s=!1;for(;i-11&&this._charAtIsWhitespace(n,t-2);)t--;return r(t,i)},l=Aa._findPreviousWordOnLine(e,t,i);if(l&&s(l))return a(l);const c=Aa._findNextWordOnLine(e,t,i);return c&&s(c)?a(c):l&&c?r(l.end+1,c.start+1):l?r(l.start+1,l.end+1):c?r(c.start+1,c.end+1):r(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),n=Aa._moveWordPartLeft(e,i);return new ia(i.lineNumber,i.column,n.lineNumber,n.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let n=t;n=h.start+1&&(h=Aa._findNextWordOnLine(i,n,new Do(a,h.end+1))),h?l=h.start+1:lBoolean(e)))}class Wa{static addCursorDown(e,t,i){const n=[];let o=0;for(let s=0,r=t.length;st&&(i=t,n=e.model.getLineMaxColumn(i)),ga.fromModelState(new fa(new ia(s.lineNumber,1,i,n),0,new Do(i,n),0))}const a=t.modelState.selectionStart.getStartPosition().lineNumber;if(s.lineNumbera){const i=e.getLineCount();let n=r.lineNumber+1,o=1;return n>i&&(n=i,o=e.getLineMaxColumn(n)),ga.fromViewState(t.viewState.move(t.modelState.hasSelection(),n,o,0))}{const e=t.modelState.selectionStart.getEndPosition();return ga.fromModelState(t.modelState.move(t.modelState.hasSelection(),e.lineNumber,e.column,0))}}static word(e,t,i,n){const o=e.model.validatePosition(n);return ga.fromModelState(Aa.word(e.cursorConfig,e.model,t.modelState,i,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new ga(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,n=t.viewState.position.column;return ga.fromViewState(new fa(new ia(i,n,i,n),0,new Do(i,n),0))}static moveTo(e,t,i,n,o){const s=e.model.validatePosition(n),r=o?e.coordinatesConverter.validateViewPosition(new Do(o.lineNumber,o.column),s):e.coordinatesConverter.convertModelPositionToViewPosition(s);return ga.fromViewState(t.viewState.move(i,r.lineNumber,r.column,0))}static simpleMove(e,t,i,n,o,s){switch(i){case 0:return 4===s?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,o);case 1:return 4===s?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,o);case 2:return 2===s?this._moveUpByViewLines(e,t,n,o):this._moveUpByModelLines(e,t,n,o);case 3:return 2===s?this._moveDownByViewLines(e,t,n,o):this._moveDownByModelLines(e,t,n,o);case 4:return 2===s?t.map((t=>ga.fromViewState(La.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>ga.fromModelState(La.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 5:return 2===s?t.map((t=>ga.fromViewState(La.moveToNextBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>ga.fromModelState(La.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 6:return this._moveToViewMinColumn(e,t,n);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 8:return this._moveToViewCenterColumn(e,t,n);case 9:return this._moveToViewMaxColumn(e,t,n);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,n);default:return null}}static viewportMove(e,t,i,n,o){const s=e.getCompletelyVisibleViewRange(),r=e.coordinatesConverter.convertViewRangeToModelRange(s);switch(i){case 11:{const i=this._firstLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,s)]}case 13:{const i=this._lastLineNumberInRange(e.model,r,o),s=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,s)]}case 12:{const i=Math.round((r.startLineNumber+r.endLineNumber)/2),o=e.model.getLineFirstNonWhitespaceColumn(i);return[this._moveToModelPosition(e,t[0],n,i,o)]}case 14:{const i=[];for(let o=0,r=t.length;oi.endLineNumber-1?i.endLineNumber-1:oga.fromViewState(La.moveLeft(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineLeft(e,t,i){const n=[];for(let o=0,s=t.length;oga.fromViewState(La.moveRight(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineRight(e,t,i){const n=[];for(let o=0,s=t.length;o/?",Ha=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of Va)e.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}();function za(e){let t=Ha;if(e&&e instanceof RegExp)if(e.global)t=e;else{let i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),e.unicode&&(i+="u"),t=new RegExp(e.source,i)}return t.lastIndex=0,t}const ja={maxLen:1e3,windowSize:15,timeBudget:150};function qa(e,t,i,n,o=ja){if(i.length>o.maxLen){let s=e-o.maxLen/2;return s<0?s=0:n+=s,qa(e,t,i=i.substring(s,e+o.maxLen/2),n,o)}const s=Date.now(),r=e-1-n;let a=-1,l=null;for(let e=1;!(Date.now()-s>=o.timeBudget);e++){const n=r-o.windowSize*e;t.lastIndex=Math.max(0,n);const s=Ka(t,i,r,a);if(!s&&l)break;if(l=s,n<=0)break;a=n}if(l){const e={word:l[0],startColumn:n+1+l.index,endColumn:n+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function Ka(e,t,i,n){let o;for(;o=e.exec(t);){const t=o.index||0;if(t<=i&&e.lastIndex>=i)return o;if(n>0&&t>n)return null}return null}var Ua;!function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(Ua||(Ua={}));class $a{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;tnew $a(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new $a({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.colorizedBracketPairs?this._colorizedBracketPairs=Xa(e.colorizedBracketPairs.map((e=>[e[0],e[1]]))):e.brackets?this._colorizedBracketPairs=Xa(e.brackets.map((e=>[e[0],e[1]])).filter((e=>!("<"===e[0]&&">"===e[1])))):this._colorizedBracketPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new $a({open:t.open,close:t.close||""}))}this._autoCloseBefore="string"==typeof e.autoCloseBefore?e.autoCloseBefore:Ya.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(){return this._autoCloseBefore}getSurroundingPairs(){return this._surroundingPairs}getColorizedBrackets(){return this._colorizedBracketPairs}}function Xa(e){return e.filter((([e,t])=>""!==e&&""!==t))}function Ja(e,t=0){return e[e.length-(1+t)]}function Qa(e,t,i=((e,t)=>e===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let n=0,o=e.length;n0))return s;o=s-1}}return-(n+1)}function tl(e,t){let i=0,n=e.length;if(0===n)return 0;for(;i=t.length)throw new TypeError("invalid index");let n=t[Math.floor(t.length*Math.random())],o=[],s=[],r=[];for(let e of t){const t=i(e,n);t<0?o.push(e):t>0?s.push(e):r.push(e)}return e!!e))}function sl(e){return!Array.isArray(e)||0===e.length}function rl(e){return Array.isArray(e)&&e.length>0}function al(e,t=(e=>e)){const i=new Set;return e.filter((e=>{const n=t(e);return!i.has(n)&&(i.add(n),!0)}))}function ll(e,t){return e.length>0?e[0]:t}function cl(e){return[].concat(...e)}function dl(e,t){let i="number"==typeof t?e:0;"number"==typeof t?i=e:(i=0,t=e);const n=[];if(i<=t)for(let e=i;et;e--)n.push(e);return n}function hl(e,t,i){const n=e.slice(0,t),o=e.slice(t);return n.concat(i,o)}function ul(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))}function gl(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))}function pl(e){return Array.isArray(e)?e:[e]}function ml(e,t,i,n){const o=fl(e,t),s=e.splice(o,i);return function(e,t,i){const n=fl(e,t),o=e.length,s=i.length;e.length=o+s;for(let t=o-1;t>=n;t--)e[t+s]=e[t];for(let t=0;tt(e(i),e(n))}Ya.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t";const vl=(e,t)=>e-t;function bl(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n0&&(i=o)}return i}class Cl{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}const wl="undefined"!=typeof Buffer;let yl,Sl,xl,kl;class Dl{constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}static wrap(e){return wl&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new Dl(e)}toString(){return wl?this.buffer.toString():(yl||(yl=new TextDecoder),yl.decode(this.buffer))}}function Ll(e,t){return e[t+0]<<0>>>0|e[t+1]<<8>>>0}function El(e,t,i){e[i+0]=255&t,t>>>=8,e[i+1]=255&t}function Nl(e,t){return e[t]*Math.pow(2,24)+e[t+1]*Math.pow(2,16)+e[t+2]*Math.pow(2,8)+e[t+3]}function Il(e,t,i){e[i+3]=t,t>>>=8,e[i+2]=t,t>>>=8,e[i+1]=t,t>>>=8,e[i]=t}function Tl(e,t){return e[t]}function Ml(e,t,i){e[i]=t}function Rl(){return Sl||(Sl=new TextDecoder("UTF-16LE")),Sl}function Pl(){return kl||(kl=Se()?Rl():(xl||(xl=new TextDecoder("UTF-16BE")),xl)),kl}const Al="undefined"!=typeof TextDecoder;let Ol,Fl;function Wl(e,t,i){const n=[];let o=0;for(let s=0;snew Bl(e),Fl=function(e,t,i){const n=new Uint16Array(e.buffer,t,i);return i>0&&(65279===n[0]||65534===n[0])?Wl(e,t,i):Rl().decode(n)}):(Ol=e=>new Vl,Fl=Wl);class Bl{constructor(e){this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Pl().decode(e)}_flushBuffer(){const e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}write1(e){const t=this._capacity-this._bufferLength;t<=1&&(0===t||hs(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCII(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIIString(e){const t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let i=0;i[e[0].toLowerCase(),e[1].toLowerCase()]));const i=[];for(let e=0;e{const[i,n]=e,[o,s]=t;return i===o||i===s||n===o||n===s},o=(e,n)=>{const o=Math.min(e,n),s=Math.max(e,n);for(let e=0;e0&&s.push({open:o,close:r})}return s}(t);this.brackets=i.map(((t,n)=>new Hl(e,n,t.open,t.close,function(e,t,i,n){let o=[];o=o.concat(e),o=o.concat(t);for(let e=0,t=o.length;e=0&&n.push(t);for(const t of s.close)t.indexOf(e)>=0&&n.push(t)}}function ql(e,t){return e.length-t.length}function Kl(e){if(e.length<=1)return e;const t=[],i=new Set;for(const n of e)i.has(n)||(t.push(n),i.add(n));return t}function Ul(e){const t=/^[\w ]+$/.test(e);return e=Ko(e),t?`\\b${e}\\b`:e}function $l(e){return Go(`(${e.map(Ul).join(")|(")})`,!0)}const Zl=function(){let e=null,t=null;return function(i){return e!==i&&(e=i,t=function(e){if(Al){const t=new Uint16Array(e.length);let i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charCodeAt(n);return Pl().decode(t)}{const t=[];let i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charAt(n);return t.join("")}}(e)),t}}();class Gl{static _findPrevBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const s=i.length-(o.index||0),r=o[0].length,a=n+s;return new ia(t,a-r+1,t,a+1)}static findPrevBracketInRange(e,t,i,n,o){const s=Zl(i).substring(i.length-o,i.length-n);return this._findPrevBracketInText(e,t,s,n)}static findNextBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const s=o.index||0,r=o[0].length;if(0===r)return null;const a=n+s;return new ia(t,a+1,t,a+1+r)}static findNextBracketInRange(e,t,i,n,o){const s=i.substring(n,o);return this.findNextBracketInText(e,t,s,n)}}class Yl{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const t=i.charAt(i.length-1);e.push(t)}return al(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const n=t.findTokenIndexAtOffset(i-1);if(ra(t.getStandardTokenType(n)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,i-1)+e,r=Gl.findPrevBracketInRange(o,1,s,0,s.length);if(!r)return null;const a=s.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function Xl(e){return e.global&&(e.lastIndex=0),!0}class Jl{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&Xl(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&Xl(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&Xl(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&Xl(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class Ql{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=Ql._createOpenBracketRegExp(e[0]),i=Ql._createCloseBracketRegExp(e[1]);t&&i&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:i})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let e=0,o=this._regExpRules.length;e!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return o.action}if(e>=2&&i.length>0&&n.length>0)for(let e=0,t=this._brackets.length;e=2&&i.length>0)for(let e=0,t=this._brackets.length;e{const t=e.change.keys.some((e=>i.has(e))),n=e.change.overrides.filter((([e,t])=>t.some((e=>i.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new uc(void 0));else for(const e of n)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new uc(e)))}))),this._register(vc.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new uc(e.languageId))})))}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,i){let n=vc.getLanguageConfiguration(e);if(!n){if(!i.isRegisteredLanguageId(e))throw new Error(`Language id "${e}" is not configured nor known`);n=new yc(e,{})}const o=function(e,t){const i=t.getValue(mc.brackets,{overrideIdentifier:e}),n=t.getValue(mc.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:fc(i),colorizedBracketPairs:fc(n)}}(n.languageId,t),s=Cc([n.underlyingConfig,o]);return new yc(n.languageId,s)}(e,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};pc=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([hc(0,ec),hc(1,rc)],pc);const mc={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function fc(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class _c{constructor(e){this.languageId=e}}const vc=new class{constructor(){this._entries=new Map,this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event}register(e,t,i=0){let n=this._entries.get(e);n||(n=new bc(e),this._entries.set(e,n));const o=n.register(t,i);return this._onDidChange.fire(new _c(e)),F((()=>{o.dispose(),this._onDidChange.fire(new _c(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return(null==t?void 0:t.getResolvedConfiguration())||null}getComments(e){const t=this.getLanguageConfiguration(e);return t&&t.comments||null}getIndentRulesSupport(e){const t=this.getLanguageConfiguration(e);return t&&t.indentRulesSupport||null}getPrecedingValidLine(e,t,i){const n=e.getLanguageIdAtPosition(t,0);if(t>1){let o,s=-1;for(o=t-1;o>=1;o--){if(e.getLanguageIdAtPosition(o,0)!==n)return s;const t=e.getLineContent(o);if(!i.shouldIgnore(t)&&!/^\s+$/.test(t)&&""!==t)return o;s=o}}return-1}getInheritIndentForLine(e,t,i,n=!0){if(e<4)return null;const o=this.getIndentRulesSupport(t.getLanguageId());if(!o)return null;if(i<=1)return{indentation:"",action:null};const s=this.getPrecedingValidLine(t,i,o);if(s<0)return null;if(s<1)return{indentation:"",action:null};const r=t.getLineContent(s);if(o.shouldIncrease(r)||o.shouldIndentNextLine(r))return{indentation:Qo(r),action:Ua.Indent,line:s};if(o.shouldDecrease(r))return{indentation:Qo(r),action:null,line:s};{if(1===s)return{indentation:Qo(t.getLineContent(s)),action:null,line:s};const e=s-1,i=o.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let n=e-1;n>0;n--)if(!o.shouldIndentNextLine(t.getLineContent(n))){i=n;break}return{indentation:Qo(t.getLineContent(i+1)),action:null,line:i+1}}if(n)return{indentation:Qo(t.getLineContent(s)),action:null,line:s};for(let e=s;e>0;e--){const i=t.getLineContent(e);if(o.shouldIncrease(i))return{indentation:Qo(i),action:Ua.Indent,line:e};if(o.shouldIndentNextLine(i)){let i=0;for(let n=e-1;n>0;n--)if(!o.shouldIndentNextLine(t.getLineContent(e))){i=n;break}return{indentation:Qo(t.getLineContent(i+1)),action:null,line:i+1}}if(o.shouldDecrease(i))return{indentation:Qo(i),action:null,line:e}}return{indentation:Qo(t.getLineContent(1)),action:null,line:1}}}getGoodIndentForLine(e,t,i,n,o){if(e<4)return null;const s=this.getLanguageConfiguration(i);if(!s)return null;const r=this.getIndentRulesSupport(i);if(!r)return null;const a=this.getInheritIndentForLine(e,t,n),l=t.getLineContent(n);if(a){const i=a.line;if(void 0!==i){const n=s.onEnter(e,"",t.getLineContent(i),"");if(n){let e=Qo(t.getLineContent(i));return n.removeText&&(e=e.substring(0,e.length-n.removeText)),n.indentAction===Ua.Indent||n.indentAction===Ua.IndentOutdent?e=o.shiftIndent(e):n.indentAction===Ua.Outdent&&(e=o.unshiftIndent(e)),r.shouldDecrease(l)&&(e=o.unshiftIndent(e)),n.appendText&&(e+=n.appendText),Qo(e)}}return r.shouldDecrease(l)?a.action===Ua.Indent?a.indentation:o.unshiftIndent(a.indentation):a.action===Ua.Indent?o.shiftIndent(a.indentation):a.indentation}return null}getIndentForEnter(e,t,i,n){if(e<4)return null;t.forceTokenization(i.startLineNumber);const o=t.getLineTokens(i.startLineNumber),s=oa(o,i.startColumn-1),r=s.getLineContent();let a,l,c=!1;s.firstCharOffset>0&&o.getLanguageId(0)!==s.languageId?(c=!0,a=r.substr(0,i.startColumn-1-s.firstCharOffset)):a=o.getLineContent().substring(0,i.startColumn-1),l=i.isEmpty()?r.substr(i.startColumn-1-s.firstCharOffset):this.getScopedLineTokens(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-s.firstCharOffset);const d=this.getIndentRulesSupport(s.languageId);if(!d)return null;const h=a,u=Qo(a),g={getLineTokens:e=>t.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,i)=>t.getLanguageIdAtPosition(e,i),getLineContent:e=>e===i.startLineNumber?h:t.getLineContent(e)},p=Qo(o.getLineContent()),m=this.getInheritIndentForLine(e,g,i.startLineNumber+1);if(!m){const e=c?p:u;return{beforeEnter:e,afterEnter:e}}let f=c?p:m.indentation;return m.action===Ua.Indent&&(f=n.shiftIndent(f)),d.shouldDecrease(l)&&(f=n.unshiftIndent(f)),{beforeEnter:c?p:u,afterEnter:f}}getIndentActionForType(e,t,i,n,o){if(e<4)return null;const s=this.getScopedLineTokens(t,i.startLineNumber,i.startColumn);if(s.firstCharOffset)return null;const r=this.getIndentRulesSupport(s.languageId);if(!r)return null;const a=s.getLineContent(),l=a.substr(0,i.startColumn-1-s.firstCharOffset);let c;if(c=i.isEmpty()?a.substr(i.startColumn-1-s.firstCharOffset):this.getScopedLineTokens(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-s.firstCharOffset),!r.shouldDecrease(l+c)&&r.shouldDecrease(l+n+c)){const n=this.getInheritIndentForLine(e,t,i.startLineNumber,!1);if(!n)return null;let s=n.indentation;return n.action!==Ua.Indent&&(s=o.unshiftIndent(s)),s}return null}getIndentMetadata(e,t){const i=this.getIndentRulesSupport(e.getLanguageId());return i?t<1||t>e.getLineCount()?null:i.getIndentMetadata(e.getLineContent(t)):null}getEnterAction(e,t,i){const n=this.getScopedLineTokens(t,i.startLineNumber,i.startColumn),o=this.getLanguageConfiguration(n.languageId);if(!o)return null;const s=n.getLineContent(),r=s.substr(0,i.startColumn-1-n.firstCharOffset);let a;a=i.isEmpty()?s.substr(i.startColumn-1-n.firstCharOffset):this.getScopedLineTokens(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-n.firstCharOffset);let l="";if(i.startLineNumber>1&&0===n.firstCharOffset){const e=this.getScopedLineTokens(t,i.startLineNumber-1);e.languageId===n.languageId&&(l=e.getLineContent())}const c=o.onEnter(e,l,r,a);if(!c)return null;const d=c.indentAction;let h=c.appendText;const u=c.removeText||0;h?d===Ua.Indent&&(h="\t"+h):h=d===Ua.Indent||d===Ua.IndentOutdent?"\t":"";let g=this.getIndentationAtPosition(t,i.startLineNumber,i.startColumn);return u&&(g=g.substring(0,g.length-u)),{indentAction:d,appendText:h,removeText:u,indentation:g}}getIndentationAtPosition(e,t,i){let n=Qo(e.getLineContent(t));return n.length>i-1&&(n=n.substring(0,i-1)),n}getScopedLineTokens(e,t,i){return e.forceTokenization(t),oa(e.getLineTokens(t),void 0===i?e.getLineMaxColumn(t)-1:i-1)}};class bc{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new wc(e,t,++this._order);return this._entries.push(i),this._resolved=null,F((()=>{for(let e=0;ee.configuration))))}}function Cc(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const i of e)t={comments:i.comments||t.comments,brackets:i.brackets||t.brackets,wordPattern:i.wordPattern||t.wordPattern,indentationRules:i.indentationRules||t.indentationRules,onEnterRules:i.onEnterRules||t.onEnterRules,autoClosingPairs:i.autoClosingPairs||t.autoClosingPairs,surroundingPairs:i.surroundingPairs||t.surroundingPairs,autoCloseBefore:i.autoCloseBefore||t.autoCloseBefore,folding:i.folding||t.folding,colorizedBracketPairs:i.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:i.__electricCharacterSupport||t.__electricCharacterSupport};return t}class wc{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class yc{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new Ql(this.underlyingConfig):null,this.comments=yc._handleComments(this.underlyingConfig),this.characterPair=new Ya(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Ha,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new Jl(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{}}getWordDefinition(){return za(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new zl(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new Yl(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new Za(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(){return this.characterPair.getAutoCloseBeforeSet()}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[e,n]=t.blockComment;i.blockCommentStartToken=e,i.blockCommentEndToken=n}return i}}cc(gc,pc);const Sc=Object.create(null);function xc(e,t){if(t<=0)return"";Sc[e]||(Sc[e]=["",e]);const i=Sc[e];for(let n=i.length;n<=t;n++)i[n]=i[n-1]+e;return i[t]}class kc{constructor(e,t){this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}static unshiftIndent(e,t,i,n,o){const s=aa.visibleColumnFromColumn(e,t,i);if(o){const e=xc(" ",n);return xc(e,aa.prevIndentTabStop(s,n)/n)}return xc("\t",aa.prevRenderTabStop(s,i)/i)}static shiftIndent(e,t,i,n,o){const s=aa.visibleColumnFromColumn(e,t,i);if(o){const e=xc(" ",n);return xc(e,aa.nextIndentTabStop(s,n)/n)}return xc("\t",aa.nextRenderTabStop(s,i)/i)}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let n=this._selection.endLineNumber;1===this._selection.endColumn&&i!==n&&(n-=1);const{tabSize:o,indentSize:s,insertSpaces:r}=this._opts,a=i===n;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let l=0,c=0;for(let d=i;d<=n;d++,l=c){c=0;const n=e.getLineContent(d);let h,u=Jo(n);if((!this._opts.isUnshift||0!==n.length&&0!==u)&&(a||this._opts.isUnshift||0!==n.length)){if(-1===u&&(u=n.length),d>1&&aa.visibleColumnFromColumn(n,u+1,o)%s!=0&&e.isCheapToTokenize(d-1)){const t=vc.getEnterAction(this._opts.autoIndent,e,new ia(d-1,e.getLineMaxColumn(d-1),d-1,e.getLineMaxColumn(d-1)));if(t){if(c=l,t.appendText)for(let e=0,i=t.appendText.length;e1){let n;for(n=i-1;n>=1&&!(es(t.getLineContent(n))>=0);n--);if(n<1)return null;const s=t.getLineMaxColumn(n),r=vc.getEnterAction(e.autoIndent,t,new ia(n,s,n,s));r&&(o=r.indentation+r.appendText)}return n&&(n===Ua.Indent&&(o=Lc.shiftIndent(e,o)),n===Ua.Outdent&&(o=Lc.unshiftIndent(e,o)),o=e.normalizeIndentation(o)),o||null}static _replaceJumpToNextIndent(e,t,i,n){let o="";const s=i.getStartPosition();if(e.insertSpaces){const i=e.visibleColumnFromColumn(t,s),n=e.indentSize,r=n-i%n;for(let e=0;ethis._compositionType(i,e,o,s,r,a)));return new _a(4,l,{shouldPushStackElementBefore:Ic(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,o,s){if(!t.isEmpty())return null;const r=t.getPosition(),a=Math.max(1,r.column-n),l=Math.min(e.getLineMaxColumn(r.lineNumber),r.column+o),c=new ia(r.lineNumber,a,r.lineNumber,l);return e.getValueInRange(c)===i&&0===s?null:new Sa(c,i,0,s)}static _typeCommand(e,t,i){return i?new ya(e,t,!0):new Ca(e,t,!0)}static _enter(e,t,i,n){if(0===e.autoIndent)return Lc._typeCommand(n,"\n",i);if(!t.isCheapToTokenize(n.getStartPosition().lineNumber)||1===e.autoIndent){const o=Qo(t.getLineContent(n.startLineNumber)).substring(0,n.startColumn-1);return Lc._typeCommand(n,"\n"+e.normalizeIndentation(o),i)}const o=vc.getEnterAction(e.autoIndent,t,n);if(o){if(o.indentAction===Ua.None)return Lc._typeCommand(n,"\n"+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===Ua.Indent)return Lc._typeCommand(n,"\n"+e.normalizeIndentation(o.indentation+o.appendText),i);if(o.indentAction===Ua.IndentOutdent){const t=e.normalizeIndentation(o.indentation),s=e.normalizeIndentation(o.indentation+o.appendText),r="\n"+s+"\n"+t;return i?new ya(n,r,!0):new Sa(n,r,-1,s.length-t.length,!0)}if(o.indentAction===Ua.Outdent){const t=Lc.unshiftIndent(e,o.indentation);return Lc._typeCommand(n,"\n"+e.normalizeIndentation(t+o.appendText),i)}}const s=Qo(t.getLineContent(n.startLineNumber)).substring(0,n.startColumn-1);if(e.autoIndent>=4){const o=vc.getIndentForEnter(e.autoIndent,t,n,{unshiftIndent:t=>Lc.unshiftIndent(e,t),shiftIndent:t=>Lc.shiftIndent(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)});if(o){let s=e.visibleColumnFromColumn(t,n.getEndPosition());const r=n.endColumn,a=Jo(t.getLineContent(n.endLineNumber));if(n=a>=0?n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,a+1)):n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new ya(n,"\n"+e.normalizeIndentation(o.afterEnter),!0);{let t=0;return r<=a+1&&(e.insertSpaces||(s=Math.ceil(s/e.indentSize)),t=Math.min(s+1-e.normalizeIndentation(o.afterEnter).length-1,0)),new Sa(n,"\n"+e.normalizeIndentation(o.afterEnter),0,t,!0)}}}return Lc._typeCommand(n,"\n"+e.normalizeIndentation(s),i)}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let e=0,n=i.length;eLc.shiftIndent(e,t),unshiftIndent:t=>Lc.unshiftIndent(e,t)});if(null===s)return null;if(s!==e.normalizeIndentation(o)){const o=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);return 0===o?Lc._typeCommand(new ia(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+n,!1):Lc._typeCommand(new ia(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+t.getLineContent(i.startLineNumber).substring(o-1,i.startColumn-1)+n,!1)}return null}static _isAutoClosingOvertype(e,t,i,n,o){if("never"===e.autoClosingOvertype)return!1;if(!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(o))return!1;for(let s=0,r=i.length;s2?l.charCodeAt(a.column-2):0)&&c)return!1;if("auto"===e.autoClosingOvertype){let e=!1;for(let t=0,i=n.length;tt.startsWith(e.open))),r=o.some((e=>t.startsWith(e.close)));return!s&&r}static _findAutoClosingPairOpen(e,t,i,n){const o=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(n);if(!o)return null;let s=null;for(const e of o)if(null===s||e.open.length>s.open.length){let o=!0;for(const s of i)if(t.getValueInRange(new ia(s.lineNumber,s.column-e.open.length+1,s.lineNumber,s.column))+n!==e.open){o=!1;break}o&&(s=e)}return s}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),n=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let o=null;for(const e of n)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!o||e.open.length>o.open.length)&&(o=e);return o}static _getAutoClosingPairClose(e,t,i,n,o){const s=va(n),r=s?e.autoClosingQuotes:e.autoClosingBrackets,a=s?e.shouldAutoCloseBefore.quote:e.shouldAutoCloseBefore.bracket;if("never"===r)return null;for(const e of i)if(!e.isEmpty())return null;const l=i.map((e=>{const t=e.getPosition();return o?{lineNumber:t.lineNumber,beforeColumn:t.column-n.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}})),c=this._findAutoClosingPairOpen(e,t,l.map((e=>new Do(e.lineNumber,e.beforeColumn))),n);if(!c)return null;const d=this._findContainedAutoClosingPair(e,c),h=d?d.close:"";let u=!0;for(const i of l){const{lineNumber:o,beforeColumn:s,afterColumn:l}=i,d=t.getLineContent(o),g=d.substring(0,s-1),p=d.substring(l-1);if(p.startsWith(h)||(u=!1),p.length>0){const t=p.charAt(0);if(!Lc._isBeforeClosingBrace(e,p)&&!a(t))return null}if(1===c.open.length&&("'"===n||'"'===n)&&"always"!==r){const t=Pa(e.wordSeparators);if(g.length>0){const e=g.charCodeAt(g.length-1);if(0===t.get(e))return null}}if(!t.isCheapToTokenize(o))return null;t.forceTokenization(o);const m=oa(t.getLineTokens(o),s-1);if(!c.shouldAutoClose(m,s-m.firstCharOffset))return null;const f=c.findNeutralCharacter();if(f){const e=t.getTokenTypeIfInsertingCharacter(o,s,f);if(!c.isOK(e))return null}}return u?c.close.substring(0,c.close.length-h.length):c.close}static _runAutoClosingOpenCharType(e,t,i,n,o,s,r){const a=[];for(let e=0,t=n.length;enew Ca(new ia(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new _a(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const a=this._getAutoClosingPairClose(t,i,o,r,!0);return null!==a?this._runAutoClosingOpenCharType(e,t,i,o,r,!0,a):null}static typeWithInterceptors(e,t,i,n,o,s,r){if(!e&&"\n"===r){const e=[];for(let t=0,s=o.length;t{const i=e.get(ko).getFocusedCodeEditor();return!(!i||!i.hasTextFocus())&&this._runEditorCommand(e,i,t)})),e.addImplementation(1e3,"generic-dom-input-textarea",((e,t)=>{const i=document.activeElement;return!!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)&&(this.runDOMCommand(),!0)})),e.addImplementation(0,"generic-dom",((e,t)=>{const i=e.get(ko).getActiveCodeEditor();return!!i&&(i.focus(),this._runEditorCommand(e,i,t))}))}_runEditorCommand(e,t,i){return this.runEditorCommand(e,t,i)||!0}}!function(e){class t extends Fc{constructor(e){super(e),this._minimalReveal=e.minimalReveal,this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[Wa.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&e.revealPrimaryCursor(t.source,!0,this._minimalReveal)}}e.MoveTo=Kr(new t({id:"_moveTo",minimalReveal:!0,inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=Kr(new t({id:"_moveToSelect",minimalReveal:!1,inSelectionMode:!0,precondition:void 0}));class i extends Fc{runCoreEditorCommand(e,t){e.model.pushStackElement();const i=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);e.setCursorStates(t.source,3,i.viewStates.map((e=>ga.fromViewState(e)))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:i.fromLineNumber,fromViewVisualColumn:i.fromVisualColumn,toViewLineNumber:i.toLineNumber,toViewVisualColumn:i.toVisualColumn}),i.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source)}}e.ColumnSelect=Kr(new class extends i{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(e,t,i,n){const o=e.model.validatePosition(n.position),s=e.coordinatesConverter.validateViewPosition(new Do(n.viewPosition.lineNumber,n.viewPosition.column),o),r=n.doColumnSelect?i.fromViewLineNumber:s.lineNumber,a=n.doColumnSelect?i.fromViewVisualColumn:n.mouseColumn-1;return ba.columnSelect(e.cursorConfig,e,r,a,s.lineNumber,n.mouseColumn-1)}}),e.CursorColumnSelectLeft=Kr(new class extends i{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return ba.columnSelectLeft(e.cursorConfig,e,i)}}),e.CursorColumnSelectRight=Kr(new class extends i{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,i,n){return ba.columnSelectRight(e.cursorConfig,e,i)}});class n extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return ba.columnSelectUp(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectUp=Kr(new n({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Kr(new n({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3595,linux:{primary:0}}}));class o extends i{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,i,n){return ba.columnSelectDown(e.cursorConfig,e,i,this._isPaged)}}e.CursorColumnSelectDown=Kr(new o({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Kr(new o({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:3596,linux:{primary:0}}}));class s extends Fc{constructor(){super({id:"cursorMove",precondition:void 0,description:Ba.description})}runCoreEditorCommand(e,t){const i=Ba.parse(t);i&&this._runCursorMove(e,t.source,i)}_runCursorMove(e,t,i){e.model.pushStackElement(),e.setCursorStates(t,3,s._move(e,e.getCursorStates(),i)),e.revealPrimaryCursor(t,!0)}static _move(e,t,i){const n=i.select,o=i.value;switch(i.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return Wa.simpleMove(e,t,i.direction,n,o,i.unit);case 11:case 13:case 12:case 14:return Wa.viewportMove(e,t,i.direction,n,o);default:return null}}}e.CursorMoveImpl=s,e.CursorMove=Kr(new s);class r extends Fc{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,Wa.simpleMove(e,e.getCursorStates(),i.direction,i.select,i.value,i.unit)),e.revealPrimaryCursor(t.source,!0)}}e.CursorLeft=Kr(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Kr(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1039}})),e.CursorRight=Kr(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Kr(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1041}})),e.CursorUp=Kr(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Kr(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Kr(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:11}})),e.CursorPageUpSelect=Kr(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1035}})),e.CursorDown=Kr(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Kr(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Kr(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:12}})),e.CursorPageDownSelect=Kr(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1036}})),e.CreateCursor=Kr(new class extends Fc{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(e,t){let i;i=t.wholeLine?Wa.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):Wa.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);const n=e.getCursorStates();if(n.length>1){const o=i.modelState?i.modelState.position:null,s=i.viewState?i.viewState.position:null;for(let i=0,r=n.length;is&&(o=s);const r=new ia(o,1,o,e.model.getLineMaxColumn(o));let a=0;if(i.at)switch(i.at){case Ac.RawAtArgument.Top:a=3;break;case Ac.RawAtArgument.Center:a=1;break;case Ac.RawAtArgument.Bottom:a=4}const l=e.coordinatesConverter.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,l,a,0)}}),e.SelectAll=new class extends Wc{constructor(){super(ta)}runDOMCommand(){Ke&&(document.activeElement.focus(),document.activeElement.select()),document.execCommand("selectAll")}runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditorCommand(n,i)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates("keyboard",3,[Wa.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=Kr(new class extends Fc{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(t.source,3,[ga.fromModelSelection(t.selection)])}})}(Oc||(Oc={}));const Bc=Fs.and(Rc.textInputFocus,Rc.columnSelection);function Vc(e,t){Nr.registerKeybindingRule({id:e,primary:t,when:Bc,weight:1})}function Hc(e){return e.register(),e}var zc;Vc(Oc.CursorColumnSelectLeft.id,1039),Vc(Oc.CursorColumnSelectRight.id,1041),Vc(Oc.CursorColumnSelectUp.id,1040),Vc(Oc.CursorColumnSelectPageUp.id,1035),Vc(Oc.CursorColumnSelectDown.id,1042),Vc(Oc.CursorColumnSelectPageDown.id,1036),function(e){class t extends Hr{runEditorCommand(e,t,i){const n=t._getViewModel();n&&this.runCoreEditingCommand(t,n,i||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=Kr(new class extends t{constructor(){super({id:"lineBreakInsert",precondition:Rc.writable,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,Lc.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection))))}}),e.Outdent=Kr(new class extends t{constructor(){super({id:"outdent",precondition:Rc.writable,kbOpts:{weight:0,kbExpr:Fs.and(Rc.editorTextFocus,Rc.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,Lc.outdent(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.Tab=Kr(new class extends t{constructor(){super({id:"tab",precondition:Rc.writable,kbOpts:{weight:0,kbExpr:Fs.and(Rc.editorTextFocus,Rc.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,i){e.pushUndoStop(),e.executeCommands(this.id,Lc.tab(t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)))),e.pushUndoStop()}}),e.DeleteLeft=Kr(new class extends t{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,i){const[n,o]=Ea.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)),t.getCursorAutoClosedCharacters());n&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(2)}}),e.DeleteRight=Kr(new class extends t{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:Rc.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,i){const[n,o]=Ea.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map((e=>e.modelState.selection)));n&&e.pushUndoStop(),e.executeCommands(this.id,o),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Wc{constructor(){super(Qr)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(81))return t.getModel().undo()}},e.Redo=new class extends Wc{constructor(){super(ea)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(e,t,i){if(t.hasModel()&&!0!==t.getOption(81))return t.getModel().redo()}}}(zc||(zc={}));class jc extends Wr{constructor(e,t,i){super({id:e,precondition:void 0,description:i}),this._handlerId=t}runCommand(e,t){const i=e.get(ko).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function qc(e,t){Hc(new jc("default:"+e,e)),Hc(new jc(e,e,t))}qc("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),qc("replacePreviousChar"),qc("compositionType"),qc("compositionStart"),qc("compositionEnd"),qc("paste"),qc("cut");const Kc=xo("markerDecorationsService");let Uc=class{constructor(e,t){}dispose(){}};var $c,Zc;Uc.ID="editor.contrib.markerDecorations",Uc=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([($c=1,Zc=Kc,function(e,t){Zc(e,t,$c)})],Uc),Gr(Uc.ID,Uc);var Gc=i(1724),Yc={};function Xc(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.keys(e).forEach((i=>{e[i]&&"object"==typeof e[i]?t[i]=Xc(e[i]):t[i]=e[i]})),t}Yc.styleTagTransform=p(),Yc.setAttributes=d(),Yc.insert=l().bind(null,"head"),Yc.domAPI=r(),Yc.insertStyleElement=u(),o()(Gc.Z,Yc),Gc.Z&&Gc.Z.locals&&Gc.Z.locals;const Jc=Object.prototype.hasOwnProperty;function Qc(e,t){return ed(e,t,new Set)}function ed(e,t,i){if(at(e))return e;const n=t(e);if(void 0!==n)return n;if(Qe(e)){const n=[];for(const o of e)n.push(ed(o,t,i));return n}if(tt(e)){if(i.has(e))throw new Error("Cannot clone recursive data-structure");i.add(e);const n={};for(let o in e)Jc.call(e,o)&&(n[o]=ed(e[o],t,i));return i.delete(e),n}return e}function td(e,t,i=!0){return tt(e)?(tt(t)&&Object.keys(t).forEach((n=>{n in e?i&&(tt(e[n])&&tt(t[n])?td(e[n],t[n],i):e[n]=t[n]):e[n]=t[n]})),e):t}function id(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let i,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(i=0;i{e&&e[0]&&e[0].contentRect?this.observe({width:e[0].contentRect.width,height:e[0].contentRect.height}):this.observe()})),this._resizeObserver.observe(this._referenceDomElement))}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,n=0;t?(i=t.width,n=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,n=this._referenceDomElement.clientHeight),i=Math.max(5,i),n=Math.max(5,n),this._width===i&&this._height===n||(this._width=i,this._height=n,e&&this._onDidChange.fire())}}class sd{constructor(e){this.domNode=e,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily="",this._fontWeight="",this._fontSize=-1,this._fontStyle="",this._fontFeatureSettings="",this._textDecoration="",this._lineHeight=-1,this._letterSpacing=-100,this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth+"px")}setWidth(e){this._width!==e&&(this._width=e,this.domNode.style.width=this._width+"px")}setHeight(e){this._height!==e&&(this._height=e,this.domNode.style.height=this._height+"px")}setTop(e){this._top!==e&&(this._top=e,this.domNode.style.top=this._top+"px")}unsetTop(){-1!==this._top&&(this._top=-1,this.domNode.style.top="")}setLeft(e){this._left!==e&&(this._left=e,this.domNode.style.left=this._left+"px")}setBottom(e){this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom+"px")}setRight(e){this._right!==e&&(this._right=e,this.domNode.style.right=this._right+"px")}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize+"px")}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight+"px")}setLetterSpacing(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing+"px")}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function rd(e){return new sd(e)}const ad={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!1}};class ld{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class cd{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class dd{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return ud(e,t)}compute(e,t,i){return i}}class hd{constructor(e,t){this.newValue=e,this.didChange=t}}function ud(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new hd(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const i=Array.isArray(e)&&Array.isArray(t)&&Qa(e,t);return new hd(t,i)}let i=!1;for(const n in t)if(t.hasOwnProperty(n)){const o=ud(e[n],t[n]);o.didChange&&(e[n]=o.newValue,i=!0)}return new hd(e,i)}class gd{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return ud(e,t)}validate(e){return this.defaultValue}}class pd{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return ud(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,i){return i}}function md(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class fd extends pd{constructor(e,t,i,n){void 0!==n&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return md(e,this.defaultValue)}}function _d(e,t,i,n){if(void 0===e)return t;let o=parseInt(e,10);return isNaN(o)?t:(o=Math.max(i,o),o=Math.min(n,o),0|o)}class vd extends pd{constructor(e,t,i,n,o,s){void 0!==s&&(s.type="integer",s.default=i,s.minimum=n,s.maximum=o),super(e,t,i,s),this.minimum=n,this.maximum=o}static clampedInt(e,t,i,n){return _d(e,t,i,n)}validate(e){return vd.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}class bd extends pd{constructor(e,t,i,n,o){void 0!==o&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=n}static clamp(e,t,i){return ei?i:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const i=parseFloat(e);return isNaN(i)?t:i}validate(e){return this.validationFn(bd.float(e,this.defaultValue))}}class Cd extends pd{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,i,n){void 0!==n&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return Cd.string(e,this.defaultValue)}}function wd(e,t,i){return"string"!=typeof e||-1===i.indexOf(e)?t:e}class yd extends pd{constructor(e,t,i,n,o){void 0!==o&&(o.type="string",o.enum=n,o.default=i),super(e,t,i,o),this._allowedValues=n}validate(e){return wd(e,this.defaultValue,this._allowedValues)}}class Sd extends dd{constructor(e,t,i,n,o,s,r){void 0!==r&&(r.type="string",r.enum=o,r.default=n),super(e,t,i,r),this._allowedValues=o,this._convert=s}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var xd;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(xd||(xd={}));class kd extends dd{constructor(){super(45,"fontLigatures",kd.OFF,{anyOf:[{type:"boolean",description:b(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:b(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:b(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?kd.OFF:"true"===e?kd.ON:e:Boolean(e)?kd.ON:kd.OFF}}kd.OFF='"liga" off, "calt" off',kd.ON='"liga" on, "calt" on';class Dd extends dd{constructor(){super(47,"fontWeight",Bd.fontWeight,{anyOf:[{type:"number",minimum:Dd.MINIMUM_VALUE,maximum:Dd.MAXIMUM_VALUE,errorMessage:b(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Dd.SUGGESTION_VALUES}],default:Bd.fontWeight,description:b(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(vd.clampedInt(e,Bd.fontWeight,Dd.MINIMUM_VALUE,Dd.MAXIMUM_VALUE))}}Dd.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Dd.MINIMUM_VALUE=1,Dd.MAXIMUM_VALUE=1e3;class Ld extends gd{constructor(){super(131)}compute(e,t,i){return Ld.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=e.scrollBeyondLastLine?t-1:0,n=(e.viewLineCount+i)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeyondLastLine:i,desiredRatio:n,minimapLineCount:Math.floor(e.viewLineCount/n)}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const s=t.stableMinimapLayoutInput,r=s&&e.outerHeight===s.outerHeight&&e.lineHeight===s.lineHeight&&e.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&e.pixelRatio===s.pixelRatio&&e.scrollBeyondLastLine===s.scrollBeyondLastLine&&e.minimap.enabled===s.minimap.enabled&&e.minimap.side===s.minimap.side&&e.minimap.size===s.minimap.size&&e.minimap.showSlider===s.minimap.showSlider&&e.minimap.renderCharacters===s.minimap.renderCharacters&&e.minimap.maxColumn===s.minimap.maxColumn&&e.minimap.scale===s.minimap.scale&&e.verticalScrollbarWidth===s.verticalScrollbarWidth&&e.isViewportWrapping===s.isViewportWrapping,a=e.lineHeight,l=e.typicalHalfwidthCharacterWidth,c=e.scrollBeyondLastLine,d=e.minimap.renderCharacters;let h=o>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const u=e.minimap.maxColumn,g=e.minimap.size,p=e.minimap.side,m=e.verticalScrollbarWidth,f=e.viewLineCount,_=e.remainingWidth,v=e.isViewportWrapping,b=d?2:3;let C=Math.floor(o*n);const w=C/o;let y=!1,S=!1,x=b*h,k=h/o,D=1;if("fill"===g||"fit"===g){const{typicalViewportLineCount:i,extraLinesBeyondLastLine:s,desiredRatio:l,minimapLineCount:d}=Ld.computeContainedMinimapLineCount({viewLineCount:f,scrollBeyondLastLine:c,height:n,lineHeight:a,pixelRatio:o});if(f/d>1)y=!0,S=!0,h=1,x=1,k=h/o;else{let n=!1,c=h+1;if("fit"===g){const e=Math.ceil((f+s)*x);v&&r&&_<=t.stableFitRemainingWidth?(n=!0,c=t.stableFitMaxMinimapScale):n=e>C}if("fill"===g||n){y=!0;const n=h;x=Math.min(a*o,Math.max(1,Math.floor(1/l))),v&&r&&_<=t.stableFitRemainingWidth&&(c=t.stableFitMaxMinimapScale),h=Math.min(c,Math.max(1,Math.floor(x/b))),h>n&&(D=Math.min(2,h/n)),k=h/o/D,C=Math.ceil(Math.max(i,f+s)*x),v?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=_,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const L=Math.floor(u*k),E=Math.min(L,Math.max(0,Math.floor((_-m-2)*k/(l+k)))+8);let N=Math.floor(o*E);const I=N/o;return N=Math.floor(N*D),{renderMinimap:d?1:2,minimapLeft:"left"===p?0:i-E-m,minimapWidth:E,minimapHeightIsEditorHeight:y,minimapIsSampling:S,minimapScale:h,minimapLineHeight:x,minimapCanvasInnerWidth:N,minimapCanvasInnerHeight:C,minimapCanvasOuterWidth:I,minimapCanvasOuterHeight:w}}static computeLayout(e,t){const i=0|t.outerWidth,n=0|t.outerHeight,o=0|t.lineHeight,s=0|t.lineNumbersDigitCount,r=t.typicalHalfwidthCharacterWidth,a=t.maxDigitWidth,l=t.pixelRatio,c=t.viewLineCount,d=e.get(123),h="inherit"===d?e.get(122):d,u="inherit"===h?e.get(118):h,g=e.get(121),p=e.get(2),m=t.isDominatedByLongLines,f=e.get(50),_=0!==e.get(60).renderType,v=e.get(61),b=e.get(94),C=e.get(65),w=e.get(92),y=w.verticalScrollbarSize,S=w.verticalHasArrows,x=w.arrowSize,k=w.horizontalScrollbarSize,D=e.get(58),L=e.get(37);let E;if("string"==typeof D&&/^\d+(\.\d+)?ch$/.test(D)){const e=parseFloat(D.substr(0,D.length-2));E=vd.clampedInt(e*r,0,0,1e3)}else E=vd.clampedInt(D,0,0,1e3);L&&(E+=16);let N=0;if(_){const e=Math.max(s,v);N=Math.round(e*a)}let I=0;f&&(I=o);let T=0,M=T+I,R=M+N,P=R+E;const A=i-I-N-E;let O=!1,F=!1,W=-1;2!==p&&("inherit"===h&&m?(O=!0,F=!0):"on"===u||"bounded"===u?F=!0:"wordWrapColumn"===u&&(W=g));const B=Ld._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:o,typicalHalfwidthCharacterWidth:r,pixelRatio:l,scrollBeyondLastLine:b,minimap:C,verticalScrollbarWidth:y,viewLineCount:c,remainingWidth:A,isViewportWrapping:F},t.memory||new cd);0!==B.renderMinimap&&0===B.minimapLeft&&(T+=B.minimapWidth,M+=B.minimapWidth,R+=B.minimapWidth,P+=B.minimapWidth);const V=A-B.minimapWidth,H=Math.max(1,Math.floor((V-y-2)/r)),z=S?x:0;return F&&(W=Math.max(1,H),"bounded"===u&&(W=Math.min(W,g))),{width:i,height:n,glyphMarginLeft:T,glyphMarginWidth:I,lineNumbersLeft:M,lineNumbersWidth:N,decorationsLeft:R,decorationsWidth:E,contentLeft:P,contentWidth:V,minimap:B,viewportColumn:H,isWordWrapMinified:O,isViewportWrapping:F,wrappingColumn:W,verticalScrollbarWidth:y,horizontalScrollbarHeight:k,overviewRuler:{top:z,width:y,height:n-2*z,right:0}}}}function Ed(e){const t=e.get(87);return"editable"===t?e.get(81):"on"!==t}function Nd(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}const Id="inUntrustedWorkspace",Td="editor.unicodeHighlight.allowedCharacters",Md="editor.unicodeHighlight.invisibleCharacters",Rd="editor.unicodeHighlight.nonBasicASCII",Pd="editor.unicodeHighlight.ambiguousCharacters",Ad="editor.unicodeHighlight.includeComments",Od="editor.unicodeHighlight.includeStrings",Fd="editor.unicodeHighlight.allowedLocales";function Wd(e,t,i){const n=i.indexOf(e);return-1===n?t:i[n]}const Bd={fontFamily:he?"Menlo, Monaco, 'Courier New', monospace":ue?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:he?12:14,lineHeight:0,letterSpacing:0},Vd=[];function Hd(e){return Vd[e.id]=e,e}const zd={acceptSuggestionOnCommitCharacter:Hd(new fd(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:b(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Hd(new yd(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",b(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:b(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Hd(new class extends dd{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[b(0,"The editor will use platform APIs to detect when a Screen Reader is attached."),b(0,"The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled."),b(0,"The editor will never be optimized for usage with a Screen Reader.")],default:"auto",description:b(0,"Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return 0===i?e.accessibilitySupport:i}}),accessibilityPageSize:Hd(new vd(3,"accessibilityPageSize",10,1,1073741824,{description:b(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.")})),ariaLabel:Hd(new Cd(4,"ariaLabel",b(0,"Editor content"))),autoClosingBrackets:Hd(new yd(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",b(0,"Use language configurations to determine when to autoclose brackets."),b(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:b(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:Hd(new yd(6,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",b(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:b(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Hd(new yd(7,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",b(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:b(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Hd(new yd(8,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",b(0,"Use language configurations to determine when to autoclose quotes."),b(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:b(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Hd(new Sd(9,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[b(0,"The editor will not insert indentation automatically."),b(0,"The editor will keep the current line's indentation."),b(0,"The editor will keep the current line's indentation and honor language defined brackets."),b(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),b(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:b(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Hd(new fd(10,"automaticLayout",!1)),autoSurround:Hd(new yd(11,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[b(0,"Use language configurations to determine when to automatically surround selections."),b(0,"Surround with quotes but not brackets."),b(0,"Surround with brackets but not quotes."),""],description:b(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Hd(new class extends dd{constructor(){const e={enabled:ad.bracketPairColorizationOptions.enabled};super(12,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,description:b(0,"Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.")}})}validate(e){return e&&"object"==typeof e?{enabled:md(e.enabled,this.defaultValue.enabled)}:this.defaultValue}}),bracketPairGuides:Hd(new class extends dd{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[b(0,"Enables bracket pair guides."),b(0,"Enables bracket pair guides only for the active bracket pair."),b(0,"Disables bracket pair guides.")],default:e.bracketPairs,description:b(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[b(0,"Enables horizontal guides as addition to vertical bracket pair guides."),b(0,"Enables horizontal guides only for the active bracket pair."),b(0,"Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:b(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:b(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:b(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:"boolean",default:e.highlightActiveIndentation,description:b(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:Wd(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Wd(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:md(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:md(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:md(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation)}}}),stickyTabStops:Hd(new fd(104,"stickyTabStops",!1,{description:b(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Hd(new fd(14,"codeLens",!0,{description:b(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Hd(new Cd(15,"codeLensFontFamily","",{description:b(0,"Controls the font family for CodeLens.")})),codeLensFontSize:Hd(new vd(16,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:b(0,"Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Hd(new fd(17,"colorDecorators",!0,{description:b(0,"Controls whether the editor should render the inline color decorators and color picker.")})),columnSelection:Hd(new fd(18,"columnSelection",!1,{description:b(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:Hd(new class extends dd{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(19,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:b(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:b(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:md(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:md(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:Hd(new fd(20,"contextmenu",!0)),copyWithSyntaxHighlighting:Hd(new fd(21,"copyWithSyntaxHighlighting",!0,{description:b(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Hd(new Sd(22,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:b(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:Hd(new fd(23,"cursorSmoothCaretAnimation",!1,{description:b(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Hd(new Sd(24,"cursorStyle",xd.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return xd.Line;case"block":return xd.Block;case"underline":return xd.Underline;case"line-thin":return xd.LineThin;case"block-outline":return xd.BlockOutline;case"underline-thin":return xd.UnderlineThin}}),{description:b(0,"Controls the cursor style.")})),cursorSurroundingLines:Hd(new vd(25,"cursorSurroundingLines",0,0,1073741824,{description:b(0,"Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Hd(new yd(26,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[b(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),b(0,"`cursorSurroundingLines` is enforced always.")],description:b(0,"Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:Hd(new vd(27,"cursorWidth",0,0,1073741824,{markdownDescription:b(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Hd(new fd(28,"disableLayerHinting",!1)),disableMonospaceOptimizations:Hd(new fd(29,"disableMonospaceOptimizations",!1)),domReadOnly:Hd(new fd(30,"domReadOnly",!1)),dragAndDrop:Hd(new fd(31,"dragAndDrop",!0,{description:b(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Hd(new class extends fd{constructor(){super(32,"emptySelectionClipboard",!0,{description:b(0,"Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}),extraEditorClassName:Hd(new Cd(33,"extraEditorClassName","")),fastScrollSensitivity:Hd(new bd(34,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:b(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:Hd(new class extends dd{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(35,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:b(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[b(0,"Never seed search string from the editor selection."),b(0,"Always seed search string from the editor selection, including word at cursor position."),b(0,"Only seed search string from the editor selection.")],description:b(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[b(0,"Never turn on Find in Selection automatically (default)."),b(0,"Always turn on Find in Selection automatically."),b(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:b(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:b(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:he},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:b(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:b(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:md(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":wd(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":wd(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:md(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:md(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:md(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:Hd(new fd(36,"fixedOverflowWidgets",!1)),folding:Hd(new fd(37,"folding",!0,{description:b(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:Hd(new yd(38,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[b(0,"Use a language-specific folding strategy if available, else the indentation-based one."),b(0,"Use the indentation-based folding strategy.")],description:b(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:Hd(new fd(39,"foldingHighlight",!0,{description:b(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Hd(new fd(40,"foldingImportsByDefault",!1,{description:b(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Hd(new vd(41,"foldingMaximumRegions",5e3,10,65e3,{description:b(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Hd(new fd(42,"unfoldOnClickAfterEndOfLine",!1,{description:b(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Hd(new Cd(43,"fontFamily",Bd.fontFamily,{description:b(0,"Controls the font family.")})),fontInfo:Hd(new class extends gd{constructor(){super(44)}compute(e,t,i){return e.fontInfo}}),fontLigatures2:Hd(new kd),fontSize:Hd(new class extends pd{constructor(){super(46,"fontSize",Bd.fontSize,{type:"number",minimum:6,maximum:100,default:Bd.fontSize,description:b(0,"Controls the font size in pixels.")})}validate(e){const t=bd.float(e,this.defaultValue);return 0===t?Bd.fontSize:bd.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}),fontWeight:Hd(new Dd),formatOnPaste:Hd(new fd(48,"formatOnPaste",!1,{description:b(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Hd(new fd(49,"formatOnType",!1,{description:b(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Hd(new fd(50,"glyphMargin",!0,{description:b(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Hd(new class extends dd{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[b(0,"Show peek view of the results (default)"),b(0,"Go to the primary result and show a peek view"),b(0,"Go to the primary result and enable peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(51,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:b(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":Object.assign({description:b(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:b(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:b(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:b(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleReferences":Object.assign({description:b(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist.")},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:b(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:b(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:b(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:b(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:b(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,n,o,s;if(!e||"object"!=typeof e)return this.defaultValue;const r=e;return{multiple:wd(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=r.multipleDefinitions)&&void 0!==t?t:wd(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(i=r.multipleTypeDefinitions)&&void 0!==i?i:wd(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(n=r.multipleDeclarations)&&void 0!==n?n:wd(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(o=r.multipleImplementations)&&void 0!==o?o:wd(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(s=r.multipleReferences)&&void 0!==s?s:wd(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:Cd.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:Cd.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:Cd.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:Cd.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:Cd.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:Hd(new fd(52,"hideCursorInOverviewRuler",!1,{description:b(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:Hd(new class extends dd{constructor(){const e={enabled:!0,delay:300,sticky:!0,above:!0};super(53,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:b(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:b(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:b(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:e.above,description:b(0,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:md(t.enabled,this.defaultValue.enabled),delay:vd.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:md(t.sticky,this.defaultValue.sticky),above:md(t.above,this.defaultValue.above)}}}),inDiffEditor:Hd(new fd(54,"inDiffEditor",!1)),letterSpacing:Hd(new bd(56,"letterSpacing",Bd.letterSpacing,(e=>bd.clamp(e,-5,20)),{description:b(0,"Controls the letter spacing in pixels.")})),lightbulb:Hd(new class extends dd{constructor(){const e={enabled:!0};super(57,"lightbulb",e,{"editor.lightbulb.enabled":{type:"boolean",default:e.enabled,description:b(0,"Enables the code action lightbulb in the editor.")}})}validate(e){return e&&"object"==typeof e?{enabled:md(e.enabled,this.defaultValue.enabled)}:this.defaultValue}}),lineDecorationsWidth:Hd(new pd(58,"lineDecorationsWidth",10)),lineHeight:Hd(new class extends bd{constructor(){super(59,"lineHeight",Bd.lineHeight,(e=>bd.clamp(e,0,150)),{markdownDescription:b(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}}),lineNumbers:Hd(new class extends dd{constructor(){super(60,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[b(0,"Line numbers are not rendered."),b(0,"Line numbers are rendered as absolute number."),b(0,"Line numbers are rendered as distance in lines to cursor position."),b(0,"Line numbers are rendered every 10 lines.")],default:"on",description:b(0,"Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,i=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:i}}}),lineNumbersMinChars:Hd(new vd(61,"lineNumbersMinChars",5,1,300)),linkedEditing:Hd(new fd(62,"linkedEditing",!1,{description:b(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.")})),links:Hd(new fd(63,"links",!0,{description:b(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Hd(new yd(64,"matchBrackets","always",["always","near","never"],{description:b(0,"Highlight matching brackets.")})),minimap:Hd(new class extends dd{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};super(65,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:b(0,"Controls whether the minimap is shown.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[b(0,"The minimap has the same size as the editor contents (and might scroll)."),b(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),b(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:b(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:b(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:b(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:b(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:b(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:b(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:md(t.enabled,this.defaultValue.enabled),size:wd(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:wd(t.side,this.defaultValue.side,["right","left"]),showSlider:wd(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:md(t.renderCharacters,this.defaultValue.renderCharacters),scale:vd.clampedInt(t.scale,1,1,3),maxColumn:vd.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:Hd(new yd(66,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Hd(new bd(67,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:b(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Hd(new fd(68,"mouseWheelZoom",!1,{markdownDescription:b(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Hd(new fd(69,"multiCursorMergeOverlapping",!0,{description:b(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Hd(new Sd(70,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?he?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[b(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),b(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:b(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Hd(new yd(71,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[b(0,"Each cursor pastes a single line of the text."),b(0,"Each cursor pastes the full text.")],markdownDescription:b(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),occurrencesHighlight:Hd(new fd(72,"occurrencesHighlight",!0,{description:b(0,"Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:Hd(new fd(73,"overviewRulerBorder",!0,{description:b(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Hd(new vd(74,"overviewRulerLanes",3,0,3)),padding:Hd(new class extends dd{constructor(){super(75,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:b(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:b(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:vd.clampedInt(t.top,0,0,1e3),bottom:vd.clampedInt(t.bottom,0,0,1e3)}}}),parameterHints:Hd(new class extends dd{constructor(){const e={enabled:!0,cycle:!1};super(76,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:b(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:b(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:md(t.enabled,this.defaultValue.enabled),cycle:md(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:Hd(new yd(77,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[b(0,"Focus the tree when opening peek"),b(0,"Focus the editor when opening peek")],description:b(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:Hd(new fd(78,"definitionLinkOpensInPeek",!1,{description:b(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Hd(new class extends dd{constructor(){const e={other:!0,comments:!1,strings:!1};super(79,"quickSuggestions",e,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:e.strings,description:b(0,"Enable quick suggestions inside strings.")},comments:{type:"boolean",default:e.comments,description:b(0,"Enable quick suggestions inside comments.")},other:{type:"boolean",default:e.other,description:b(0,"Enable quick suggestions outside of strings and comments.")}}}],default:e,description:b(0,"Controls whether suggestions should automatically show up while typing.")}),this.defaultValue=e}validate(e){if("boolean"==typeof e)return e;if(e&&"object"==typeof e){const t=e,i={other:md(t.other,this.defaultValue.other),comments:md(t.comments,this.defaultValue.comments),strings:md(t.strings,this.defaultValue.strings)};return!!(i.other&&i.comments&&i.strings)||!!(i.other||i.comments||i.strings)&&i}return this.defaultValue}}),quickSuggestionsDelay:Hd(new vd(80,"quickSuggestionsDelay",10,0,1073741824,{description:b(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Hd(new fd(81,"readOnly",!1)),renameOnType:Hd(new fd(82,"renameOnType",!1,{description:b(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:b(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Hd(new fd(83,"renderControlCharacters",!0,{description:b(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Hd(new fd(84,"renderFinalNewline",!0,{description:b(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:Hd(new yd(85,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",b(0,"Highlights both the gutter and the current line.")],description:b(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Hd(new fd(86,"renderLineHighlightOnlyWhenFocus",!1,{description:b(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Hd(new yd(87,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Hd(new yd(88,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",b(0,"Render whitespace characters except for single spaces between words."),b(0,"Render whitespace characters only on selected text."),b(0,"Render only trailing whitespace characters."),""],description:b(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Hd(new vd(89,"revealHorizontalRightPadding",30,0,1e3)),roundedSelection:Hd(new fd(90,"roundedSelection",!0,{description:b(0,"Controls whether selections should have rounded corners.")})),rulers:Hd(new class extends dd{constructor(){const e=[],t={type:"number",description:b(0,"Number of monospace characters at which this editor ruler will render.")};super(91,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:b(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:b(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(let i of e)if("number"==typeof i)t.push({column:vd.clampedInt(i,0,0,1e4),color:null});else if(i&&"object"==typeof i){const e=i;t.push({column:vd.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:Hd(new class extends dd{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(92,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[b(0,"The vertical scrollbar will be visible only when necessary."),b(0,"The vertical scrollbar will always be visible."),b(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:b(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[b(0,"The horizontal scrollbar will be visible only when necessary."),b(0,"The horizontal scrollbar will always be visible."),b(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:b(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:b(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:b(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:b(0,"Controls whether clicks scroll by page or jump to click position.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,i=vd.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=vd.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:vd.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Nd(t.vertical,this.defaultValue.vertical),horizontal:Nd(t.horizontal,this.defaultValue.horizontal),useShadows:md(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:md(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:md(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:md(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:md(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:vd.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:vd.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:md(t.scrollByPage,this.defaultValue.scrollByPage)}}}),scrollBeyondLastColumn:Hd(new vd(93,"scrollBeyondLastColumn",5,0,1073741824,{description:b(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Hd(new fd(94,"scrollBeyondLastLine",!0,{description:b(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Hd(new fd(95,"scrollPredominantAxis",!0,{description:b(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Hd(new fd(96,"selectionClipboard",!0,{description:b(0,"Controls whether the Linux primary clipboard should be supported."),included:ue})),selectionHighlight:Hd(new fd(97,"selectionHighlight",!0,{description:b(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Hd(new fd(98,"selectOnLineNumbers",!0)),showFoldingControls:Hd(new yd(99,"showFoldingControls","mouseover",["always","mouseover"],{enumDescriptions:[b(0,"Always show the folding controls."),b(0,"Only show the folding controls when the mouse is over the gutter.")],description:b(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:Hd(new fd(100,"showUnused",!0,{description:b(0,"Controls fading out of unused code.")})),showDeprecated:Hd(new fd(126,"showDeprecated",!0,{description:b(0,"Controls strikethrough deprecated variables.")})),inlayHints:Hd(new class extends dd{constructor(){const e={enabled:!0,fontSize:0,fontFamily:""};super(127,"inlayHints",e,{"editor.inlayHints.enabled":{type:"boolean",default:e.enabled,description:b(0,"Enables the inlay hints in the editor.")},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:b(0,"Controls font size of inlay hints in the editor. A default of 90% of `#editor.fontSize#` is used when the configured value is less than `5` or greater than the editor font size.")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:b(0,"Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:md(t.enabled,this.defaultValue.enabled),fontSize:vd.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:Cd.string(t.fontFamily,this.defaultValue.fontFamily)}}}),snippetSuggestions:Hd(new yd(101,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[b(0,"Show snippet suggestions on top of other suggestions."),b(0,"Show snippet suggestions below other suggestions."),b(0,"Show snippets suggestions with other suggestions."),b(0,"Do not show snippet suggestions.")],description:b(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Hd(new class extends dd{constructor(){super(102,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:b(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:md(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}:this.defaultValue}}),smoothScrolling:Hd(new fd(103,"smoothScrolling",!1,{description:b(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Hd(new vd(105,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Hd(new class extends dd{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(106,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[b(0,"Insert suggestion without overwriting text right of the cursor."),b(0,"Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:b(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:b(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:b(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:b(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:b(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:b(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:b(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:b(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:b(0,"Controls whether suggest details show inline with the label or only in the details widget")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:b(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:b(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:b(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:wd(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:md(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:md(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:md(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:md(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:md(t.showIcons,this.defaultValue.showIcons),showStatusBar:md(t.showStatusBar,this.defaultValue.showStatusBar),preview:md(t.preview,this.defaultValue.preview),previewMode:wd(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:md(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:md(t.showMethods,this.defaultValue.showMethods),showFunctions:md(t.showFunctions,this.defaultValue.showFunctions),showConstructors:md(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:md(t.showDeprecated,this.defaultValue.showDeprecated),showFields:md(t.showFields,this.defaultValue.showFields),showVariables:md(t.showVariables,this.defaultValue.showVariables),showClasses:md(t.showClasses,this.defaultValue.showClasses),showStructs:md(t.showStructs,this.defaultValue.showStructs),showInterfaces:md(t.showInterfaces,this.defaultValue.showInterfaces),showModules:md(t.showModules,this.defaultValue.showModules),showProperties:md(t.showProperties,this.defaultValue.showProperties),showEvents:md(t.showEvents,this.defaultValue.showEvents),showOperators:md(t.showOperators,this.defaultValue.showOperators),showUnits:md(t.showUnits,this.defaultValue.showUnits),showValues:md(t.showValues,this.defaultValue.showValues),showConstants:md(t.showConstants,this.defaultValue.showConstants),showEnums:md(t.showEnums,this.defaultValue.showEnums),showEnumMembers:md(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:md(t.showKeywords,this.defaultValue.showKeywords),showWords:md(t.showWords,this.defaultValue.showWords),showColors:md(t.showColors,this.defaultValue.showColors),showFiles:md(t.showFiles,this.defaultValue.showFiles),showReferences:md(t.showReferences,this.defaultValue.showReferences),showFolders:md(t.showFolders,this.defaultValue.showFolders),showTypeParameters:md(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:md(t.showSnippets,this.defaultValue.showSnippets),showUsers:md(t.showUsers,this.defaultValue.showUsers),showIssues:md(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:Hd(new class extends dd{constructor(){const e={enabled:!0,mode:"subwordSmart"};super(55,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:b(0,"Controls whether to automatically show inline suggestions in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:md(t.enabled,this.defaultValue.enabled),mode:wd(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"])}}}),suggestFontSize:Hd(new vd(107,"suggestFontSize",0,0,1e3,{markdownDescription:b(0,"Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.")})),suggestLineHeight:Hd(new vd(108,"suggestLineHeight",0,0,1e3,{markdownDescription:b(0,"Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used. The minimum value is 8.")})),suggestOnTriggerCharacters:Hd(new fd(109,"suggestOnTriggerCharacters",!0,{description:b(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Hd(new yd(110,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[b(0,"Always select the first suggestion."),b(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),b(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:b(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Hd(new yd(111,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[b(0,"Tab complete will insert the best matching suggestion when pressing tab."),b(0,"Disable tab completions."),b(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:b(0,"Enables tab completions.")})),tabIndex:Hd(new vd(112,"tabIndex",0,-1,1073741824)),unicodeHighlight:Hd(new class extends dd{constructor(){const e={nonBasicASCII:Id,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Id,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(113,"unicodeHighlight",e,{[Rd]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Id],default:e.nonBasicASCII,description:b(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Md]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:b(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Pd]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:b(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Ad]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Id],default:e.includeComments,description:b(0,"Controls whether characters in comments should also be subject to unicode highlighting.")},[Od]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Id],default:e.includeStrings,description:b(0,"Controls whether characters in strings should also be subject to unicode highlighting.")},[Td]:{restricted:!0,type:"object",default:e.allowedCharacters,description:b(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Fd]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:b(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&(id(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),i=!0)),t.allowedLocales&&(id(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),i=!0));const n=super.applyUpdate(e,t);return i?new hd(n.newValue,!0):n}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:Wd(t.nonBasicASCII,Id,[!0,!1,Id]),invisibleCharacters:md(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:md(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Wd(t.includeComments,Id,[!0,!1,Id]),includeStrings:Wd(t.includeStrings,Id,[!0,!1,Id]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const i={};for(const[t,n]of Object.entries(e))!0===n&&(i[t]=!0);return i}}),unusualLineTerminators:Hd(new yd(114,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[b(0,"Unusual line terminators are automatically removed."),b(0,"Unusual line terminators are ignored."),b(0,"Unusual line terminators prompt to be removed.")],description:b(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:Hd(new fd(115,"useShadowDOM",!0)),useTabStops:Hd(new fd(116,"useTabStops",!0,{description:b(0,"Inserting and deleting whitespace follows tab stops.")})),wordSeparators:Hd(new Cd(117,"wordSeparators",Va,{description:b(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Hd(new yd(118,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[b(0,"Lines will never wrap."),b(0,"Lines will wrap at the viewport width."),b(0,"Lines will wrap at `#editor.wordWrapColumn#`."),b(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:b(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Hd(new Cd(119,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:Hd(new Cd(120,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:Hd(new vd(121,"wordWrapColumn",80,1,1073741824,{markdownDescription:b(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Hd(new yd(122,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Hd(new yd(123,"wordWrapOverride2","inherit",["off","on","inherit"])),wrappingIndent:Hd(new Sd(124,"wrappingIndent",1,"same",["none","same","indent","deepIndent"],(function(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}}),{enumDescriptions:[b(0,"No indentation. Wrapped lines begin at column 1."),b(0,"Wrapped lines get the same indentation as the parent."),b(0,"Wrapped lines get +1 indentation toward the parent."),b(0,"Wrapped lines get +2 indentation toward the parent.")],description:b(0,"Controls the indentation of wrapped lines.")})),wrappingStrategy:Hd(new yd(125,"wrappingStrategy","simple",["simple","advanced"],{enumDescriptions:[b(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),b(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],description:b(0,"Controls the algorithm that computes wrapping points.")})),editorClassName:Hd(new class extends gd{constructor(){super(128)}compute(e,t,i){const n=["monaco-editor"];return t.get(33)&&n.push(t.get(33)),e.extraEditorClassName&&n.push(e.extraEditorClassName),"default"===t.get(66)?n.push("mouse-default"):"copy"===t.get(66)&&n.push("mouse-copy"),t.get(100)&&n.push("showUnused"),t.get(126)&&n.push("showDeprecated"),n.join(" ")}}),pixelRatio:Hd(new class extends gd{constructor(){super(129)}compute(e,t,i){return e.pixelRatio}}),tabFocusMode:Hd(new class extends gd{constructor(){super(130)}compute(e,t,i){return!!t.get(81)||e.tabFocusMode}}),layoutInfo:Hd(new Ld),wrappingInfo:Hd(new class extends gd{constructor(){super(132)}compute(e,t,i){const n=t.get(131);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}})};function jd(e,t){e instanceof sd?(e.setFontFamily(t.getMassagedFontFamily(Ze?Bd.fontFamily:null)),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(Ze?Bd.fontFamily:null),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}class qd{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class Kd{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");jd(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");jd(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");jd(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const o=[];for(const e of this._requests){let s;0===e.type&&(s=t),2===e.type&&(s=i),1===e.type&&(s=n),s.appendChild(document.createElement("br"));const r=document.createElement("span");Kd._render(r,e),s.appendChild(r),o.push(r)}this._container=e,this._testElements=o}static _render(e,t){if(" "===t.chr){let t=" ";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let i=t.chr;for(let e=0;e<8;e++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;ethis._values[e]))}}const Xd=new class extends B{constructor(){super(),this._onDidChange=this._register(new Pe),this.onDidChange=this._onDidChange.event,this._cache=new Yd,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new Yd,this._onDidChange.fire()}_writeToCache(e,t){this._cache.put(e,t),t.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=window.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const e=this._cache.getValues();let t=!1;for(const i of e)i.isTrusted||(t=!0,this._cache.remove(i));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new Gd({pixelRatio:ze.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,i,n){const o=new qd(e,t);return i.push(o),n&&n.push(o),o}_actualReadFontInfo(e){const t=[],i=[],n=this._createRequest("n",0,t,i),o=this._createRequest("m",0,t,null),s=this._createRequest(" ",0,t,i),r=this._createRequest("0",0,t,i),a=this._createRequest("1",0,t,i),l=this._createRequest("2",0,t,i),c=this._createRequest("3",0,t,i),d=this._createRequest("4",0,t,i),h=this._createRequest("5",0,t,i),u=this._createRequest("6",0,t,i),g=this._createRequest("7",0,t,i),p=this._createRequest("8",0,t,i),m=this._createRequest("9",0,t,i),f=this._createRequest("→",0,t,i),_=this._createRequest("→",0,t,null),v=this._createRequest("·",0,t,i),b=this._createRequest(String.fromCharCode(11825),0,t,null),C="|/-_ilm%";for(let e=0,n=C.length;e.001){y=!1;break}}let x=!0;return y&&_.width!==S&&(x=!1),_.width>f.width&&(x=!1),new Gd({pixelRatio:ze.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:y,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:s.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:w},!0)}},Jd=Object.prototype.hasOwnProperty;class Qd{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}}const eh=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Pe,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))}},th=xo("accessibilityService"),ih=new nr("accessibilityModeEnabled",!1);let nh=class extends B{constructor(e,t,i,n){super(),this._accessibilityService=n,this._onDidChange=this._register(new Pe),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Pe),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._computeOptionsMemory=new cd,this.isSimpleWidget=e,this._containerObserver=this._register(new od(i,t.dimension)),this._rawOptions=lh(t),this._validatedOptions=ah.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(10)&&this._containerObserver.startObserving(),this._register(Ud.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(eh.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(Xd.onDidChange((()=>this._recomputeOptions()))),this._register(ze.onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const e=this._computeOptions(),t=ah.checkEquals(this.options,e);null!==t&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=Zd.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),n={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:eh.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport};return ah.computeOptions(this._validatedOptions,n)}_readEnvConfiguration(){return{extraEditorClassName:oh(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:Ue||Ke,pixelRatio:ze.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return Xd.readFontInfo(e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=lh(e);ah.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=ah.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=function(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}};function oh(){let e="";return Ze||Ge||(e+="no-user-select "),Ze&&(e+="no-minimap-shadow "),he&&(e+="mac "),e}nh=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(3,th)],nh);class sh{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class rh{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class ah{static validateOptions(e){const t=new sh;for(const i of Vd){const n="_never_"===i.name?void 0:e[i.name];t._write(i.id,i.validate(n))}return t}static computeOptions(e,t){const i=new rh;for(const n of Vd)i._write(n.id,n.compute(t,i,e._read(n.id)));return i}static _deepEquals(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return!(!Array.isArray(e)||!Array.isArray(t))&&Qa(e,t);if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!ah._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let n=!1;for(const o of Vd){const s=!ah._deepEquals(e._read(o.id),t._read(o.id));i[o.id]=s,s&&(n=!0)}return n?new ld(i):null}static applyUpdate(e,t){let i=!1;for(const n of Vd)if(t.hasOwnProperty(n.name)){const o=n.applyUpdate(e[n.name],t[n.name]);e[n.name]=o.newValue,i=i||o.didChange}return i}}function lh(e){const t=Xc(e);return function(e){const t=e.wordWrap;!0===t?e.wordWrap="on":!1===t&&(e.wordWrap="off");const i=e.lineNumbers;!0===i?e.lineNumbers="on":!1===i&&(e.lineNumbers="off"),!1===e.autoClosingBrackets&&(e.autoClosingBrackets="never",e.autoClosingQuotes="never",e.autoSurround="never"),"visible"===e.cursorBlinking&&(e.cursorBlinking="solid");const n=e.renderWhitespace;!0===n?e.renderWhitespace="boundary":!1===n&&(e.renderWhitespace="none");const o=e.renderLineHighlight;!0===o?e.renderLineHighlight="line":!1===o&&(e.renderLineHighlight="none");const s=e.acceptSuggestionOnEnter;!0===s?e.acceptSuggestionOnEnter="on":!1===s&&(e.acceptSuggestionOnEnter="off");const r=e.tabCompletion;!1===r?e.tabCompletion="off":!0===r&&(e.tabCompletion="onlySnippets");const a=e.suggest;a&&"object"==typeof a.filteredTypes&&a.filteredTypes&&function(e,t){for(let i in e)if(Jd.call(e,i)&&!1===t({key:i,value:e[i]}))return}({method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"},(e=>{const t=a.filteredTypes[e.key];!1===t&&(a[e.value]=t)}));const l=e.hover;!0===l?e.hover={enabled:!0}:!1===l&&(e.hover={enabled:!1});const c=e.parameterHints;!0===c?e.parameterHints={enabled:!0}:!1===c&&(e.parameterHints={enabled:!1});const d=e.autoIndent;!0===d?e.autoIndent="full":!1===d&&(e.autoIndent="advanced");const h=e.matchBrackets;!0===h?e.matchBrackets="always":!1===h&&(e.matchBrackets="never");const{renderIndentGuides:u,highlightActiveIndentGuide:g}=e;e.guides||(e.guides={}),void 0!==u&&(e.guides.indentation=!!u),void 0!==g&&(e.guides.highlightActiveIndentation=!!g)}(t),t}function ch(e,t,i){let n=null,o=null;if("function"==typeof i.value?(n="value",o=i.value,0!==o.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof i.get&&(n="get",o=i.get),!o)throw new Error("not supported");const s=`$memoize$${t}`;i[n]=function(...e){return this.hasOwnProperty(s)||Object.defineProperty(this,s,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,e)}),this[s]}}var dh;!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(dh||(dh={}));class hh extends B{constructor(){super(),this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(cn(document,"touchstart",(e=>this.onTouchStart(e)),{passive:!1})),this._register(cn(document,"touchend",(e=>this.onTouchEnd(e)))),this._register(cn(document,"touchmove",(e=>this.onTouchMove(e)),{passive:!1}))}static addTarget(e){return hh.isTouchDevice()?(hh.INSTANCE||(hh.INSTANCE=new hh),hh.INSTANCE.targets.push(e),{dispose:()=>{hh.INSTANCE.targets=hh.INSTANCE.targets.filter((t=>t!==e))}}):B.None}static ignoreTarget(e){return hh.isTouchDevice()?(hh.INSTANCE||(hh.INSTANCE=new hh),hh.INSTANCE.ignoreTargets.push(e),{dispose:()=>{hh.INSTANCE.ignoreTargets=hh.INSTANCE.ignoreTargets.filter((t=>t!==e))}}):B.None}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i=hh.HOLD_DELAY&&Math.abs(s.initialPageX-Ja(s.rollingPageX))<30&&Math.abs(s.initialPageY-Ja(s.rollingPageY))<30){let e=this.newGestureEvent(dh.Contextmenu,s.initialTarget);e.pageX=Ja(s.rollingPageX),e.pageY=Ja(s.rollingPageY),this.dispatchEvent(e)}else if(1===i){let e=Ja(s.rollingPageX),i=Ja(s.rollingPageY),n=Ja(s.rollingTimestamps)-s.rollingTimestamps[0],o=e-s.rollingPageX[0],r=i-s.rollingPageY[0];const a=this.targets.filter((e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget)));this.inertia(a,t,Math.abs(o)/n,o>0?1:-1,e,Math.abs(r)/n,r>0?1:-1,i)}this.dispatchEvent(this.newGestureEvent(dh.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){let i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===dh.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>hh.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==dh.Change&&e.type!==dh.Contextmenu||(this._lastSetTapCountTime=0);for(let t=0;t{e.initialTarget instanceof Node&&t.contains(e.initialTarget)&&(t.dispatchEvent(e),this.dispatched=!0)}))}inertia(e,t,i,n,o,s,r,a){this.handle=_n((()=>{let l=Date.now(),c=l-t,d=0,h=0,u=!0;i+=hh.SCROLL_FRICTION*c,s+=hh.SCROLL_FRICTION*c,i>0&&(u=!1,d=n*i*c),s>0&&(u=!1,h=r*s*c);let g=this.newGestureEvent(dh.Change);g.translationX=d,g.translationY=h,e.forEach((e=>e.dispatchEvent(g))),u||this.inertia(e,l,i,n,o+d,s,r,a+h)}))}onTouchMove(e){let t=Date.now();for(let i=0,n=e.changedTouches.length;i3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(n.pageX),o.rollingPageY.push(n.pageY),o.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}function uh(e,t){let i=new Ht(t);return i.preventDefault(),{leftButton:i.leftButton,buttons:i.buttons,posx:i.posx,posy:i.posy}}hh.SCROLL_FRICTION=-.005,hh.HOLD_DELAY=700,hh.CLEAR_TAP_COUNT_TIME=400,function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);s>3&&r&&Object.defineProperty(t,i,r)}([ch],hh,"isTouchDevice",null);class gh{constructor(){this._hooks=new W,this._mouseMoveEventMerger=null,this._mouseMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._mouseMoveEventMerger=null,this._mouseMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._mouseMoveEventMerger}startMonitoring(e,t,i,n,o){if(this.isMonitoring())return;this._mouseMoveEventMerger=i,this._mouseMoveCallback=n,this._onStopCallback=o;const s=Vt.getSameOriginWindowChain(),r=fe?"pointermove":"mousemove",a=s.map((e=>e.window.document)),l=Bn(e);l&&a.unshift(l);for(const e of a)this._hooks.add(yn(e,r,(e=>{e.buttons===t?this._mouseMoveCallback(e):this.stopMonitoring(!0)}),((e,t)=>this._mouseMoveEventMerger(e,t)))),this._hooks.add(cn(e,"mouseup",(e=>this.stopMonitoring(!0))));if(Vt.hasDifferentOriginAncestor()){let e=s[s.length-1];this._hooks.add(cn(e.window.document,"mouseout",(e=>{"html"===new Ht(e).target.tagName.toLowerCase()&&this.stopMonitoring(!0)}))),this._hooks.add(cn(e.window.document,"mouseover",(e=>{"html"===new Ht(e).target.tagName.toLowerCase()&&this.stopMonitoring(!0)}))),this._hooks.add(cn(e.window.document.body,"mouseleave",(e=>{this.stopMonitoring(!0)})))}}}function ph(e,t){const i=Math.pow(10,t);return Math.round(e*i)/i}class mh{constructor(e,t,i,n=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,i)),this.a=ph(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class fh{constructor(e,t,i,n){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=ph(Math.max(Math.min(1,t),0),3),this.l=ph(Math.max(Math.min(1,i),0),3),this.a=ph(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=e.a,s=Math.max(t,i,n),r=Math.min(t,i,n);let a=0,l=0;const c=(r+s)/2,d=s-r;if(d>0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),s){case t:a=(i-n)/d+(i1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:o}=e;let s,r,a;if(0===i)s=r=a=n;else{const e=n<.5?n*(1+i):n+i-n*i,o=2*n-e;s=fh._hue2rgb(o,e,t+1/3),r=fh._hue2rgb(o,e,t),a=fh._hue2rgb(o,e,t-1/3)}return new mh(Math.round(255*s),Math.round(255*r),Math.round(255*a),o)}}class _h{constructor(e,t,i,n){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=ph(Math.max(Math.min(1,t),0),3),this.v=ph(Math.max(Math.min(1,i),0),3),this.a=ph(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=Math.max(t,i,n),s=o-Math.min(t,i,n),r=0===o?0:s/o;let a;return a=0===s?0:o===t?((i-n)/s%6+6)%6:o===i?(n-t)/s+2:(t-i)/s+4,new _h(Math.round(60*a),r,o,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:o}=e,s=n*i,r=s*(1-Math.abs(t/60%2-1)),a=n-s;let[l,c,d]=[0,0,0];return t<60?(l=s,c=r):t<120?(l=r,c=s):t<180?(c=s,d=r):t<240?(c=r,d=s):t<300?(l=r,d=s):t<=360&&(l=s,d=r),l=Math.round(255*(l+a)),c=Math.round(255*(c+a)),d=Math.round(255*(d+a)),new mh(l,c,d,o)}}class vh{constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof mh)this.rgba=e;else if(e instanceof fh)this._hsla=e,this.rgba=fh.toRGBA(e);else{if(!(e instanceof _h))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=_h.toRGBA(e)}}static fromHex(e){return vh.Format.CSS.parseHex(e)||vh.red}get hsla(){return this._hsla?this._hsla:fh.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:_h.fromRGBA(this.rgba)}equals(e){return!!e&&mh.equals(this.rgba,e.rgba)&&fh.equals(this.hsla,e.hsla)&&_h.equals(this.hsva,e.hsva)}getRelativeLuminance(){return ph(.2126*vh._relativeLuminanceForComponent(this.rgba.r)+.7152*vh._relativeLuminanceForComponent(this.rgba.g)+.0722*vh._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()0&&"#"===i.charAt(i.length-1)?i.substring(0,i.length-1):i)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};function wh(e){return`--vscode-${e.replace(/\./g,"-")}`}dr.add(bh,Ch);const yh="base.contributions.colors",Sh=new class{constructor(){this._onDidChangeSchema=new Pe,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,n=!1,o){let s={id:e,description:i,defaults:t,needsTransparency:n,deprecationMessage:o};this.colorsById[e]=s;let r={type:"string",description:i,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return o&&(r.deprecationMessage=o),this.colorSchema.properties[e]=r,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i&&i.defaults)return Tp(i.defaults[t.type],t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{let i=-1===e.indexOf(".")?0:1,n=-1===t.indexOf(".")?0:1;return i!==n?i-n:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function xh(e,t,i,n,o){return Sh.registerColor(e,t,i,n,o)}dr.add(yh,Sh);const kh=xh("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},b(0,"Overall foreground color. This color is only used if not overridden by a component.")),Dh=xh("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},b(0,"Overall foreground color for error messages. This color is only used if not overridden by a component.")),Lh=(xh("descriptionForeground",{light:"#717171",dark:Ep(kh,.7),hc:Ep(kh,.7)},b(0,"Foreground color for description text providing additional information, for example for a label.")),xh("icon.foreground",{dark:"#C5C5C5",light:"#424242",hc:"#FFFFFF"},b(0,"The default color for icons in the workbench."))),Eh=xh("focusBorder",{dark:"#007FD4",light:"#0090F1",hc:"#F38518"},b(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),Nh=xh("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},b(0,"An extra border around elements to separate them from others for greater contrast.")),Ih=xh("contrastActiveBorder",{light:null,dark:null,hc:Eh},b(0,"An extra border around active elements to separate them from others for greater contrast.")),Th=(xh("selection.background",{light:null,dark:null,hc:null},b(0,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.")),xh("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hc:vh.black},b(0,"Color for text separators.")),xh("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},b(0,"Foreground color for links in text."))),Mh=xh("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},b(0,"Foreground color for links in text when clicked on and on mouse hover.")),Rh=(xh("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hc:"#D7BA7D"},b(0,"Foreground color for preformatted text segments.")),xh("textBlockQuote.background",{light:"#7f7f7f1a",dark:"#7f7f7f1a",hc:null},b(0,"Background color for block quotes in text.")),xh("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hc:vh.white},b(0,"Border color for block quotes in text.")),xh("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:vh.black},b(0,"Background color for code blocks in text."))),Ph=xh("widget.shadow",{dark:Ep(vh.black,.36),light:Ep(vh.black,.16),hc:null},b(0,"Shadow color of widgets such as find/replace inside the editor.")),Ah=xh("input.background",{dark:"#3C3C3C",light:vh.white,hc:vh.black},b(0,"Input box background.")),Oh=xh("input.foreground",{dark:kh,light:kh,hc:kh},b(0,"Input box foreground.")),Fh=xh("input.border",{dark:null,light:null,hc:Nh},b(0,"Input box border.")),Wh=xh("inputOption.activeBorder",{dark:"#007ACC00",light:"#007ACC00",hc:Nh},b(0,"Border color of activated options in input fields.")),Bh=(xh("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hc:null},b(0,"Background color of activated options in input fields.")),xh("inputOption.activeBackground",{dark:Ep(Eh,.4),light:Ep(Eh,.2),hc:vh.transparent},b(0,"Background hover color of options in input fields."))),Vh=xh("inputOption.activeForeground",{dark:vh.white,light:vh.black,hc:null},b(0,"Foreground color of activated options in input fields.")),Hh=(xh("input.placeholderForeground",{light:Ep(kh,.5),dark:Ep(kh,.5),hc:Ep(kh,.7)},b(0,"Input box foreground color for placeholder text.")),xh("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:vh.black},b(0,"Input validation background color for information severity."))),zh=xh("inputValidation.infoForeground",{dark:null,light:null,hc:null},b(0,"Input validation foreground color for information severity.")),jh=xh("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:Nh},b(0,"Input validation border color for information severity.")),qh=xh("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:vh.black},b(0,"Input validation background color for warning severity.")),Kh=xh("inputValidation.warningForeground",{dark:null,light:null,hc:null},b(0,"Input validation foreground color for warning severity.")),Uh=xh("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:Nh},b(0,"Input validation border color for warning severity.")),$h=xh("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:vh.black},b(0,"Input validation background color for error severity.")),Zh=xh("inputValidation.errorForeground",{dark:null,light:null,hc:null},b(0,"Input validation foreground color for error severity.")),Gh=xh("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:Nh},b(0,"Input validation border color for error severity.")),Yh=xh("dropdown.background",{dark:"#3C3C3C",light:vh.white,hc:vh.black},b(0,"Dropdown background.")),Xh=(xh("dropdown.listBackground",{dark:null,light:null,hc:vh.black},b(0,"Dropdown list background.")),xh("dropdown.foreground",{dark:"#F0F0F0",light:null,hc:vh.white},b(0,"Dropdown foreground."))),Jh=xh("dropdown.border",{dark:Yh,light:"#CECECE",hc:Nh},b(0,"Dropdown border.")),Qh=(xh("checkbox.background",{dark:Yh,light:Yh,hc:Yh},b(0,"Background color of checkbox widget.")),xh("checkbox.foreground",{dark:Xh,light:Xh,hc:Xh},b(0,"Foreground color of checkbox widget.")),xh("checkbox.border",{dark:Jh,light:Jh,hc:Jh},b(0,"Border color of checkbox widget.")),xh("button.foreground",{dark:vh.white,light:vh.white,hc:vh.white},b(0,"Button foreground color."))),eu=xh("button.background",{dark:"#0E639C",light:"#007ACC",hc:null},b(0,"Button background color.")),tu=xh("button.hoverBackground",{dark:Lp(eu,.2),light:Dp(eu,.2),hc:null},b(0,"Button background color when hovering.")),iu=(xh("button.border",{dark:Nh,light:Nh,hc:Nh},b(0,"Button border color.")),xh("button.secondaryForeground",{dark:vh.white,light:vh.white,hc:vh.white},b(0,"Secondary button foreground color.")),xh("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hc:null},b(0,"Secondary button background color."))),nu=(xh("button.secondaryHoverBackground",{dark:Lp(iu,.2),light:Dp(iu,.2),hc:null},b(0,"Secondary button background color when hovering.")),xh("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:vh.black},b(0,"Badge background color. Badges are small information labels, e.g. for search results count."))),ou=xh("badge.foreground",{dark:vh.white,light:"#333",hc:vh.white},b(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),su=xh("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},b(0,"Scrollbar shadow to indicate that the view is scrolled.")),ru=xh("scrollbarSlider.background",{dark:vh.fromHex("#797979").transparent(.4),light:vh.fromHex("#646464").transparent(.4),hc:Ep(Nh,.6)},b(0,"Scrollbar slider background color.")),au=xh("scrollbarSlider.hoverBackground",{dark:vh.fromHex("#646464").transparent(.7),light:vh.fromHex("#646464").transparent(.7),hc:Ep(Nh,.8)},b(0,"Scrollbar slider background color when hovering.")),lu=xh("scrollbarSlider.activeBackground",{dark:vh.fromHex("#BFBFBF").transparent(.4),light:vh.fromHex("#000000").transparent(.6),hc:Nh},b(0,"Scrollbar slider background color when clicked on.")),cu=xh("progressBar.background",{dark:vh.fromHex("#0E70C0"),light:vh.fromHex("#0E70C0"),hc:Nh},b(0,"Background color of the progress bar that can show for long running operations.")),du=xh("editorError.background",{dark:null,light:null,hc:null},b(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),hu=xh("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hc:null},b(0,"Foreground color of error squigglies in the editor.")),uu=xh("editorError.border",{dark:null,light:null,hc:vh.fromHex("#E47777").transparent(.8)},b(0,"Border color of error boxes in the editor.")),gu=xh("editorWarning.background",{dark:null,light:null,hc:null},b(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),pu=xh("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hc:null},b(0,"Foreground color of warning squigglies in the editor.")),mu=xh("editorWarning.border",{dark:null,light:null,hc:vh.fromHex("#FFCC00").transparent(.8)},b(0,"Border color of warning boxes in the editor.")),fu=xh("editorInfo.background",{dark:null,light:null,hc:null},b(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),_u=xh("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hc:"#3794FF"},b(0,"Foreground color of info squigglies in the editor.")),vu=xh("editorInfo.border",{dark:null,light:null,hc:vh.fromHex("#3794FF").transparent(.8)},b(0,"Border color of info boxes in the editor.")),bu=xh("editorHint.foreground",{dark:vh.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},b(0,"Foreground color of hint squigglies in the editor.")),Cu=xh("editorHint.border",{dark:null,light:null,hc:vh.fromHex("#eeeeee").transparent(.8)},b(0,"Border color of hint boxes in the editor.")),wu=(xh("sash.hoverBorder",{dark:Eh,light:Eh,hc:Eh},b(0,"Border color of active sashes.")),xh("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:vh.black},b(0,"Editor background color."))),yu=xh("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:vh.white},b(0,"Editor default foreground color.")),Su=xh("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hc:"#0C141F"},b(0,"Background color of editor widgets, such as find/replace.")),xu=xh("editorWidget.foreground",{dark:kh,light:kh,hc:kh},b(0,"Foreground color of editor widgets, such as find/replace.")),ku=xh("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:Nh},b(0,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),Du=xh("editorWidget.resizeBorder",{light:null,dark:null,hc:null},b(0,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),Lu=xh("quickInput.background",{dark:Su,light:Su,hc:Su},b(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Eu=xh("quickInput.foreground",{dark:xu,light:xu,hc:xu},b(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),Nu=xh("quickInputTitle.background",{dark:new vh(new mh(255,255,255,.105)),light:new vh(new mh(0,0,0,.06)),hc:"#000000"},b(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),Iu=xh("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hc:vh.white},b(0,"Quick picker color for grouping labels.")),Tu=xh("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:vh.white},b(0,"Quick picker color for grouping borders.")),Mu=xh("keybindingLabel.background",{dark:new vh(new mh(128,128,128,.17)),light:new vh(new mh(221,221,221,.4)),hc:vh.transparent},b(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),Ru=xh("keybindingLabel.foreground",{dark:vh.fromHex("#CCCCCC"),light:vh.fromHex("#555555"),hc:vh.white},b(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),Pu=xh("keybindingLabel.border",{dark:new vh(new mh(51,51,51,.6)),light:new vh(new mh(204,204,204,.4)),hc:new vh(new mh(111,195,223))},b(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Au=xh("keybindingLabel.bottomBorder",{dark:new vh(new mh(68,68,68,.6)),light:new vh(new mh(187,187,187,.4)),hc:new vh(new mh(111,195,223))},b(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),Ou=xh("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},b(0,"Color of the editor selection.")),Fu=xh("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},b(0,"Color of the selected text for high contrast.")),Wu=xh("editor.inactiveSelectionBackground",{light:Ep(Ou,.5),dark:Ep(Ou,.5),hc:Ep(Ou,.5)},b(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),Bu=xh("editor.selectionHighlightBackground",{light:Ip(Ou,wu,.3,.6),dark:Ip(Ou,wu,.3,.6),hc:null},b(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),Vu=xh("editor.selectionHighlightBorder",{light:null,dark:null,hc:Ih},b(0,"Border color for regions with the same content as the selection.")),Hu=xh("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},b(0,"Color of the current search match.")),zu=xh("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},b(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),ju=xh("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},b(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),qu=xh("editor.findMatchBorder",{light:null,dark:null,hc:Ih},b(0,"Border color of the current search match.")),Ku=xh("editor.findMatchHighlightBorder",{light:null,dark:null,hc:Ih},b(0,"Border color of the other search matches.")),Uu=xh("editor.findRangeHighlightBorder",{dark:null,light:null,hc:Ep(Ih,.4)},b(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),$u=(xh("searchEditor.findMatchBackground",{light:Ep(zu,.66),dark:Ep(zu,.66),hc:zu},b(0,"Color of the Search Editor query matches.")),xh("searchEditor.findMatchBorder",{light:Ep(Ku,.66),dark:Ep(Ku,.66),hc:Ku},b(0,"Border color of the Search Editor query matches.")),xh("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},b(0,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0)),Zu=xh("editorHoverWidget.background",{light:Su,dark:Su,hc:Su},b(0,"Background color of the editor hover.")),Gu=xh("editorHoverWidget.foreground",{light:xu,dark:xu,hc:xu},b(0,"Foreground color of the editor hover.")),Yu=xh("editorHoverWidget.border",{light:ku,dark:ku,hc:ku},b(0,"Border color of the editor hover.")),Xu=xh("editorHoverWidget.statusBarBackground",{dark:Lp(Zu,.2),light:Dp(Zu,.05),hc:Su},b(0,"Background color of the editor hover status bar.")),Ju=xh("editorLink.activeForeground",{dark:"#4E94CE",light:vh.blue,hc:vh.cyan},b(0,"Color of active links.")),Qu=xh("editorInlayHint.foreground",{dark:Ep(ou,.8),light:Ep(ou,.8),hc:ou},b(0,"Foreground color of inline hints")),eg=xh("editorInlayHint.background",{dark:Ep(nu,.6),light:Ep(nu,.3),hc:nu},b(0,"Background color of inline hints")),tg=xh("editorInlayHint.typeForeground",{dark:Qu,light:Qu,hc:Qu},b(0,"Foreground color of inline hints for types")),ig=xh("editorInlayHint.typeBackground",{dark:eg,light:eg,hc:eg},b(0,"Background color of inline hints for types")),ng=xh("editorInlayHint.parameterForeground",{dark:Qu,light:Qu,hc:Qu},b(0,"Foreground color of inline hints for parameters")),og=xh("editorInlayHint.parameterBackground",{dark:eg,light:eg,hc:eg},b(0,"Background color of inline hints for parameters")),sg=xh("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hc:"#FFCC00"},b(0,"The color used for the lightbulb actions icon.")),rg=xh("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hc:"#75BEFF"},b(0,"The color used for the lightbulb auto fix actions icon.")),ag=new vh(new mh(155,185,85,.2)),lg=new vh(new mh(255,0,0,.2)),cg=xh("diffEditor.insertedTextBackground",{dark:ag,light:ag,hc:null},b(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),dg=xh("diffEditor.removedTextBackground",{dark:lg,light:lg,hc:null},b(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),hg=xh("diffEditor.insertedLineBackground",{dark:null,light:null,hc:null},b(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),ug=xh("diffEditor.removedLineBackground",{dark:null,light:null,hc:null},b(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),gg=xh("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hc:null},b(0,"Background color for the margin where lines got inserted.")),pg=xh("diffEditorGutter.removedLineBackground",{dark:null,light:null,hc:null},b(0,"Background color for the margin where lines got removed.")),mg=xh("diffEditorOverview.insertedForeground",{dark:null,light:null,hc:null},b(0,"Diff overview ruler foreground for inserted content.")),fg=xh("diffEditorOverview.removedForeground",{dark:null,light:null,hc:null},b(0,"Diff overview ruler foreground for removed content.")),_g=xh("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},b(0,"Outline color for the text that got inserted.")),vg=xh("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},b(0,"Outline color for text that got removed.")),bg=xh("diffEditor.border",{dark:null,light:null,hc:Nh},b(0,"Border color between the two text editors.")),Cg=xh("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hc:null},b(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),wg=xh("list.focusBackground",{dark:null,light:null,hc:null},b(0,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),yg=xh("list.focusForeground",{dark:null,light:null,hc:null},b(0,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Sg=xh("list.focusOutline",{dark:Eh,light:Eh,hc:Ih},b(0,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),xg=xh("list.activeSelectionBackground",{dark:"#094771",light:"#0060C0",hc:null},b(0,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),kg=xh("list.activeSelectionForeground",{dark:vh.white,light:vh.white,hc:null},b(0,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Dg=xh("list.activeSelectionIconForeground",{dark:null,light:null,hc:null},b(0,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),Lg=xh("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hc:null},b(0,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Eg=xh("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},b(0,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Ng=xh("list.inactiveSelectionIconForeground",{dark:null,light:null,hc:null},b(0,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Ig=xh("list.inactiveFocusBackground",{dark:null,light:null,hc:null},b(0,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Tg=xh("list.inactiveFocusOutline",{dark:null,light:null,hc:null},b(0,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),Mg=xh("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},b(0,"List/Tree background when hovering over items using the mouse.")),Rg=xh("list.hoverForeground",{dark:null,light:null,hc:null},b(0,"List/Tree foreground when hovering over items using the mouse.")),Pg=xh("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hc:null},b(0,"List/Tree drag and drop background when moving items around using the mouse.")),Ag=xh("list.highlightForeground",{dark:"#18A3FF",light:"#0066BF",hc:Eh},b(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),Og=xh("list.focusHighlightForeground",{dark:Ag,light:(Fg=xg,Wg=Ag,"#9DDDFF",{op:5,if:Fg,then:Wg,else:"#9DDDFF"}),hc:Ag},b(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var Fg,Wg;xh("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hc:"#B89500"},b(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),xh("list.errorForeground",{dark:"#F88070",light:"#B01011",hc:null},b(0,"Foreground color of list items containing errors.")),xh("list.warningForeground",{dark:"#CCA700",light:"#855F00",hc:null},b(0,"Foreground color of list items containing warnings."));const Bg=xh("listFilterWidget.background",{light:"#efc1ad",dark:"#653723",hc:vh.black},b(0,"Background color of the type filter widget in lists and trees.")),Vg=xh("listFilterWidget.outline",{dark:vh.transparent,light:vh.transparent,hc:"#f38518"},b(0,"Outline color of the type filter widget in lists and trees.")),Hg=xh("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hc:Nh},b(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),zg=(xh("list.filterMatchBackground",{dark:zu,light:zu,hc:null},b(0,"Background color of the filtered match.")),xh("list.filterMatchBorder",{dark:Ku,light:Ku,hc:Nh},b(0,"Border color of the filtered match.")),xh("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hc:"#a9a9a9"},b(0,"Tree stroke color for the indentation guides."))),jg=xh("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hc:null},b(0,"Table border color between columns.")),qg=xh("tree.tableOddRowsBackground",{dark:Ep(kh,.04),light:Ep(kh,.04),hc:null},b(0,"Background color for odd table rows.")),Kg=(xh("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hc:"#A7A8A9"},b(0,"List/Tree foreground color for items that are deemphasized. ")),xh("quickInput.list.focusBackground",{dark:null,light:null,hc:null},"",void 0,b(0,"Please use quickInputList.focusBackground instead"))),Ug=xh("quickInputList.focusForeground",{dark:kg,light:kg,hc:kg},b(0,"Quick picker foreground color for the focused item.")),$g=xh("quickInputList.focusIconForeground",{dark:Dg,light:Dg,hc:Dg},b(0,"Quick picker icon foreground color for the focused item.")),Zg=xh("quickInputList.focusBackground",{dark:Np(Kg,xg),light:Np(Kg,xg),hc:null},b(0,"Quick picker background color for the focused item.")),Gg=xh("menu.border",{dark:null,light:null,hc:Nh},b(0,"Border color of menus.")),Yg=xh("menu.foreground",{dark:Xh,light:kh,hc:Xh},b(0,"Foreground color of menu items.")),Xg=xh("menu.background",{dark:Yh,light:Yh,hc:Yh},b(0,"Background color of menu items.")),Jg=xh("menu.selectionForeground",{dark:kg,light:kg,hc:kg},b(0,"Foreground color of the selected menu item in menus.")),Qg=xh("menu.selectionBackground",{dark:xg,light:xg,hc:xg},b(0,"Background color of the selected menu item in menus.")),ep=xh("menu.selectionBorder",{dark:null,light:null,hc:Ih},b(0,"Border color of the selected menu item in menus.")),tp=xh("menu.separatorBackground",{dark:"#BBBBBB",light:"#888888",hc:Nh},b(0,"Color of a separator menu item in menus.")),ip=xh("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hc:null},b(0,"Toolbar background when hovering over actions using the mouse")),np=(xh("toolbar.hoverOutline",{dark:null,light:null,hc:Ih},b(0,"Toolbar outline when hovering over actions using the mouse")),xh("toolbar.activeBackground",{dark:Lp(ip,.1),light:Dp(ip,.1),hc:null},b(0,"Toolbar background when holding the mouse over actions")),xh("editor.snippetTabstopHighlightBackground",{dark:new vh(new mh(124,124,124,.3)),light:new vh(new mh(10,50,100,.2)),hc:new vh(new mh(124,124,124,.3))},b(0,"Highlight background color of a snippet tabstop.")),xh("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hc:null},b(0,"Highlight border color of a snippet tabstop.")),xh("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hc:null},b(0,"Highlight background color of the final tabstop of a snippet.")),xh("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new vh(new mh(10,50,100,.5)),hc:"#525252"},b(0,"Highlight border color of the final tabstop of a snippet.")),xh("breadcrumb.foreground",{light:Ep(kh,.8),dark:Ep(kh,.8),hc:Ep(kh,.8)},b(0,"Color of focused breadcrumb items.")),xh("breadcrumb.background",{light:wu,dark:wu,hc:wu},b(0,"Background color of breadcrumb items.")),xh("breadcrumb.focusForeground",{light:Dp(kh,.2),dark:Lp(kh,.1),hc:Lp(kh,.1)},b(0,"Color of focused breadcrumb items.")),xh("breadcrumb.activeSelectionForeground",{light:Dp(kh,.2),dark:Lp(kh,.1),hc:Lp(kh,.1)},b(0,"Color of selected breadcrumb items.")),xh("breadcrumbPicker.background",{light:Su,dark:Su,hc:Su},b(0,"Background color of breadcrumb item picker.")),vh.fromHex("#40C8AE").transparent(.5)),op=vh.fromHex("#40A6FF").transparent(.5),sp=vh.fromHex("#606060").transparent(.4),rp=.4,ap=xh("merge.currentHeaderBackground",{dark:np,light:np,hc:null},b(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),lp=(xh("merge.currentContentBackground",{dark:Ep(ap,rp),light:Ep(ap,rp),hc:Ep(ap,rp)},b(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),xh("merge.incomingHeaderBackground",{dark:op,light:op,hc:null},b(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),cp=(xh("merge.incomingContentBackground",{dark:Ep(lp,rp),light:Ep(lp,rp),hc:Ep(lp,rp)},b(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),xh("merge.commonHeaderBackground",{dark:sp,light:sp,hc:null},b(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),dp=(xh("merge.commonContentBackground",{dark:Ep(cp,rp),light:Ep(cp,rp),hc:Ep(cp,rp)},b(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),xh("merge.border",{dark:null,light:null,hc:"#C3DF6F"},b(0,"Border color on headers and the splitter in inline merge-conflicts."))),hp=(xh("editorOverviewRuler.currentContentForeground",{dark:Ep(ap,1),light:Ep(ap,1),hc:dp},b(0,"Current overview ruler foreground for inline merge-conflicts.")),xh("editorOverviewRuler.incomingContentForeground",{dark:Ep(lp,1),light:Ep(lp,1),hc:dp},b(0,"Incoming overview ruler foreground for inline merge-conflicts.")),xh("editorOverviewRuler.commonContentForeground",{dark:Ep(cp,1),light:Ep(cp,1),hc:dp},b(0,"Common ancestor overview ruler foreground for inline merge-conflicts.")),xh("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hc:"#AB5A00"},b(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0)),up=xh("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},b(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),gp=xh("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hc:"#AB5A00"},b(0,"Minimap marker color for find matches."),!0),pp=xh("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hc:"#ffffff"},b(0,"Minimap marker color for repeating editor selections."),!0),mp=xh("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hc:"#ffffff"},b(0,"Minimap marker color for the editor selection."),!0),fp=xh("minimap.errorHighlight",{dark:new vh(new mh(255,18,18,.7)),light:new vh(new mh(255,18,18,.7)),hc:new vh(new mh(255,50,50,1))},b(0,"Minimap marker color for errors.")),_p=xh("minimap.warningHighlight",{dark:pu,light:pu,hc:mu},b(0,"Minimap marker color for warnings.")),vp=xh("minimap.background",{dark:null,light:null,hc:null},b(0,"Minimap background color.")),bp=xh("minimap.foregroundOpacity",{dark:vh.fromHex("#000f"),light:vh.fromHex("#000f"),hc:vh.fromHex("#000f")},b(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),Cp=xh("minimapSlider.background",{light:Ep(ru,.5),dark:Ep(ru,.5),hc:Ep(ru,.5)},b(0,"Minimap slider background color.")),wp=xh("minimapSlider.hoverBackground",{light:Ep(au,.5),dark:Ep(au,.5),hc:Ep(au,.5)},b(0,"Minimap slider background color when hovering.")),yp=xh("minimapSlider.activeBackground",{light:Ep(lu,.5),dark:Ep(lu,.5),hc:Ep(lu,.5)},b(0,"Minimap slider background color when clicked on.")),Sp=xh("problemsErrorIcon.foreground",{dark:hu,light:hu,hc:hu},b(0,"The color used for the problems error icon.")),xp=xh("problemsWarningIcon.foreground",{dark:pu,light:pu,hc:pu},b(0,"The color used for the problems warning icon.")),kp=xh("problemsInfoIcon.foreground",{dark:_u,light:_u,hc:_u},b(0,"The color used for the problems info icon."));function Dp(e,t){return{op:0,value:e,factor:t}}function Lp(e,t){return{op:1,value:e,factor:t}}function Ep(e,t){return{op:2,value:e,factor:t}}function Np(...e){return{op:3,values:e}}function Ip(e,t,i,n){return{op:4,value:e,background:t,factor:i,transparency:n}}function Tp(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?vh.fromHex(e):t.getColor(e):e instanceof vh?e:"object"==typeof e?function(e,t){var i,n,o;switch(e.op){case 0:return null===(i=Tp(e.value,t))||void 0===i?void 0:i.darken(e.factor);case 1:return null===(n=Tp(e.value,t))||void 0===n?void 0:n.lighten(e.factor);case 2:return null===(o=Tp(e.value,t))||void 0===o?void 0:o.transparent(e.factor);case 3:for(const i of e.values){const e=Tp(i,t);if(e)return e}return;case 5:return Tp(t.defines(e.if)?e.then:e.else,t);case 4:{const i=Tp(e.value,t);if(!i)return;const n=Tp(e.background,t);return n?i.isDarkerThan(n)?vh.getLighterColor(i,n,e.factor).transparent(e.transparency):vh.getDarkerColor(i,n,e.factor).transparent(e.transparency):i.transparent(e.factor*e.transparency)}default:throw pt()}}(e,t):void 0}xh("charts.foreground",{dark:kh,light:kh,hc:kh},b(0,"The foreground color used in charts.")),xh("charts.lines",{dark:Ep(kh,.5),light:Ep(kh,.5),hc:Ep(kh,.5)},b(0,"The color used for horizontal lines in charts.")),xh("charts.red",{dark:hu,light:hu,hc:hu},b(0,"The red color used in chart visualizations.")),xh("charts.blue",{dark:_u,light:_u,hc:_u},b(0,"The blue color used in chart visualizations.")),xh("charts.yellow",{dark:pu,light:pu,hc:pu},b(0,"The yellow color used in chart visualizations.")),xh("charts.orange",{dark:gp,light:gp,hc:gp},b(0,"The orange color used in chart visualizations.")),xh("charts.green",{dark:"#89D185",light:"#388A34",hc:"#89D185"},b(0,"The green color used in chart visualizations.")),xh("charts.purple",{dark:"#B180D7",light:"#652D90",hc:"#B180D7"},b(0,"The purple color used in chart visualizations."));const Mp="vscode://schemas/workbench-colors";let Rp=dr.as(bh);Rp.registerSchema(Mp,Sh.getColorSchema());const Pp=new ri((()=>Rp.notifySchemaChanged(Mp)),200);Sh.onDidChangeSchema((()=>{Pp.isScheduled()||Pp.schedule()}));class Ap{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(){return new Op(this.x-Nn.scrollX,this.y-Nn.scrollY)}}class Op{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(){return new Ap(this.clientX+Nn.scrollX,this.clientY+Nn.scrollY)}}class Fp{constructor(e,t,i,n){this.x=e,this.y=t,this.width=i,this.height=n,this._editorPagePositionBrand=void 0}}class Wp{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function Bp(e){const t=En(e);return new Fp(t.left,t.top,t.width,t.height)}function Vp(e,t,i){const n=t.width/e.offsetWidth,o=t.height/e.offsetHeight,s=(i.x-t.x)/n,r=(i.y-t.y)/o;return new Wp(s,r)}class Hp extends Ht{constructor(e,t){super(e),this._editorMouseEventBrand=void 0,this.pos=new Ap(this.posx,this.posy),this.editorPos=Bp(t),this.relativePos=Vp(t,this.editorPos,this.pos)}}class zp{constructor(e){this._editorViewDomNode=e}_create(e){return new Hp(e,this._editorViewDomNode)}onContextMenu(e,t){return cn(e,"contextmenu",(e=>{t(this._create(e))}))}onMouseUp(e,t){return cn(e,"mouseup",(e=>{t(this._create(e))}))}onMouseDown(e,t){return cn(e,"mousedown",(e=>{t(this._create(e))}))}onMouseLeave(e,t){return pn(e,(e=>{t(this._create(e))}))}onMouseMoveThrottled(e,t,i,n){return yn(e,"mousemove",t,((e,t)=>i(e,this._create(t))),n)}}class jp{constructor(e){this._editorViewDomNode=e}_create(e){return new Hp(e,this._editorViewDomNode)}onPointerUp(e,t){return cn(e,"pointerup",(e=>{t(this._create(e))}))}onPointerDown(e,t){return cn(e,"pointerdown",(e=>{t(this._create(e))}))}onPointerLeave(e,t){return n=e=>{t(this._create(e))},cn(i=e,"pointerout",(e=>{let t=e.relatedTarget;for(;t&&t!==i;)t=t.parentNode;t!==i&&n(e)}));var i,n}onPointerMoveThrottled(e,t,i,n){return yn(e,"pointermove",t,((e,t)=>i(e,this._create(t))),n)}}class qp extends B{constructor(e){super(),this._editorViewDomNode=e,this._globalMouseMoveMonitor=this._register(new gh),this._keydownListener=null}startMonitoring(e,t,i,n,o){this._keydownListener=hn(document,"keydown",(e=>{e.toKeybinding().isModifierKey()||this._globalMouseMoveMonitor.stopMonitoring(!0,e.browserEvent)}),!0),this._globalMouseMoveMonitor.startMonitoring(e,t,((e,t)=>i(e,new Hp(t,this._editorViewDomNode))),n,(e=>{this._keydownListener.dispose(),o(e)}))}stopMonitoring(){this._globalMouseMoveMonitor.stopMonitoring(!0)}}class Kp{constructor(e){this._editor=e,this._instanceId=++Kp._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new ri((()=>this.garbageCollect()),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const n=this._counter++;i=new Up(t,`dyn-rule-${this._instanceId}-${n}`,Wn(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}Kp._idPool=0;class Up{constructor(e,t,i,n){this.key=e,this.className=t,this.properties=n,this._referenceCount=0,this._styleElement=Hn(i),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const e in t){const n=t[e];let o;o="object"==typeof n?`var(${wh(n.id)})`:n,i+=`\n\t${$p(e)}: ${o};`}return i+="\n}",i}dispose(){this._styleElement.remove()}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function $p(e){return e.replace(/(^[A-Z])/,(([e])=>e.toLowerCase())).replace(/([A-Z])/g,(([e])=>`-${e.toLowerCase()}`))}class Zp extends B{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,n=e.length;i=s.left?n.width=Math.max(n.width,s.left+s.width-n.left):(t[i++]=n,n=s)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||0===e.length)return null;const n=[];for(let o=0,s=e.length;ol)return null;if((t=Math.min(l,Math.max(0,t)))===(n=Math.min(l,Math.max(0,n)))&&i===o&&0===i&&!e.children[t].firstChild){const i=e.children[t].getClientRects();return this._createHorizontalRangesFromClientRects(i,s,r)}t!==n&&n>0&&0===o&&(n--,o=1073741824);let c=e.children[t].firstChild,d=e.children[n].firstChild;if(c&&d||(!c&&0===i&&t>0&&(c=e.children[t-1].firstChild,i=1073741824),!d&&0===o&&n>0&&(d=e.children[n-1].firstChild,o=1073741824)),!c||!d)return null;i=Math.min(c.textContent.length,Math.max(0,i)),o=Math.min(d.textContent.length,Math.max(0,o));const h=this._readClientRects(c,i,d,o,a);return this._createHorizontalRangesFromClientRects(h,s,r)}}class om{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length;if(i!==t.length)return!1;for(let n=0;n=o||(r[a++]=new om(Math.max(1,t.startColumn-n+1),Math.min(s+1,t.endColumn-n+1),t.className,t.type));return r}static filter(e,t,i,n){if(0===e.length)return[];const o=[];let s=0;for(let r=0,a=e.length;rt)continue;if(l.isEmpty()&&(0===a.type||3===a.type))continue;const c=l.startLineNumber===t?l.startColumn:i,d=l.endLineNumber===t?l.endColumn:n;o[s++]=new om(c,d,a.inlineClassName,a.type)}return o}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=om._typeCompare(e.type,t.type);return 0!==i?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class am{constructor(e,t,i){this._linePartBrand=void 0,this.endIndex=e,this.type=t,this.metadata=i}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class lm{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class cm{constructor(e,t,i,n,o,s,r,a,l,c,d,h,u,g,p,m,f,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=r,this.lineTokens=a,this.lineDecorations=l.sort(om.compare),this.tabSize=c,this.startVisibleColumn=d,this.spaceWidth=h,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===m?4:"boundary"===m?1:"selection"===m?2:"trailing"===m?3:0,this.renderControlCharacters=f,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}setColumnInfo(e,t,i,n){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._absoluteOffsets[e-1]=n+i}getAbsoluteOffset(e){return 0===this._absoluteOffsets.length?0:this._absoluteOffsets[e-1]}charOffsetToPartData(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=hm.getPartIndex(t),n=hm.getCharIndex(t);return new dm(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(0===this.length)return 0;const n=(e<<16|i<<0)>>>0;let o=0,s=this.length-1;for(;o+1>>1,t=this._data[e];if(t===n)return e;t>n?s=e:o=e}if(o===s)return o;const r=this._data[o],a=this._data[s];if(r===n)return o;if(a===n)return s;const l=hm.getPartIndex(r),c=hm.getCharIndex(r);let d;return d=l!==hm.getPartIndex(a)?t:hm.getCharIndex(a),i-c<=d-i?o:s}}class um{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function gm(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendASCIIString("");let i=0,n=0,o=0;for(const s of e.lineDecorations)1!==s.type&&2!==s.type||(t.appendASCIIString(''),1===s.type&&(o|=1,i++),2===s.type&&(o|=2,n++));t.appendASCIIString("");const s=new hm(1,i+n);return s.setColumnInfo(1,i,0,0),new um(s,!1,o)}return t.appendASCIIString(""),new um(new hm(0,0),!1,0)}return function(e,t){const i=e.fontIsMonospace,n=e.canUseHalfwidthRightwardsArrow,o=e.containsForeignElements,s=e.lineContent,r=e.len,a=e.isOverflowing,l=e.parts,c=e.fauxIndentLength,d=e.tabSize,h=e.startVisibleColumn,u=e.containsRTL,g=e.spaceWidth,p=e.renderSpaceCharCode,m=e.renderWhitespace,f=e.renderControlCharacters,_=new hm(r+1,l.length);let v=!1,b=0,C=h,w=0,y=0,S=0,x=0;u?t.appendASCIIString(''):t.appendASCIIString("");for(let e=0,a=l.length;e=c&&(t+=n)}}for(D&&(t.appendASCIIString(' style="width:'),t.appendASCIIString(String(g*i)),t.appendASCIIString('px"')),t.appendASCII(62);b1?t.write1(8594):t.write1(65515);for(let e=2;e<=i;e++)t.write1(160)}else i=1,t.write1(p);w+=i,b>=c&&(C+=i)}S=i}else{let i=0;for(t.appendASCII(62);b=c&&(C+=r)}S=i}L?y++:y=0,b>=r&&!v&&a.isPseudoAfter()&&(v=!0,_.setColumnInfo(b+1,e,w,x)),t.appendASCIIString("")}return v||_.setColumnInfo(r+1,l.length-1,w,x),a&&t.appendASCIIString(""),t.appendASCIIString(""),new um(_,u,o)}(function(e){const t=e.lineContent;let i,n;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(n[o++]=new am(t,"",0));for(let s=0,r=e.getCount();s=i){n[o++]=new am(i,a,0);break}n[o++]=new am(r,a,0)}return n}(e.lineTokens,e.fauxIndentLength,n);e.renderControlCharacters&&!e.isBasicASCII&&(o=function(e,t){const i=[];let n=new am(0,"",0),o=0;for(const s of t){const t=s.endIndex;for(;on.endIndex&&(n=new am(o,s.type,s.metadata),i.push(n)),n=new am(o+1,"mtkcontrol",s.metadata),i.push(n));o>n.endIndex&&(n=new am(t,s.type,s.metadata),i.push(n))}return i}(t,o)),(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace)&&(o=function(e,t,i,n){const o=e.continuesWithWrappedLine,s=e.fauxIndentLength,r=e.tabSize,a=e.startVisibleColumn,l=e.useMonospaceOptimizations,c=e.selectionsOnLine,d=1===e.renderWhitespace,h=3===e.renderWhitespace,u=e.renderSpaceWidth!==e.spaceWidth,g=[];let p=0,m=0,f=n[m].type,_=n[m].endIndex;const v=n.length;let b,C=!1,w=Jo(t);-1===w?(C=!0,w=i,b=i):b=es(t);let y=!1,S=0,x=c&&c[S],k=a%r;for(let e=s;e=x.endOffset&&(S++,x=c&&c[S]),eb)a=!0;else if(9===o)a=!0;else if(32===o)if(d)if(y)a=!0;else{const n=e+1e),a&&h&&(a=C||e>b),y){if(!a||!l&&k>=r){if(u)for(let t=(p>0?g[p-1].endIndex:s)+1;t<=e;t++)g[p++]=new am(t,"mtkw",1);else g[p++]=new am(e,"mtkw",1);k%=r}}else(e===_||a&&e>s)&&(g[p++]=new am(e,f,0),k%=r);for(9===o?k=r:ks(o)?k+=2:k++,y=a;e===_&&(m++,m0?t.charCodeAt(i-1):0,n=i>1?t.charCodeAt(i-2):0;32===e&&32!==n&&9!==n||(D=!0)}else D=!0;if(D)if(u)for(let e=(p>0?g[p-1].endIndex:s)+1;e<=i;e++)g[p++]=new am(e,"mtkw",1);else g[p++]=new am(i,"mtkw",1);else g[p++]=new am(i,f,0);return g}(e,t,n,o));let s=0;if(e.lineDecorations.length>0){for(let t=0,i=e.lineDecorations.length;t1&&hs(e.charCodeAt(a-2))&&a--,l>1&&hs(e.charCodeAt(l-2))&&l--;const h=a-1,u=l-2;o=n.consumeLowerThan(h,o,i),0===n.count&&(o=h),n.insert(u,c,d)}return n.consumeLowerThan(1073741824,o,i),i}}.normalize(e,n),s=o.length;let r=0;const a=[];let l=0,c=0;for(let e=0,t=i.length;ec&&(c=e.startOffset,a[l++]=new am(c,d,h)),!(e.endOffset+1<=n)){c=n,a[l++]=new am(c,d+" "+e.className,h|e.metadata);break}c=e.endOffset+1,a[l++]=new am(c,d+" "+e.className,h|e.metadata),r++}n>c&&(c=n,a[l++]=new am(c,d,h))}const d=i[i.length-1].endIndex;if(r=50&&(o[s++]=new am(l+1,t,i),c=l+1,l=-1);c!==a&&(o[s++]=new am(a,t,i))}else o[s++]=r;n=a}else for(let e=0,i=t.length;e50){const e=i.type,t=i.metadata,l=Math.ceil(a/50);for(let i=1;i=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e}function vm(e){return e.toString(16).toUpperCase().padStart(4,"0")}const bm=!!ge||!(ue||Ke||Ze);let Cm=!0;class wm{constructor(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1,this.endNode=t}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}}class ym{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(44);this.renderWhitespace=i.get(88),this.renderControlCharacters=i.get(83),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(29),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(59),this.stopRenderingLineAfter=i.get(105),this.fontLigatures=i.get(45)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class Sm{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=rd(e)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return(this._options.themeType===hr.HIGH_CONTRAST||"selection"===this._options.renderWhitespace)&&(this._isMaybeInvalid=!0,!0)}renderLine(e,t,i,n){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const o=i.getViewLineRenderingData(e),s=this._options,r=om.filter(o.inlineDecorations,e,o.minColumn,o.maxColumn);let a=null;if(s.themeType===hr.HIGH_CONTRAST||"selection"===this._options.renderWhitespace){const t=i.selections;for(const i of t){if(i.endLineNumbere)continue;const t=i.startLineNumber===e?i.startColumn:o.minColumn,n=i.endLineNumber===e?i.endColumn:o.maxColumn;t');const c=gm(l,n);n.appendASCIIString("");let d=null;return Cm&&bm&&o.isBasicASCII&&s.useMonospaceOptimizations&&0===c.containsForeignElements&&o.content.length<300&&l.lineTokens.getCount()<100&&(d=new xm(this._renderedViewLine?this._renderedViewLine.domNode:null,l,c.characterMapping)),d||(d=Lm(this._renderedViewLine?this._renderedViewLine.domNode:null,l,c.characterMapping,c.containsRTL,c.containsForeignElements)),this._renderedViewLine=d,!0}layoutLine(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof xm}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof xm?this._renderedViewLine.monospaceAssumptionsAreValid():Cm}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof xm&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const o=this._renderedViewLine.input.stopRenderingLineAfter;let s=!1;-1!==o&&t>o+1&&i>o+1&&(s=!0),-1!==o&&t>o+1&&(t=o+1),-1!==o&&i>o+1&&(i=o+1);const r=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return r&&r.length>0?new im(s,r):null}getColumnOfNodeOffset(e,t,i){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,i):1}}Sm.CLASS_NAME="view-line";class xm{constructor(e,t,i){this.domNode=e,this.input=t,this._characterMapping=i,this._charWidth=t.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return Cm;const e=this.getWidth(),t=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(e-t)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Cm=!1),Cm}toSlowRenderedLine(){return Lm(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){const o=this._getCharPosition(t),s=this._getCharPosition(i);return[new em(o,s-o)]}_getCharPosition(e){const t=this._characterMapping.getAbsoluteOffset(e);return this._charWidth*t}getColumnOfNodeOffset(e,t,i){const n=t.textContent.length;let o=-1;for(;t;)t=t.previousSibling,o++;return this._characterMapping.getColumn(new dm(o,i),n)}}class km{constructor(e,t,i,n,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const o=this._readPixelOffset(this.domNode,e,t,n);if(-1===o)return null;const s=this._readPixelOffset(this.domNode,e,i,n);return-1===s?null:[new em(o,s-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,o){if(i===n){const n=this._readPixelOffset(e,t,i,o);return-1===n?null:[new em(n,0)]}return this._readRawVisibleRangesForRange(e,i,n,o)}_readPixelOffset(e,t,i,n){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth();const t=this._getReadingTarget(e);return t.firstChild?t.firstChild.offsetWidth:0}if(null!==this._pixelOffsetCache){const o=this._pixelOffsetCache[i];if(-1!==o)return o;const s=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=s,s}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(0===this._characterMapping.length){const t=nm.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n.clientRectDeltaLeft,n.clientRectScale,n.endNode);return t&&0!==t.length?t[0].left:-1}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();const o=this._characterMapping.getDomPosition(i),s=nm.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,n.clientRectDeltaLeft,n.clientRectScale,n.endNode);if(!s||0===s.length)return-1;const r=s[0].left;if(this.input.isBasicASCII){const e=this._characterMapping.getAbsoluteOffset(i),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-r)<=1)return t}return r}_readRawVisibleRangesForRange(e,t,i,n){if(1===t&&i===this._characterMapping.length)return[new em(0,this.getWidth())];const o=this._characterMapping.getDomPosition(t),s=this._characterMapping.getDomPosition(i);return nm.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,s.partIndex,s.charIndex,n.clientRectDeltaLeft,n.clientRectScale,n.endNode)}getColumnOfNodeOffset(e,t,i){const n=t.textContent.length;let o=-1;for(;t;)t=t.previousSibling,o++;return this._characterMapping.getColumn(new dm(o,i),n)}}class Dm extends km{_readVisibleRangesForRange(e,t,i,n,o){const s=super._readVisibleRangesForRange(e,t,i,n,o);if(!s||0===s.length||i===n||1===i&&n===this._characterMapping.length)return s;if(!this.input.containsRTL){const i=this._readPixelOffset(e,t,n,o);if(-1!==i){const e=s[s.length-1];e.left=4&&3===e[0]&&7===e[3]}static isStrictChildOfViewLines(e){return e.length>4&&3===e[0]&&7===e[3]}static isChildOfScrollableElement(e){return e.length>=2&&3===e[0]&&5===e[1]}static isChildOfMinimap(e){return e.length>=2&&3===e[0]&&8===e[1]}static isChildOfContentWidgets(e){return e.length>=4&&3===e[0]&&1===e[3]}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&2===e[0]}static isChildOfOverlayWidgets(e){return e.length>=2&&3===e[0]&&4===e[1]}}class Pm{constructor(e,t,i){this.viewModel=e.viewModel;const n=e.configuration.options;this.layoutInfo=n.get(131),this.viewDomNode=t.viewDomNode,this.lineHeight=n.get(59),this.stickyTabStops=n.get(104),this.typicalHalfwidthCharacterWidth=n.get(44).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return Pm.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const n=i.verticalOffset+i.height/2,o=e.viewModel.getLineCount();let s,r=null,a=null;return i.afterLineNumber!==o&&(a=new Do(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(r=new Do(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),s=null===a?r:null===r?a:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Wm._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}{constructor(e,t,i,n,o){super(e,t,i,n),this._ctx=e,o?(this.target=o,this.targetPath=Yp.collect(o,e.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(e=null){return e&&e.columns.contentLeft+s.width)continue;const i=e.getVerticalOffsetForLineNumber(s.position.lineNumber);if(i<=o&&o<=i+s.height)return t.fulfillContentText(s.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const e=t.isInContentArea?8:5;return t.fulfillViewZone(e,i.position,i)}return null}static _hitTestTextArea(e,t){return Rm.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let o=Math.abs(t.relativePos.x);const s={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};return o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth?t.fulfillMargin(2,n,i.range,s):(o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,s):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,n,i.range,s)))}return null}static _hitTestViewLines(e,t,i){if(!Rm.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Do(1,1),Om);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const i=e.viewModel.getLineCount(),n=e.viewModel.getLineMaxColumn(i);return t.fulfillContentEmpty(new Do(i,n),Om)}if(i){if(Rm.isStrictChildOfViewLines(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(0===e.viewModel.getLineLength(i)){const n=e.getLineWidth(i),o=Fm(t.mouseContentHorizontalOffset-n);return t.fulfillContentEmpty(new Do(i,1),o)}const n=e.getLineWidth(i);if(t.mouseContentHorizontalOffset>=n){const o=Fm(t.mouseContentHorizontalOffset-n),s=new Do(i,e.viewModel.getLineMaxColumn(i));return t.fulfillContentEmpty(s,o)}}return t.fulfillUnknown()}const n=Wm._doHitTest(e,t);return 1===n.type?Wm.createMouseTargetFromHitTestPosition(e,t,n.spanNode,n.position,n.injectedText):this._createMouseTarget(e,t.withTarget(n.hitTarget),!0)}static _hitTestMinimap(e,t){if(Rm.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Do(i,n))}return null}static _hitTestScrollbarSlider(e,t){if(Rm.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Do(i,n))}}return null}static _hitTestScrollbar(e,t){if(Rm.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Do(i,n))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(131),n=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return Wm._getMouseColumn(n,t.get(44).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,n,o){const s=n.lineNumber,r=n.column,a=e.getLineWidth(s);if(t.mouseContentHorizontalOffset>a){const e=Fm(t.mouseContentHorizontalOffset-a);return t.fulfillContentEmpty(n,e)}const l=e.visibleRangeForPosition(s,r);if(!l)return t.fulfillUnknown(n);const c=l.left;if(t.mouseContentHorizontalOffset===c)return t.fulfillContentText(n,null,{mightBeForeignElement:!!o,injectedText:o});const d=[];if(d.push({offset:l.left,column:r}),r>1){const t=e.visibleRangeForPosition(s,r-1);t&&d.push({offset:t.left,column:r-1})}if(re.offset-t.offset));const h=t.pos.toClientCoordinates(),u=i.getBoundingClientRect(),g=u.left<=h.clientX&&h.clientX<=u.right;for(let e=1;e=t.editorPos.y+t.editorPos.height&&(o=t.editorPos.y+t.editorPos.height-1);const s=new Ap(t.pos.x,o),r=this._actualDoHitTestWithCaretRangeFromPoint(e,s.toClientCoordinates());return 1===r.type?r:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=Bn(e.viewDomNode);let n;if(n=i?void 0===i.caretRangeFromPoint?function(e,t,i){const n=document.createRange();let o=e.elementFromPoint(t,i);if(null!==o){for(;o&&o.firstChild&&o.firstChild.nodeType!==o.firstChild.TEXT_NODE&&o.lastChild&&o.lastChild.firstChild;)o=o.lastChild;const e=o.getBoundingClientRect(),i=window.getComputedStyle(o,null).getPropertyValue("font"),s=o.innerText;let r,a=e.left,l=0;if(t>e.left+e.width)l=s.length;else{const e=Bm.getInstance();for(let n=0;nthis._createMouseTarget(e,t)),(e=>this._getMouseColumn(e)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(131).height;const n=new zp(this.viewHelper.viewDomNode);this._register(n.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,!0)))),this._register(n.onMouseMoveThrottled(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)),Vm(this.mouseTargetFactory),Hm.MOUSE_MOVE_MINIMUM_TIME)),this._register(n.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(n.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e)))),this._register(cn(this.viewHelper.viewDomNode,$n.MOUSE_WHEEL,(e=>{if(this.viewController.emitMouseWheel(e),!this._context.configuration.options.get(68))return;const t=new zt(e);if(he?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey){const e=Ud.getZoomLevel(),i=t.deltaY>0?1:-1;Ud.setZoomLevel(e+i),t.preventDefault(),t.stopPropagation()}}),{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(131)){const e=this._context.configuration.options.get(131).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}onScrollChanged(e){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(e,t){const i=new Op(e,t).toPageCoordinates(),n=Bp(this.viewHelper.viewDomNode);if(i.yn.y+n.height||i.xn.x+n.width)return null;const o=Vp(this.viewHelper.viewDomNode,n,i);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),n,i,o,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const t=Bn(this.viewHelper.viewDomNode);t&&(i=t.elementsFromPoint(e.posx,e.posy).find((e=>this.viewHelper.viewDomNode.contains(e))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(l&&(i||o&&s))c(),this._mouseDownOperation.start(t.type,e);else if(n)e.preventDefault();else if(r){const i=t.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(i.viewZoneId)&&(c(),this._mouseDownOperation.start(t.type,e),e.preventDefault())}else a&&this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail)&&(c(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:t})}}Hm.MOUSE_MOVE_MINIMUM_TIME=100;class zm extends B{constructor(e,t,i,n,o){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._createMouseTarget=n,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new qp(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new oi),this._mouseState=new jm,this._currentSelection=new na(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!0);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))}start(e,t){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(3===e),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!0);if(!i||!i.position)return;this._mouseState.trySetCount(t.detail,i.position),t.detail=this._mouseState.count;const n=this._context.configuration.options;if(!n.get(81)&&n.get(31)&&!n.get(18)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===i.type&&i.position&&this._currentSelection.containsPosition(i.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(t.target,t.buttons,Vm(null),(e=>this._onMouseDownThenMove(e)),(e=>{const t=this._findMousePosition(this._lastMouseEvent,!0);e&&e instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(i,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(t.target,t.buttons,Vm(null),(e=>this._onMouseDownThenMove(e)),(()=>this._stop())))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){this._isActive&&this._onScrollTimeout.setIfNotSet((()=>{if(!this._lastMouseEvent)return;const e=this._findMousePosition(this._lastMouseEvent,!1);e&&(this._mouseState.isDragAndDrop||this._dispatchMouse(e,!0))}),10)}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,n=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posyt.y+t.height){const t=n.getCurrentScrollTop()+e.relativePos.y,s=Pm.getZoneAtCoord(this._context,t);if(s){const e=this._helpPositionJumpOverViewZone(s);if(e)return Mm.createOutsideEditor(o,e)}const r=n.getLineNumberAtVerticalOffset(t);return Mm.createOutsideEditor(o,new Do(r,i.getLineMaxColumn(r)))}const s=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+e.relativePos.y);return e.posxt.x+t.width?Mm.createOutsideEditor(o,new Do(s,i.getLineMaxColumn(s))):null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const n=this._createMouseTarget(e,t);if(!n.position)return null;if(8===n.type||5===n.type){const e=this._helpPositionJumpOverViewZone(n.detail);if(e)return Mm.createViewZone(n.type,n.element,n.mouseColumn,e,n.detail)}return n}_helpPositionJumpOverViewZone(e){const t=new Do(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,n=e.positionAfter;return i&&n?i.isBefore(t)?i:n:null}_dispatchMouse(e,t){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===e.type&&null!==e.detail.injectedText})}}class jm{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=(new Date).getTime();i-this._lastSetMouseDownCountTime>jm.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}var qm,Km;jm.CLEAR_MOUSE_DOWN_COUNT_TIME=400,function(e){e.text="text/plain",e.binary="application/octet-stream",e.unknown="application/unknown",e.markdown="text/markdown",e.latex="text/latex",e.uriList="text/uri-list"}(qm||(qm={}));class Um{constructor(e,t,i,n,o){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selectionStartPosition=n,this.selectionEndPosition=o}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(e){return new Um(e.getValue(),e.getSelectionStart(),e.getSelectionEnd(),null,null)}collapseSelection(){return new Um(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){const t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){const t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}const t=this.value.substring(this.selectionStart,e);if(-1===t.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,i,-1)}_finishDeduceEditorPosition(e,t,i){let n=0,o=-1;for(;-1!==(o=t.indexOf("\n",o+1));)n++;return[e,i*t.length,n]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const n=Math.min(cs(e.value,t.value),e.selectionStart,t.selectionStart),o=Math.min(ds(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd),s=(e.value.substring(n,e.value.length-o),t.value.substring(n,t.value.length-o)),r=e.selectionStart-n,a=e.selectionEnd-n;if(t.selectionStart-n===t.selectionEnd-n){return{text:s,replacePrevCharCnt:e.selectionStart-n,replaceNextCharCnt:0,positionDelta:0}}return{text:s,replacePrevCharCnt:a-r,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(cs(e.value,t.value),e.selectionEnd),n=Math.min(ds(e.value,t.value),e.value.length-e.selectionEnd),o=e.value.substring(i,e.value.length-n),s=t.value.substring(i,t.value.length-n),r=(e.selectionStart,e.selectionEnd-i),a=(t.selectionStart,t.selectionEnd-i);return{text:s,replacePrevCharCnt:r,replaceNextCharCnt:o.length-r,positionDelta:a-s.length}}}Um.EMPTY=new Um("",0,0,null,null);class $m{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t;return new ia(i+1,1,i+t+1,1)}static fromEditorSelection(e,t,i,n,o){const s=$m._getPageOfLine(i.startLineNumber,n),r=$m._getRangeForPage(s,n),a=$m._getPageOfLine(i.endLineNumber,n),l=$m._getRangeForPage(a,n),c=r.intersectRanges(new ia(1,1,i.startLineNumber,i.startColumn));let d=t.getValueInRange(c,1);const h=t.getLineCount(),u=t.getLineMaxColumn(h),g=l.intersectRanges(new ia(i.endLineNumber,i.endColumn,h,u));let p,m=t.getValueInRange(g,1);if(s===a||s+1===a)p=t.getValueInRange(i,1);else{const e=r.intersectRanges(i),n=l.intersectRanges(i);p=t.getValueInRange(e,1)+String.fromCharCode(8230)+t.getValueInRange(n,1)}if(o){const e=500;d.length>e&&(d=d.substring(d.length-e,d.length)),m.length>e&&(m=m.substring(0,e)),p.length>2*e&&(p=p.substring(0,e)+String.fromCharCode(8230)+p.substring(p.length-e,p.length))}return new Um(d+p+m,d.length,d.length+p.length,new Do(i.startLineNumber,i.startColumn),new Do(i.endLineNumber,i.endColumn))}}!function(e){e.Tap="-monaco-textarea-synthetic-tap"}(Km||(Km={}));const Zm={forceCopyWithSyntaxHighlighting:!1};class Gm{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}Gm.INSTANCE=new Gm;class Ym{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){const t={text:e=e||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}class Xm extends B{constructor(e,t,i,n){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=n,this._onFocus=this._register(new Pe),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Pe),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Pe),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Pe),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Pe),this.onCut=this._onCut.event,this._onPaste=this._register(new Pe),this.onPaste=this._onPaste.event,this._onType=this._register(new Pe),this.onType=this._onType.event,this._onCompositionStart=this._register(new Pe),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Pe),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Pe),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Pe),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncTriggerCut=this._register(new ri((()=>this._onCut.fire()),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new ri((()=>this.writeScreenReaderContent("asyncFocusGain")),0)),this._textAreaState=Um.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent("ctor"),this._hasFocus=!1,this._currentComposition=null;let o=null;this._register(this._textArea.onKeyDown((e=>{const t=new Ot(e);(109===t.keyCode||this._currentComposition&&1===t.keyCode)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),o=t,this._onKeyDown.fire(t)}))),this._register(this._textArea.onKeyUp((e=>{const t=new Ot(e);this._onKeyUp.fire(t)}))),this._register(this._textArea.onCompositionStart((e=>{const t=new Ym;if(this._currentComposition)this._currentComposition=t;else{if(this._currentComposition=t,2===this._OS&&o&&o.equals(109)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&("ArrowRight"===o.code||"ArrowLeft"===o.code))return t.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:e.data});this._browser.isAndroid,this._onCompositionStart.fire({data:e.data})}}))),this._register(this._textArea.onCompositionUpdate((e=>{const t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){const t=Um.readFromTextArea(this._textArea),i=Um.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionUpdate.fire(e)}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Um.readFromTextArea(this._textArea),this._onType.fire(i),this._onCompositionUpdate.fire(e)}))),this._register(this._textArea.onCompositionEnd((e=>{const t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){const e=Um.readFromTextArea(this._textArea),t=Um.deduceAndroidCompositionInput(this._textAreaState,e);return this._textAreaState=e,this._onType.fire(t),void this._onCompositionEnd.fire()}const i=t.handleCompositionUpdate(e.data);this._textAreaState=Um.readFromTextArea(this._textArea),this._onType.fire(i),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=Um.readFromTextArea(this._textArea),i=Um.deduceInput(this._textAreaState,t,2===this._OS);0===i.replacePrevCharCnt&&1===i.text.length&&hs(i.text.charCodeAt(0))||(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)}))),this._register(this._textArea.onPaste((e=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),e.preventDefault(),!e.clipboardData)return;let[t,i]=Jm.getTextData(e.clipboardData);t&&(i=i||Gm.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:i}))}))),this._register(this._textArea.onFocus((()=>{const e=this._hasFocus;this._setHasFocus(!0),this._browser.isSafari&&!e&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let e=0;return cn(document,"selectionchange",(t=>{if(!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),n=i-e;if(e=i,n<5)return;const o=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),o<100)return;if(!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;const s=this._textArea.getValue();if(this._textAreaState.value!==s)return;const r=this._textArea.getSelectionStart(),a=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===r&&this._textAreaState.selectionEnd===a)return;const l=this._textAreaState.deduceEditorPosition(r),c=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(a),h=this._host.deduceModelPosition(d[0],d[1],d[2]),u=new na(c.lineNumber,c.column,h.lineNumber,h.column);this._onSelectionChangeRequest.fire(u)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeScreenReaderContent(e){this._currentComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Gm.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&Jm.setTextData(e.clipboardData,t.text,t.html,i)}}class Jm{static getTextData(e){const t=e.getData(qm.text);let i=null;const n=e.getData("vscode-editor-data");if("string"==typeof n)try{i=JSON.parse(n),1!==i.version&&(i=null)}catch(e){}return[t,i]}static setTextData(e,t,i,n){e.setData(qm.text,t),"string"==typeof i&&e.setData("text/html",i),e.setData("vscode-editor-data",JSON.stringify(n))}}class Qm extends B{constructor(e){super(),this._actual=e,this.onKeyDown=this._register(mn(this._actual,"keydown")).event,this.onKeyUp=this._register(mn(this._actual,"keyup")).event,this.onCompositionStart=this._register(mn(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(mn(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(mn(this._actual,"compositionend")).event,this.onInput=this._register(mn(this._actual,"input")).event,this.onCut=this._register(mn(this._actual,"cut")).event,this.onCopy=this._register(mn(this._actual,"copy")).event,this.onPaste=this._register(mn(this._actual,"paste")).event,this.onFocus=this._register(mn(this._actual,"focus")).event,this.onBlur=this._register(mn(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Pe),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(cn(this._actual,Km.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const e=Bn(this._actual);return e?e.activeElement===this._actual:!!an(this._actual)&&document.activeElement===this._actual}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const n=this._actual;let o=null;const s=Bn(n);o=s?s.activeElement:document.activeElement;const r=o===n,a=n.selectionStart,l=n.selectionEnd;if(r&&a===t&&l===i)Ke&&window.parent!==window&&n.focus();else{if(r)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,i),void(Ke&&window.parent!==window&&n.focus());try{const e=function(e){let t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t}(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,i),function(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode}(n,e)}catch(e){}}}}class ef extends Hm{constructor(e,t,i){super(e,t,i),this._register(hh.addTarget(this.viewHelper.linesContentDomNode)),this._register(cn(this.viewHelper.linesContentDomNode,dh.Tap,(e=>this.onTap(e)))),this._register(cn(this.viewHelper.linesContentDomNode,dh.Change,(e=>this.onChange(e)))),this._register(cn(this.viewHelper.linesContentDomNode,dh.Contextmenu,(e=>this._onContextMenu(new Hp(e,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(cn(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const t=e.pointerType;this._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));const n=new jp(this.viewHelper.viewDomNode);this._register(n.onPointerMoveThrottled(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e)),Vm(this.mouseTargetFactory),Hm.MOUSE_MOVE_MINIMUM_TIME)),this._register(n.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e)))),this._register(n.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e)))),this._register(n.onPointerDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e))))}onTap(e){if(!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget))return;e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new Hp(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.dispatchMouse({position:t.position,mouseColumn:t.position.column,startedOnLineNumbers:!1,mouseDownCount:e.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===t.type&&null!==t.detail.injectedText})}onChange(e){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}_onMouseDown(e){"touch"!==e.browserEvent.pointerType&&super._onMouseDown(e)}}class tf extends Hm{constructor(e,t,i){super(e,t,i),this._register(hh.addTarget(this.viewHelper.linesContentDomNode)),this._register(cn(this.viewHelper.linesContentDomNode,dh.Tap,(e=>this.onTap(e)))),this._register(cn(this.viewHelper.linesContentDomNode,dh.Change,(e=>this.onChange(e)))),this._register(cn(this.viewHelper.linesContentDomNode,dh.Contextmenu,(e=>this._onContextMenu(new Hp(e,this.viewHelper.viewDomNode),!1))))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new Hp(e,this.viewHelper.viewDomNode),!1);if(t.position){const e=document.createEvent("CustomEvent");e.initEvent(Km.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(e),this.viewController.moveTo(t.position)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class nf extends B{constructor(e,t,i){super(),fe&&mt?this.handler=this._register(new ef(e,t,i)):window.TouchEvent?this.handler=this._register(new tf(e,t,i)):this.handler=this._register(new Hm(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}var of=i(7953),sf={};sf.styleTagTransform=p(),sf.setAttributes=d(),sf.insert=l().bind(null,"head"),sf.domAPI=r(),sf.insertStyleElement=u(),o()(of.Z,sf),of.Z&&of.Z.locals&&of.Z.locals;var rf=i(1107),af={};af.styleTagTransform=p(),af.setAttributes=d(),af.insert=l().bind(null,"head"),af.domAPI=r(),af.insertStyleElement=u(),o()(rf.Z,af),rf.Z&&rf.Z.locals&&rf.Z.locals;class lf extends Zp{}const cf=xh("editor.lineHighlightBackground",{dark:null,light:null,hc:null},b(0,"Background color for the highlight of line at the cursor position.")),df=xh("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},b(0,"Background color for the border around the line at the cursor position.")),hf=xh("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},b(0,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),uf=xh("editor.rangeHighlightBorder",{dark:null,light:null,hc:Ih},b(0,"Background color of the border around highlighted ranges."),!0),gf=xh("editor.symbolHighlightBackground",{dark:zu,light:zu,hc:null},b(0,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),pf=xh("editor.symbolHighlightBorder",{dark:null,light:null,hc:Ih},b(0,"Background color of the border around highlighted symbols."),!0),mf=xh("editorCursor.foreground",{dark:"#AEAFAD",light:vh.black,hc:vh.white},b(0,"Color of the editor cursor.")),ff=xh("editorCursor.background",null,b(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),_f=xh("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},b(0,"Color of whitespace characters in the editor.")),vf=xh("editorIndentGuide.background",{dark:_f,light:_f,hc:_f},b(0,"Color of the editor indentation guides.")),bf=xh("editorIndentGuide.activeBackground",{dark:_f,light:_f,hc:_f},b(0,"Color of the active editor indentation guides.")),Cf=xh("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:vh.white},b(0,"Color of editor line numbers.")),wf=xh("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:Ih},b(0,"Color of editor active line number"),!1,b(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),yf=xh("editorLineNumber.activeForeground",{dark:wf,light:wf,hc:wf},b(0,"Color of editor active line number")),Sf=xh("editorRuler.foreground",{dark:"#5A5A5A",light:vh.lightgrey,hc:vh.white},b(0,"Color of the editor rulers.")),xf=(xh("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hc:"#999999"},b(0,"Foreground color of editor CodeLens")),xh("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},b(0,"Background color behind matching brackets"))),kf=xh("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:Nh},b(0,"Color for matching brackets boxes")),Df=xh("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},b(0,"Color of the overview ruler border.")),Lf=xh("editorOverviewRuler.background",null,b(0,"Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.")),Ef=xh("editorGutter.background",{dark:wu,light:wu,hc:wu},b(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),Nf=xh("editorUnnecessaryCode.border",{dark:null,light:null,hc:vh.fromHex("#fff").transparent(.8)},b(0,"Border color of unnecessary (unused) source code in the editor.")),If=xh("editorUnnecessaryCode.opacity",{dark:vh.fromHex("#000a"),light:vh.fromHex("#0007"),hc:null},b(0,"Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.")),Tf=xh("editorGhostText.border",{dark:null,light:null,hc:vh.fromHex("#fff").transparent(.8)},b(0,"Border color of ghost text in the editor.")),Mf=xh("editorGhostText.foreground",{dark:vh.fromHex("#ffffff56"),light:vh.fromHex("#0007"),hc:null},b(0,"Foreground color of the ghost text in the editor.")),Rf=xh("editorGhostText.background",{dark:null,light:null,hc:null},b(0,"Background color of the ghost text in the editor.")),Pf=new vh(new mh(0,122,204,.6)),Af=xh("editorOverviewRuler.rangeHighlightForeground",{dark:Pf,light:Pf,hc:Pf},b(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Of=xh("editorOverviewRuler.errorForeground",{dark:new vh(new mh(255,18,18,.7)),light:new vh(new mh(255,18,18,.7)),hc:new vh(new mh(255,50,50,1))},b(0,"Overview ruler marker color for errors.")),Ff=xh("editorOverviewRuler.warningForeground",{dark:pu,light:pu,hc:mu},b(0,"Overview ruler marker color for warnings.")),Wf=xh("editorOverviewRuler.infoForeground",{dark:_u,light:_u,hc:vu},b(0,"Overview ruler marker color for infos.")),Bf=xh("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hc:"#FFD700"},b(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Vf=xh("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hc:"#DA70D6"},b(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Hf=xh("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hc:"#87CEFA"},b(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),zf=xh("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),jf=xh("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),qf=xh("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),Kf=xh("editorBracketHighlight.unexpectedBracket.foreground",{dark:new vh(new mh(255,18,18,.8)),light:new vh(new mh(255,18,18,.8)),hc:new vh(new mh(255,50,50,1))},b(0,"Foreground color of unexpected brackets.")),Uf=xh("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),$f=xh("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Zf=xh("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Gf=xh("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Yf=xh("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Xf=xh("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Jf=xh("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Qf=xh("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),e_=xh("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),t_=xh("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),i_=xh("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),n_=xh("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hc:"#00000000"},b(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));xh("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hc:"#ff0000"},b(0,"Border color used to highlight unicode characters.")),br(((e,t)=>{const i=e.getColor(wu);i&&t.addRule(`.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${i}; }`);const n=e.getColor(yu);n&&t.addRule(`.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${n}; }`);const o=e.getColor(Ef);o&&t.addRule(`.monaco-editor .margin { background-color: ${o}; }`);const s=e.getColor(hf);s&&t.addRule(`.monaco-editor .rangeHighlight { background-color: ${s}; }`);const r=e.getColor(uf);r&&t.addRule(`.monaco-editor .rangeHighlight { border: 1px ${"hc"===e.type?"dotted":"solid"} ${r}; }`);const a=e.getColor(gf);a&&t.addRule(`.monaco-editor .symbolHighlight { background-color: ${a}; }`);const l=e.getColor(pf);l&&t.addRule(`.monaco-editor .symbolHighlight { border: 1px ${"hc"===e.type?"dotted":"solid"} ${l}; }`);const c=e.getColor(_f);c&&(t.addRule(`.monaco-editor .mtkw { color: ${c} !important; }`),t.addRule(`.monaco-editor .mtkz { color: ${c} !important; }`))}));class o_ extends lf{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Do(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(59);const t=e.get(60);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(84);const i=e.get(131);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Do(e,1));if(1!==t.column)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(2===this._renderLineNumbers){const e=Math.abs(this._lastCursorModelPosition.lineNumber-i);return 0===e?''+i+"":String(e)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===i||i%10==0?String(i):"":String(i)}prepareRender(e){if(0===this._renderLineNumbers)return void(this._renderResult=null);const t=ue?this._lineHeight%2==0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,o='

    ',s=this._context.viewModel.getLineCount(),r=[];for(let e=i;e<=n;e++){const n=e-i;if(!this._renderFinalNewline&&e===s&&0===this._context.viewModel.getLineLength(e)){r[n]="";continue}const a=this._getLineRenderLineNumber(e);a?e===this._activeLineNumber?r[n]='
    '+a+"
    ":r[n]=o+a+"
    ":r[n]=""}this._renderResult=r}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}o_.CLASS_NAME="line-numbers",br(((e,t)=>{const i=e.getColor(Cf);i&&t.addRule(`.monaco-editor .line-numbers { color: ${i}; }`);const n=e.getColor(yf);n&&t.addRule(`.monaco-editor .line-numbers.active-line-number { color: ${n}; }`)}));class s_ extends Gp{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(131);this._canUseLayerHinting=!t.get(28),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=rd(document.createElement("div")),this._domNode.setClassName(s_.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=rd(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(s_.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(131);return this._canUseLayerHinting=!t.get(28),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}s_.CLASS_NAME="glyph-margin",s_.OUTER_CLASS_NAME="margin";var r_=i(8809),a_={};a_.styleTagTransform=p(),a_.setAttributes=d(),a_.insert=l().bind(null,"head"),a_.domAPI=r(),a_.insertStyleElement=u(),o()(r_.Z,a_),r_.Z&&r_.Z.locals&&r_.Z.locals;var l_,c_,d_,h_,u_,g_,p_,m_=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class f_ extends B{constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}resolve(){return m_(this,void 0,void 0,(function*(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}))}_create(){return m_(this,void 0,void 0,(function*(){const e=yield Promise.resolve(this._factory.createTokenizationSupport());this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}))}}class __{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static getFontStyle(e){return(15360&e)>>>10}static getForeground(e){return(8372224&e)>>>14}static getBackground(e){return(4286578688&e)>>>23}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const i=this.getFontStyle(e);return 1&i&&(t+=" mtki"),2&i&&(t+=" mtkb"),4&i&&(t+=" mtku"),8&i&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let o=`color: ${t[i]};`;1&n&&(o+="font-style: italic;"),2&n&&(o+="font-weight: bold;");let s="";return 4&n&&(s+=" underline"),8&n&&(s+=" line-through"),s&&(o+=`text-decoration:${s};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&i),bold:Boolean(2&i),underline:Boolean(4&i),strikethrough:Boolean(8&i)}}}class v_{constructor(e,t,i){this._tokenBrand=void 0,this.offset=e,this.type=t,this.language=i}toString(){return"("+this.offset+", "+this.type+")"}}class b_{constructor(e,t){this._tokenizationResultBrand=void 0,this.tokens=e,this.endState=t}}class C_{constructor(e,t){this._encodedTokenizationResultBrand=void 0,this.tokens=e,this.endState=t}}!function(e){const t=new Map;t.set(0,Oo.symbolMethod),t.set(1,Oo.symbolFunction),t.set(2,Oo.symbolConstructor),t.set(3,Oo.symbolField),t.set(4,Oo.symbolVariable),t.set(5,Oo.symbolClass),t.set(6,Oo.symbolStruct),t.set(7,Oo.symbolInterface),t.set(8,Oo.symbolModule),t.set(9,Oo.symbolProperty),t.set(10,Oo.symbolEvent),t.set(11,Oo.symbolOperator),t.set(12,Oo.symbolUnit),t.set(13,Oo.symbolValue),t.set(15,Oo.symbolEnum),t.set(14,Oo.symbolConstant),t.set(15,Oo.symbolEnum),t.set(16,Oo.symbolEnumMember),t.set(17,Oo.symbolKeyword),t.set(27,Oo.symbolSnippet),t.set(18,Oo.symbolText),t.set(19,Oo.symbolColor),t.set(20,Oo.symbolFile),t.set(21,Oo.symbolReference),t.set(22,Oo.symbolCustomColor),t.set(23,Oo.symbolFolder),t.set(24,Oo.symbolTypeParameter),t.set(25,Oo.account),t.set(26,Oo.issues),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for CompletionItemKind "+e),i=Oo.symbolProperty),i};const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26),e.fromString=function(e,t){let n=i.get(e);return void 0!==n||t||(n=9),n}}(l_||(l_={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(c_||(c_={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(d_||(d_={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(h_||(h_={})),function(e){const t=new Map;t.set(0,Oo.symbolFile),t.set(1,Oo.symbolModule),t.set(2,Oo.symbolNamespace),t.set(3,Oo.symbolPackage),t.set(4,Oo.symbolClass),t.set(5,Oo.symbolMethod),t.set(6,Oo.symbolProperty),t.set(7,Oo.symbolField),t.set(8,Oo.symbolConstructor),t.set(9,Oo.symbolEnum),t.set(10,Oo.symbolInterface),t.set(11,Oo.symbolFunction),t.set(12,Oo.symbolVariable),t.set(13,Oo.symbolConstant),t.set(14,Oo.symbolString),t.set(15,Oo.symbolNumber),t.set(16,Oo.symbolBoolean),t.set(17,Oo.symbolArray),t.set(18,Oo.symbolObject),t.set(19,Oo.symbolKey),t.set(20,Oo.symbolNull),t.set(21,Oo.symbolEnumMember),t.set(22,Oo.symbolStruct),t.set(23,Oo.symbolEvent),t.set(24,Oo.symbolOperator),t.set(25,Oo.symbolTypeParameter),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for SymbolKind "+e),i=Oo.symbolProperty),i}}(u_||(u_={}));class w_{constructor(e){this.value=e}}w_.Comment=new w_("comment"),w_.Imports=new w_("imports"),w_.Region=new w_("region"),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&"string"==typeof e.id&&"string"==typeof e.title}}(g_||(g_={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(p_||(p_={}));const y_=new class{constructor(){this._map=new Map,this._factories=new Map,this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this._colorMap=null}fire(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._map.set(e,t),this.fire([e]),F((()=>{this._map.get(e)===t&&(this._map.delete(e),this.fire([e]))}))}registerFactory(e,t){var i;null===(i=this._factories.get(e))||void 0===i||i.dispose();const n=new f_(this,e,t);return this._factories.set(e,n),F((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}getOrCreate(e){return m_(this,void 0,void 0,(function*(){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(yield i.resolve(),this.get(e))}))}get(e){return this._map.get(e)||null}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._map.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class S_{constructor(e,t,i,n,o){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=n,this.distanceToModelLineEnd=o,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Do(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Do(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(this._previousPresentation=e||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const x_=Ke;class k_ extends Gp{constructor(t,i,n){super(t),this._primaryCursorPosition=new Do(1,1),this._primaryCursorVisibleRange=null,this._viewController=i,this._visibleRangeProvider=n,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,s=o.get(131);this._setAccessibilityOptions(o),this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._contentHeight=s.height,this._fontInfo=o.get(44),this._lineHeight=o.get(59),this._emptySelectionClipboard=o.get(32),this._copyWithSyntaxHighlighting=o.get(21),this._visibleTextArea=null,this._selections=[new na(1,1,1,1)],this._modelSelections=[new na(1,1,1,1)],this._lastRenderPosition=null,this.textArea=rd(document.createElement("textarea")),Yp.write(this.textArea,6),this.textArea.setClassName("inputarea monaco-mouse-cursor-text"),this.textArea.setAttribute("wrap","off"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(o)),this.textArea.setAttribute("tabindex",String(o.get(112))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",b(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),o.get(30)&&o.get(81)&&this.textArea.setAttribute("readonly","true"),this.textAreaCover=rd(document.createElement("div")),this.textAreaCover.setPosition("absolute");const r={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:e=>this._context.viewModel.getLineMaxColumn(e),getValueInRange:(e,t)=>this._context.viewModel.getValueInRange(e,t)},a={getDataToCopy:()=>{const e=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,de),t=this._context.viewModel.model.getEOL(),i=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),n=Array.isArray(e)?e:null,o=Array.isArray(e)?e.join(t):e;let s,r=null;if(Zm.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&o.length<65536){const e=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);e&&(s=e.html,r=e.mode)}return{isFromEmptySelection:i,multicursorText:n,text:o,html:s,mode:r}},getScreenReaderContent:e=>{if(1===this._accessibilitySupport){if(he){const e=this._selections[0];if(e.isEmpty()){const t=e.getStartPosition();let i=this._getWordBeforePosition(t);if(0===i.length&&(i=this._getCharacterBeforePosition(t)),i.length>0)return new Um(i,i.length,i.length,t,t)}}return Um.EMPTY}if(Xe){const e=this._selections[0];if(e.isEmpty()){const t=e.getStartPosition(),[i,n]=this._getAndroidWordAtPosition(t);if(i.length>0)return new Um(i,n,n,t,t)}return Um.EMPTY}return $m.fromEditorSelection(e,r,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(e,t,i)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(e,t,i)},l=this._register(new Qm(this.textArea.domNode));this._textAreaInput=this._register(new Xm(a,l,Ce,e)),this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)}))),this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)}))),this._register(this._textAreaInput.onPaste((e=>{let t=!1,i=null,n=null;e.metadata&&(t=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,i=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null,n=e.metadata.mode),this._viewController.paste(e.text,t,i,n)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((e=>{e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta?this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta):this._viewController.type(e.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((e=>{this._viewController.setSelection(e)}))),this._register(this._textAreaInput.onCompositionStart((e=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:n,widthOfHiddenTextBefore:o}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),n=e.lastIndexOf("\n"),o=e.substring(n+1),s=o.lastIndexOf("\t"),r=o.length-s-1,a=i.getStartPosition(),l=Math.min(a.column-1,r);return{distanceToModelLineStart:a.column-1-l,widthOfHiddenTextBefore:function(e,t){if(0===e.length)return 0;const i=document.createElement("div");i.style.position="absolute",i.style.top="-50000px",i.style.width="50000px";const n=document.createElement("span");jd(n,t),n.style.whiteSpace="pre",n.append(e),i.appendChild(n),document.body.appendChild(i);const o=n.offsetWidth;return document.body.removeChild(i),o}(o.substring(0,o.length-l),this._fontInfo)}})(),{distanceToModelLineEnd:s}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),n=e.indexOf("\n"),o=-1===n?e:e.substring(0,n),s=o.indexOf("\t"),r=-1===s?o.length:o.length-s-1,a=i.getEndPosition(),l=Math.min(this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(a.lineNumber)-a.column-l}})();this._context.viewModel.revealRange("keyboard",!0,ia.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new S_(this._context,i.startLineNumber,n,o,s),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName("inputarea monaco-mouse-cursor-text ime-input"),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((e=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this._render(),this.textArea.setClassName("inputarea monaco-mouse-cursor-text"),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)})))}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=Pa('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?');let n=!0,o=e.column,s=!0,r=e.column,a=0;for(;a<50&&(n||s);){if(n&&o<=1&&(n=!1),n){const e=t.charCodeAt(o-2);0!==i.get(e)?n=!1:o--}if(s&&r>t.length&&(s=!1),s){const e=t.charCodeAt(r-1);0!==i.get(e)?s=!1:r++}a++}return[t.substring(o-1,r-1),e.column-o]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=Pa(this._context.configuration.options.get(117));let n=e.column,o=0;for(;n>1;){const s=t.charCodeAt(n-2);if(0!==i.get(s)||o>50)return t.substring(n-1,e.column-1);o++,n--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const t=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!hs(t.charCodeAt(0)))return t}return""}_getAriaLabel(e){return 1===e.get(2)?b(0,"The editor is not accessible at this time. Press {0} for options.",ue?"Shift+Alt+F1":"Alt+F1"):e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);2===this._accessibilitySupport&&t===zd.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(131);return this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(44),this._lineHeight=t.get(59),this._emptySelectionClipboard=t.get(32),this._copyWithSyntaxHighlighting=t.get(21),this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("tabindex",String(t.get(112))),(e.hasChanged(30)||e.hasChanged(81))&&(t.get(30)&&t.get(81)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),e.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}prepareRender(e){this._primaryCursorPosition=new Do(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea&&this._visibleTextArea.prepareRender(e)}render(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()}_render(){if(this._visibleTextArea){const e=this._visibleTextArea.visibleTextareaStart,t=this._visibleTextArea.visibleTextareaEnd,i=this._visibleTextArea.startPosition,n=this._visibleTextArea.endPosition;if(i&&n&&e&&t&&t.left>=this._scrollLeft&&e.left<=this._scrollLeft+this._contentWidth){const o=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,s=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,a=this._contentLeft+e.left-this._scrollLeft,l=t.left-e.left+1;if(athis._contentWidth&&(l=this._contentWidth);const c=this._context.viewModel.getViewLineData(i.lineNumber),d=c.tokens.findTokenIndexAtOffset(i.column-1),h=d===c.tokens.findTokenIndexAtOffset(n.column-1),u=this._visibleTextArea.definePresentation(h?c.tokens.getPresentation(d):null);this.textArea.domNode.scrollTop=s*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:o,left:a,width:l,height:this._lineHeight,useCover:!1,color:(y_.getColorMap()||[])[u.foreground],italic:u.italic,bold:u.bold,underline:u.underline,strikethrough:u.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight)this._renderAtTopLeft();else if(he){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:e,width:x_?0:1,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const i=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=i*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:e,width:x_?0:1,height:x_?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;for(;i=e.indexOf("\n",i+1),-1!==i;)t++;return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:x_?0:1,height:x_?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;jd(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?vh.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration(`${e.underline?" underline":""}${e.strikethrough?" line-through":""}`),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const n=this._context.configuration.options;n.get(50)?i.setClassName("monaco-editor-background textAreaCover "+s_.OUTER_CLASS_NAME):0!==n.get(60).renderType?i.setClassName("monaco-editor-background textAreaCover "+o_.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}}class D_{constructor(e,t,i,n){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=n}paste(e,t,i,n){this.commandDelegate.paste(e,t,i,n)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,n){this.commandDelegate.compositionType(e,t,i,n)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){Oc.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position):this._lastCursorLineSelect(e.position):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):2===e.mouseDownCount?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position):e.inSelectionMode?this._wordSelectDrag(e.position):this._wordSelect(e.position)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey||n?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position):this.moveTo(e.position)}_usualArgs(e){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e}}moveTo(e){Oc.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_moveToSelect(e){Oc.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_columnSelect(e,t,i){e=this._validateViewColumn(e),Oc.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),Oc.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e){Oc.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelect(e){Oc.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_wordSelectDrag(e){Oc.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorWordSelect(e){Oc.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelect(e){Oc.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lineSelectDrag(e){Oc.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelect(e){Oc.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_lastCursorLineSelectDrag(e){Oc.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e))}_selectAll(){Oc.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class L_{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){this.onKeyDown&&this.onKeyDown(e)}emitKeyUp(e){this.onKeyUp&&this.onKeyUp(e)}emitContextMenu(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))}emitMouseMove(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))}emitMouseDown(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))}emitMouseUp(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){this.onMouseDropCanceled&&this.onMouseDropCanceled()}emitMouseWheel(e){this.onMouseWheel&&this.onMouseWheel(e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return L_.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i=Object.assign({},e);return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),i}}var E_;class N_{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(0===this.getCount())return null;const i=this.getStartLineNumber(),n=this.getEndLineNumber();if(tn)return null;let o=0,s=0;for(let r=i;r<=n;r++){const i=r-this._rendLineNumberStart;e<=r&&r<=t&&(0===s?(o=i,s=1):s++)}if(e=i&&s<=n&&(this._lines[s-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(e,t){if(0===this.getCount())return null;const i=t-e+1,n=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=i,null;if(e>o)return null;if(i+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);const s=[];for(let e=0;ei)continue;const r=Math.max(t,s.fromLineNumber),a=Math.min(i,s.toLineNumber);for(let e=r;e<=a;e++){const t=e-this._rendLineNumberStart;this._lines[t].onTokensChanged(),n=!0}}return n}}class I_{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new N_((()=>this._host.createVisibleLine()))}_createDomNode(){const e=rd(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(131)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let e=0,i=t.length;et){const e=t,s=Math.min(i,o.rendLineNumberStart-1);e<=s&&(this._insertLinesBefore(o,e,s,n,t),o.linesLength+=s-e+1)}else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,e),o.linesLength-=e)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1i){const e=Math.max(0,i-o.rendLineNumberStart+1),t=o.linesLength-1-e+1;t>0&&(this._removeLinesAfter(o,t),o.linesLength-=t)}return this._finishRendering(o,!1,n),o}_renderUntouchedLines(e,t,i,n,o){const s=e.rendLineNumberStart,r=e.lines;for(let e=t;e<=i;e++){const t=s+e;r[e].layoutLine(t,n[t-o])}}_insertLinesBefore(e,t,i,n,o){const s=[];let r=0;for(let e=t;e<=i;e++)s[r++]=this.host.createVisibleLine();e.lines=s.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;t--){const i=e.lines[t];n[t]&&(i.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const n=document.createElement("div");T_._ttPolicy&&(t=T_._ttPolicy.createHTML(t)),n.innerHTML=t;for(let t=0;te}),T_._sb=Ol(1e5);class M_ extends Gp{constructor(e){super(e),this._visibleLines=new I_(this),this.domNode=this._visibleLines.domNode,this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ee.shouldRender()));for(let i=0,n=t.length;i'),n.appendASCIIString(o),n.appendASCIIString(""),!0)}layoutLine(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))}}class P_ extends M_{constructor(e){super(e);const t=this._context.configuration.options.get(131);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const t=this._context.configuration.options.get(131);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class A_ extends M_{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(131);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),jd(this.domNode,t.get(44))}onConfigurationChanged(e){const t=this._context.configuration.options;jd(this.domNode,t.get(44));const i=t.get(131);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class O_{constructor(e,t){this._coordinateBrand=void 0,this.top=e,this.left=t}}class F_ extends Gp{constructor(e,t){super(e),this._viewDomNode=t,this._widgets={},this.domNode=rd(document.createElement("div")),Yp.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=rd(document.createElement("div")),Yp.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(e){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onConfigurationChanged(e);return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLineMappingChanged(e){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onLineMappingChanged(e);return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onZonesChanged(e){return!0}addWidget(e){const t=new W_(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(e,t,i){this._widgets[e.getId()].setPosition(t,i),this.setShouldRender()}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t];delete this._widgets[t];const i=e.domNode.domNode;i.parentNode.removeChild(i),i.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown}onBeforeRender(e){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onBeforeRender(e)}prepareRender(e){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].prepareRender(e)}render(e){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].render(e)}}class W_{constructor(e,t,i){this._context=e,this._viewDomNode=t,this._actual=i,this.domNode=rd(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const n=this._context.configuration.options,o=n.get(131);this._fixedOverflowWidgets=n.get(36),this._contentWidth=o.contentWidth,this._contentLeft=o.contentLeft,this._lineHeight=n.get(59),this._range=null,this._viewRange=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(e){const t=this._context.configuration.options;if(this._lineHeight=t.get(59),e.hasChanged(131)){const e=t.get(131);this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._maxWidth=this._getMaxWidth()}}onLineMappingChanged(e){this._setPosition(this._range)}_setPosition(e){if(this._range=e,this._viewRange=null,this._range){const e=this._context.viewModel.model.validateRange(this._range);(this._context.viewModel.coordinatesConverter.modelPositionIsVisible(e.getStartPosition())||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(e.getEndPosition()))&&(this._viewRange=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(e))}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.offsetWidth||document.body.offsetWidth:this._contentWidth}setPosition(e,t){this._setPosition(e),this._preference=t,this._viewRange&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,n,o){const s=e.top,r=s,a=t.top+this._lineHeight,l=s-n,c=r>=n,d=a,h=o.viewportHeight-a>=n;let u=e.left,g=t.left;return u+i>o.scrollLeft+o.viewportWidth&&(u=o.scrollLeft+o.viewportWidth-i),g+i>o.scrollLeft+o.viewportWidth&&(g=o.scrollLeft+o.viewportWidth-i),us){const e=r-(s-n);r-=e,i-=e}if(r=22,f=c+n<=d.height-22;return this._fixedOverflowWidgets?{fitsAbove:m,aboveTop:Math.max(l,22),aboveLeft:u,fitsBelow:f,belowTop:c,belowLeft:p}:{fitsAbove:m,aboveTop:s,aboveLeft:h,fitsBelow:f,belowTop:r,belowLeft:g}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new O_(e.top,e.left+this._contentLeft)}_getTopAndBottomLeft(e){if(!this._viewRange)return[null,null];const t=e.linesVisibleRangesForRange(this._viewRange,!1);if(!t||0===t.length)return[null,null];let i=t[0],n=t[0];for(const e of t)e.lineNumbern.lineNumber&&(n=e);let o=1073741824;for(const e of i.ranges)e.lefte.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&B_(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&B_(this._actual.afterRender,this._actual,this._renderData.position)}}function B_(e,t,...i){try{return e.call(t,...i)}catch(e){return null}}var V_=i(1136),H_={};H_.styleTagTransform=p(),H_.setAttributes=d(),H_.insert=l().bind(null,"head"),H_.domAPI=r(),H_.insertStyleElement=u(),o()(V_.Z,H_),V_.Z&&V_.Z.locals&&V_.Z.locals;class z_ extends lf{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(131);this._lineHeight=t.get(59),this._renderLineHighlight=t.get(85),this._renderLineHighlightOnlyWhenFocus=t.get(86),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new na(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=this._selections.map((e=>e.positionLineNumber));t.sort(((e,t)=>e-t)),Qa(this._cursorLineNumbers,t)||(this._cursorLineNumbers=t,e=!0);const i=this._selections.every((e=>e.isEmpty()));return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(131);return this._lineHeight=t.get(59),this._renderLineHighlight=t.get(85),this._renderLineHighlightOnlyWhenFocus=t.get(86),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=e.isFocused,!0)}prepareRender(e){if(!this._shouldRenderThis())return void(this._renderData=null);const t=this._renderOne(e),i=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,o=this._cursorLineNumbers.length;let s=0;const r=[];for(let e=i;e<=n;e++){const n=e-i;for(;s=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class j_ extends z_{_renderOne(e){return`
    `}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class q_ extends z_{_renderOne(e){return`
    `}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}br(((e,t)=>{const i=e.getColor(cf);if(i&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }`)),!i||i.isTransparent()||e.defines(df)){const i=e.getColor(df);i&&(t.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${i}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${i}; }`),"hc"===e.type&&(t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}}));var K_=i(8592),U_={};U_.styleTagTransform=p(),U_.setAttributes=d(),U_.insert=l().bind(null,"head"),U_.domAPI=r(),U_.insertStyleElement=u(),o()(K_.Z,U_),K_.Z&&K_.Z.locals&&K_.Z.locals;class $_ extends lf{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._lineHeight=t.get(59),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._lineHeight=t.get(59),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],n=0;for(let e=0,o=t.length;e{if(e.options.zIndext.options.zIndex)return 1;const i=e.options.className,n=t.options.className;return in?1:ia.compareRangesUsingStarts(e.range,t.range)}));const o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber,r=[];for(let e=o;e<=s;e++)r[e-o]="";this._renderWholeLineDecorations(e,i,r),this._renderNormalDecorations(e,i,r),this._renderResult=r}_renderWholeLineDecorations(e,t,i){const n=String(this._lineHeight),o=e.visibleRange.startLineNumber,s=e.visibleRange.endLineNumber;for(let e=0,r=t.length;e',l=Math.max(r.range.startLineNumber,o),c=Math.min(r.range.endLineNumber,s);for(let e=l;e<=c;e++)i[e-o]+=a}}_renderNormalDecorations(e,t,i){const n=String(this._lineHeight),o=e.visibleRange.startLineNumber;let s=null,r=!1,a=null;for(let l=0,c=t.length;l';r[l]+=s}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class Z_ extends B{onclick(e,t){this._register(cn(e,$n.CLICK,(e=>t(new Ht(e)))))}onmousedown(e,t){this._register(cn(e,$n.MOUSE_DOWN,(e=>t(new Ht(e)))))}onmouseover(e,t){this._register(cn(e,$n.MOUSE_OVER,(e=>t(new Ht(e)))))}onnonbubblingmouseout(e,t){this._register(pn(e,(e=>t(new Ht(e)))))}onkeydown(e,t){this._register(cn(e,$n.KEY_DOWN,(e=>t(new Ot(e)))))}onkeyup(e,t){this._register(cn(e,$n.KEY_UP,(e=>t(new Ot(e)))))}oninput(e,t){this._register(cn(e,$n.INPUT,t))}onblur(e,t){this._register(cn(e,$n.BLUR,t))}onfocus(e,t){this._register(cn(e,$n.FOCUS,t))}ignoreGesture(e){hh.ignoreTarget(e)}}class G_ extends Z_{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",void 0!==e.top&&(this.bgDomNode.style.top="0px"),void 0!==e.left&&(this.bgDomNode.style.left="0px"),void 0!==e.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...e.icon.classNamesArray),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==e.top&&(this.domNode.style.top=e.top+"px"),void 0!==e.left&&(this.domNode.style.left=e.left+"px"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),void 0!==e.right&&(this.domNode.style.right=e.right+"px"),this._mouseMoveMonitor=this._register(new gh),this.onmousedown(this.bgDomNode,(e=>this._arrowMouseDown(e))),this.onmousedown(this.domNode,(e=>this._arrowMouseDown(e))),this._mousedownRepeatTimer=this._register(new si),this._mousedownScheduleRepeatTimer=this._register(new oi)}_arrowMouseDown(e){this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet((()=>{this._mousedownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24)}),200),this._mouseMoveMonitor.startMonitoring(e.target,e.buttons,uh,(e=>{}),(()=>{this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancel()})),e.preventDefault()}}class Y_ extends B{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new oi)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{this._domNode&&this._domNode.setClassName(this._visibleClassName)}),0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode&&this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))}}class X_ extends Z_{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Y_(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._mouseMoveMonitor=this._register(new gh),this._shouldRender=!0,this.domNode=rd(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this.onmousedown(this.domNode.domNode,(e=>this._domNodeMouseDown(e)))}_createArrow(e){const t=this._register(new G_(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,n){this.slider=rd(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),"number"==typeof i&&this.slider.setWidth(i),"number"==typeof n&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,(e=>{e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(()=>{})))})),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodeMouseDown(e){e.target===this.domNode.domNode&&this._onMouseDown(e)}delegateMouseDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderMousePosition(e);i<=o&&o<=n?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(()=>{}))):this._onMouseDown(e)}_onMouseDown(e){let t,i;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,i=e.browserEvent.offsetY;else{const n=En(this.domNode.domNode);t=e.posx-n.left,i=e.posy-n.top}const n=this._mouseDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(()=>{})))}_sliderMouseDown(e,t){const i=this._sliderMousePosition(e),n=this._sliderOrthogonalMousePosition(e),o=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(e.target,e.buttons,uh,(e=>{const t=this._sliderOrthogonalMousePosition(e),s=Math.abs(t-n);if(de&&s>140)return void this._setDesiredScrollPositionNow(o.getScrollPosition());const r=this._sliderMousePosition(e)-i;this._setDesiredScrollPositionNow(o.getDesiredScrollPositionFromDelta(r))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd(),t()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class J_{constructor(e,t,i,n,o,s){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=o,this._scrollPosition=s,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new J_(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,n,o){const s=Math.max(0,i-e),r=Math.max(0,s-2*t),a=n>0&&n>i;if(!a)return{computedAvailableSize:Math.round(s),computedIsNeeded:a,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(20,Math.floor(i*r/n))),c=(r-l)/(n-i),d=o*c;return{computedAvailableSize:Math.round(s),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:c,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const e=J_._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new zt(null,1,0))}),this._createArrow({className:"scra",icon:Oo.scrollbarButtonRight,top:i,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new zt(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(e,t){return e}_sliderMousePosition(e){return e.posx}_sliderOrthogonalMousePosition(e){return e.posy}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class ev extends X_{constructor(e,t,i){const n=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new J_(t.verticalHasArrows?t.arrowSize:0,2===t.vertical?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const e=(t.arrowSize-11)/2,i=(t.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Oo.scrollbarButtonUp,top:e,left:i,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new zt(null,0,1))}),this._createArrow({className:"scra",icon:Oo.scrollbarButtonDown,top:void 0,left:i,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new zt(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_mouseDownRelativePosition(e,t){return t}_sliderMousePosition(e){return e.posy}_sliderOrthogonalMousePosition(e){return e.posx}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class tv{constructor(e,t,i,n,o,s,r){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,n|=0,o|=0,s|=0,r|=0),this.rawScrollLeft=n,this.rawScrollTop=r,t<0&&(t=0),n+t>i&&(n=i-t),n<0&&(n=0),o<0&&(o=0),r+o>s&&(r=s-o),r<0&&(r=0),this.width=t,this.scrollWidth=i,this.scrollLeft=n,this.height=o,this.scrollHeight=s,this.scrollTop=r}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new tv(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new tv(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,s=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:o,heightChanged:s,scrollHeightChanged:r,scrollTopChanged:a}}}class iv extends B{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Pe),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new tv(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let n;n=t?new sv(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=sv.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class nv{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function ov(e,t){const i=t-e;return function(t){return e+i*function(e){return 1-function(e){return Math.pow(e,3)}(1-e)}(t)}}class sv{constructor(e,t,i,n){this.from=e,this.to=t,this.duration=n,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,i){if(Math.abs(e-t)>2.5*i){let n,o;return e0&&Math.abs(e.deltaY)>0)return 1;let t=.5;return-1===this._front&&-1===this._rear||this._memory[this._rear],this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(t+=.25),Math.min(Math.max(t,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}cv.INSTANCE=new cv;class dv extends Z_{constructor(e,t,i){super(),this._onScroll=this._register(new Pe),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Pe),e.style.overflow="hidden",this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,he&&(t.className+=" mac"),t}(t),this._scrollable=i,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const n={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new ev(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new Q_(this._scrollable,this._options,n)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=rd(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=rd(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=rd(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onnonbubblingmouseout(this._listenOnDomNode,(e=>this._onMouseOut(e))),this._hideTimeout=this._register(new oi),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=A(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarMouseDown(e){this._verticalScrollbar.delegateMouseDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,he&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=A(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new zt(e))};this._mouseWheelToDispose.push(cn(this._listenOnDomNode,$n.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){const t=cv.INSTANCE;{const i=window.devicePixelRatio/je();de||ue?t.accept(Date.now(),e.deltaX/i,e.deltaY/i):t.accept(Date.now(),e.deltaX,e.deltaY)}let i=!1;if(e.deltaY||e.deltaX){let n=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(Math.abs(n)>=Math.abs(o)?o=0:n=0),this._options.flipAxes&&([n,o]=[o,n]);const s=!he&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||o||(o=n,n=0),e.browserEvent&&e.browserEvent.altKey&&(o*=this._options.fastScrollSensitivity,n*=this._options.fastScrollSensitivity);const r=this._scrollable.getFutureScrollPosition();let a={};if(n){const e=50*n,t=r.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(o){const e=50*o,t=r.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}a=this._scrollable.validateScrollPosition(a),(r.scrollLeft!==a.scrollLeft||r.scrollTop!==a.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0)}let n=i;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,n=i?" left":"",o=t?" top":"",s=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${s}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseOut(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class hv extends dv{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new iv({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:e=>_n(e)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class uv extends dv{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class gv extends dv{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new iv({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:e=>_n(e)});super(e,t,i),this._register(i),this._element=e,this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}class pv extends Gp{constructor(e,t,i,n){super(e);const o=this._context.configuration.options,s=o.get(92),r=o.get(67),a=o.get(34),l=o.get(95),c={listenOnDomNode:i.domNode,className:"editor-scrollable "+fr(e.theme.type),useShadows:!1,lazyRender:!0,vertical:s.vertical,horizontal:s.horizontal,verticalHasArrows:s.verticalHasArrows,horizontalHasArrows:s.horizontalHasArrows,verticalScrollbarSize:s.verticalScrollbarSize,verticalSliderSize:s.verticalSliderSize,horizontalScrollbarSize:s.horizontalScrollbarSize,horizontalSliderSize:s.horizontalSliderSize,handleMouseWheel:s.handleMouseWheel,alwaysConsumeMouseWheel:s.alwaysConsumeMouseWheel,arrowSize:s.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:a,scrollPredominantAxis:l,scrollByPage:s.scrollByPage};this.scrollbar=this._register(new uv(t.domNode,c,this._context.viewLayout.getScrollable())),Yp.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=rd(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const d=(e,t,i)=>{const n={};if(t){const t=e.scrollTop;t&&(n.scrollTop=this._context.viewLayout.getCurrentScrollTop()+t,e.scrollTop=0)}if(i){const t=e.scrollLeft;t&&(n.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+t,e.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(n,1)};this._register(cn(i.domNode,"scroll",(e=>d(i.domNode,!0,!0)))),this._register(cn(t.domNode,"scroll",(e=>d(t.domNode,!0,!1)))),this._register(cn(n.domNode,"scroll",(e=>d(n.domNode,!0,!1)))),this._register(cn(this.scrollbarDomNode.domNode,"scroll",(e=>d(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(131);this.scrollbarDomNode.setLeft(t.contentLeft),"right"===e.get(65).side?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarMouseDown(e){this.scrollbar.delegateVerticalScrollbarMouseDown(e)}onConfigurationChanged(e){if(e.hasChanged(92)||e.hasChanged(67)||e.hasChanged(34)){const e=this._context.configuration.options,t=e.get(92),i=e.get(67),n=e.get(34),o=e.get(95),s={vertical:t.vertical,horizontal:t.horizontal,verticalScrollbarSize:t.verticalScrollbarSize,horizontalScrollbarSize:t.horizontalScrollbarSize,scrollByPage:t.scrollByPage,handleMouseWheel:t.handleMouseWheel,mouseWheelScrollSensitivity:i,fastScrollSensitivity:n,scrollPredominantAxis:o};this.scrollbar.updateOptions(s)}return e.hasChanged(131)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+fr(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}br(((e,t)=>{const i=e.getColor(su);i&&t.addRule(`\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tbox-shadow: ${i} 0 6px 6px -6px inset;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tbox-shadow: ${i} 6px 0 6px -6px inset;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\tbox-shadow: ${i} 6px 6px 6px -6px inset;\n\t\t\t}\n\t\t`);const n=e.getColor(ru);n&&t.addRule(`\n\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\tbackground: ${n};\n\t\t\t}\n\t\t`);const o=e.getColor(au);o&&t.addRule(`\n\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\tbackground: ${o};\n\t\t\t}\n\t\t`);const s=e.getColor(lu);s&&t.addRule(`\n\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\tbackground: ${s};\n\t\t\t}\n\t\t`)}));var mv=i(3640),fv={};fv.styleTagTransform=p(),fv.setAttributes=d(),fv.insert=l().bind(null,"head"),fv.domAPI=r(),fv.insertStyleElement=u(),o()(mv.Z,fv),mv.Z&&mv.Z.locals&&mv.Z.locals;class _v{constructor(e,t,i){this._decorationToRenderBrand=void 0,this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(i)}}class vv extends lf{_render(e,t,i){const n=[];for(let i=e;i<=t;i++)n[i-e]=[];if(0===i.length)return n;i.sort(((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',r=[];for(let e=t;e<=i;e++){const i=e-t,o=n[i];0===o.length?r[i]="":r[i]='
    =this._renderResult.length?"":this._renderResult[i]}}var Cv,wv=i(7946),yv={};function Sv(e,t){let i=0,n=0;const o=e.length;for(;nn)throw new Error("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide);let r=-2,a=-1,l=-2,c=-1;const d=e=>{if(-1!==r&&(-2===r||r>e-1)){r=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){r=t,a=e;break}}}if(-2===l){l=-1,c=-1;for(let t=e;t=0){l=t,c=e;break}}}};let h=-2,u=-1,g=-2,p=-1;const m=e=>{if(-2===h){h=-1,u=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){h=t,u=e;break}}}if(-1!==g&&(-2===g||g=0){g=t,p=e;break}}}};let f=0,_=!0,v=0,b=!0,C=0,w=0;for(let o=0;_||b;o++){const r=e-o,g=e+o;o>1&&(r<1||r1&&(g>n||g>i)&&(b=!1),o>5e4&&(_=!1,b=!1);let y=-1;if(_&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(l=r-1,c=e,y=Math.ceil(e/this.textModel.getOptions().indentSize)):(d(r),y=this._getIndentLevelForWhitespaceLine(s,a,c))}let S=-1;if(b&&g<=n){const e=this._computeIndentLevel(g-1);e>=0?(h=g-1,u=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(m(g),S=this._getIndentLevelForWhitespaceLine(s,u,p))}if(0!==o){if(1===o){if(g<=n&&S>=0&&w+1===S){_=!1,f=g,v=g,C=S;continue}if(r>=1&&y>=0&&y-1===w){b=!1,f=r,v=r,C=y;continue}if(f=e,v=e,C=w,0===C)return{startLineNumber:f,endLineNumber:v,indent:C}}_&&(y>=C?f=r:_=!1),b&&(S>=C?v=g:b=!1)}else w=y}return{startLineNumber:f,endLineNumber:v,indent:C}}getLinesBracketGuides(e,t,i,n){var o,s,r,a,l;const c=[],d=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new ia(e,1,t,this.textModel.getLineMaxColumn(t)));let h;i&&d.length>0&&(h=null===(o=function(e,t){const i=function(e,t){for(let i=e.length-1;i>=0;i--)if(t(e[i]))return i;return-1}(e,(e=>e.range.startLineNumber!==e.range.endLineNumber));if(-1!==i)return e[i]}(e<=i.lineNumber&&i.lineNumber<=t?d.filter((e=>ia.strictContainsPosition(e.range,i))):this.textModel.bracketPairs.getBracketPairsInRange(ia.fromPositions(i))))||void 0===o?void 0:o.range);const u=new Cl(d),g=new Array,p=new Array,m=new Lv;for(let i=e;i<=t;i++){let e=new Array;p.length>0&&(e=e.concat(p),p.length=0),c.push(e);for(const e of u.takeWhile((e=>e.openingBracketRange.startLineNumber<=i))||[]){if(e.range.startLineNumber===e.range.endLineNumber)continue;const t=Math.min(this.getVisibleColumnFromPosition(e.openingBracketRange.getStartPosition()),this.getVisibleColumnFromPosition(null!==(r=null===(s=e.closingBracketRange)||void 0===s?void 0:s.getStartPosition())&&void 0!==r?r:e.range.getEndPosition()),e.minVisibleColumnIndentation+1);let i=!1;e.closingBracketRange&&Jo(this.textModel.getLineContent(e.closingBracketRange.startLineNumber))=0;o--){const s=g[o];if(!s)continue;const r=n.highlightActive&&h&&s.bracketPair.range.equalsRange(h),a=m.getInlineClassNameOfLevel(s.nestingLevel)+(r?" "+m.activeClassName:"");(r||n.includeInactive)&&s.renderHorizontalEndLineAtTheBottom&&s.end.lineNumber===i+1&&p.push(new xv(s.guideVisibleColumn,a,null)),s.end.lineNumber<=i||s.start.lineNumber>=i||s.guideVisibleColumn>=t&&!r||(t=s.guideVisibleColumn,(r||n.includeInactive)&&e.push(new xv(s.guideVisibleColumn,a,null)))}e.sort(((e,t)=>e.visibleColumn-t.visibleColumn))}return c}getVisibleColumnFromPosition(e){return aa.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const n=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(o&&o.offSide),r=new Array(t-e+1);let a=-2,l=-1,c=-2,d=-1;for(let o=e;o<=t;o++){const t=o-e,h=this._computeIndentLevel(o-1);if(h>=0)a=o-1,l=h,r[t]=Math.ceil(h/n.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=o-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==c&&(-2===c||c=0){c=e,d=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(s,l,d)}}return r}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return-1===t||-1===i?0:ta||this._maxIndentLeft>0&&i>this._maxIndentLeft)break;const s=t.horizontalLine?t.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=t.horizontalLine?(null!==(o=null===(n=e.visibleRangeForPosition(new Do(c,t.horizontalLine.endColumn)))||void 0===n?void 0:n.left)&&void 0!==o?o:i+this._spaceWidth)-i:this._spaceWidth;g+=`
    `}h[r]=g}this._renderResult=h}getGuidesByLine(e,t,i){const n=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?Cv.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?Cv.EnabledForActive:Cv.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,o=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let s=0,r=0,a=0;if(this._bracketPairGuideOptions.highlightActiveIndentation&&i){const n=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);s=n.startLineNumber,r=n.endLineNumber,a=n.indent}const{indentSize:l}=this._context.viewModel.model.getOptions(),c=[];for(let i=e;i<=t;i++){const t=new Array;c.push(t);const d=n?n[i-e]:[],h=new Cl(d),u=o?o[i-e]:[];for(let e=1;e<=u;e++){const n=(e-1)*l+1,o=0===d.length&&s<=i&&i<=r&&e===a;t.push(...h.takeWhile((e=>e.visibleColumn!0))||[])}return c}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function Nv(e){if(!e||!e.isTransparent())return e}br(((e,t)=>{const i=e.getColor(vf);i&&t.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${i} inset; }`);const n=e.getColor(bf)||i;n&&t.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${n} inset; }`);const o=[{bracketColor:Bf,guideColor:Uf,guideColorActive:Jf},{bracketColor:Vf,guideColor:$f,guideColorActive:Qf},{bracketColor:Hf,guideColor:Zf,guideColorActive:e_},{bracketColor:zf,guideColor:Gf,guideColorActive:t_},{bracketColor:jf,guideColor:Yf,guideColorActive:i_},{bracketColor:qf,guideColor:Xf,guideColorActive:n_}],s=new Lv,r=o.map((t=>{var i,n;const o=e.getColor(t.bracketColor),s=e.getColor(t.guideColor),r=e.getColor(t.guideColorActive),a=Nv(null!==(i=Nv(s))&&void 0!==i?i:null==o?void 0:o.transparent(.3)),l=Nv(null!==(n=Nv(r))&&void 0!==n?n:o);if(a&&l)return{guideColor:a,guideColorActive:l}})).filter(rt);if(r.length>0){for(let e=0;e<30;e++){const i=r[e%r.length];t.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(e).replace(/ /g,".")} { --guide-color: ${i.guideColor}; --guide-color-active: ${i.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}}));var Iv=i(5305),Tv={};Tv.styleTagTransform=p(),Tv.setAttributes=d(),Tv.insert=l().bind(null,"head"),Tv.domAPI=r(),Tv.insertStyleElement=u(),o()(Iv.Z,Tv),Iv.Z&&Iv.Z.locals&&Iv.Z.locals;class Mv{constructor(){this._currentVisibleRange=new ia(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class Rv{constructor(e,t,i,n,o,s,r){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=n,this.startScrollTop=o,this.stopScrollTop=s,this.scrollType=r,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class Pv{constructor(e,t,i,n,o){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=n,this.scrollType=o,this.type="selections";let s=t[0].startLineNumber,r=t[0].endLineNumber;for(let e=1,i=t.length;e{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new ri((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new Mv,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Sm(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(132)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(44),n=t.get(132),o=t.get(131);return this._lineHeight=t.get(59),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=n.isViewportWrapping,this._revealHorizontalRightPadding=t.get(89),this._horizontalScrollbarHeight=o.horizontalScrollbarHeight,this._cursorSurroundingLines=t.get(25),this._cursorSurroundingLinesStyle=t.get(26),this._canUseLayerHinting=!t.get(28),jd(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(131)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new ym(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const e=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let t=e;t<=i;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=!1;for(let e=t;e<=i;e++)n=this._visibleLines.getVisibleLine(e).onSelectionChanged()||n;return n}onDecorationsChanged(e){{const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(-1===t)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Rv(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new Pv(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,n),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(null===i)return null;const n=this._getLineNumberFor(i);if(-1===n)return null;if(n<1||n>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(n))return new Do(n,1);const o=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();if(ns)return null;let r=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(n,e,t);const a=this._context.viewModel.getLineMinColumn(n);return ri?-1:this._visibleLines.getVisibleLine(e).getWidth()}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,n=ia.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!n)return null;let o=[],s=0;const r=new wm(this.domNode.domNode,this._textRangeRestingSpot);let a=0;t&&(a=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Do(n.startLineNumber,1)).lineNumber);const l=this._visibleLines.getStartLineNumber(),c=this._visibleLines.getEndLineNumber();for(let e=n.startLineNumber;e<=n.endLineNumber;e++){if(ec)continue;const d=e===n.startLineNumber?n.startColumn:1,h=e===n.endLineNumber?n.endColumn:this._context.viewModel.getLineMaxColumn(e),u=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,d,h,r);if(u){if(t&&ethis._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,new wm(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new tm(t.outsideRenderedLine,t.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let n=1,o=!0;for(let s=t;s<=i;s++){const t=this._visibleLines.getVisibleLine(s);!e||t.getWidthIsFast()?n=Math.max(n,t.getWidth()):o=!1}return o&&1===t&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),o}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let o=i;o<=n;o++){const i=this._visibleLines.getVisibleLine(o);if(i.needsMonospaceFontCheck()){const n=i.getWidth();n>t&&(t=n,e=o)}}if(-1!==e&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=i;e<=n;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),ue&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let i=e;i<=t;i++)if(this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let e=o[0].startLineNumber,t=o[0].endLineNumber;for(let i=1,n=o.length;ia){if(!c)return-1;u=d}else if(5===s||6===s)if(6===s&&r<=d&&h<=l)u=r;else{const e=d-Math.max(5*this._lineHeight,.2*a),t=h-a;u=Math.max(t,e)}else if(1===s||2===s)if(2===s&&r<=d&&h<=l)u=r;else{const e=(d+h)/2;u=Math.max(0,e-a/2)}else u=this._computeMinimumScrolling(r,l,d,h,3===s,4===s);return u}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=t.left,n=i+t.width;let o=1073741824,s=0;if("range"===e.type){const t=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!t)return null;for(const e of t.ranges)o=Math.min(o,Math.round(e.left)),s=Math.max(s,Math.round(e.left+e.width))}else for(const t of e.selections){if(t.startLineNumber!==t.endLineNumber)return null;const e=this._visibleRangesForLineRange(t.startLineNumber,t.startColumn,t.endColumn);if(!e)return null;for(const t of e.ranges)o=Math.min(o,Math.round(t.left)),s=Math.max(s,Math.round(t.left+t.width))}return e.minimalReveal||(o=Math.max(0,o-Av.HORIZONTAL_EXTRA_PX),s+=this._revealHorizontalRightPadding),"selections"===e.type&&s-o>t.width?null:{scrollLeft:this._computeMinimumScrolling(i,n,o,s),maxHorizontalOffset:s}}_computeMinimumScrolling(e,t,i,n,o,s){o=!!o,s=!!s;const r=(t|=0)-(e|=0);return(n|=0)-(i|=0)t?Math.max(0,n-r):e:i}}Av.HORIZONTAL_EXTRA_PX=30;var Ov=i(2342),Fv={};Fv.styleTagTransform=p(),Fv.setAttributes=d(),Fv.insert=l().bind(null,"head"),Fv.domAPI=r(),Fv.insertStyleElement=u(),o()(Ov.Z,Fv),Ov.Z&&Ov.Z.locals&&Ov.Z.locals;class Wv extends vv{constructor(e){super(),this._context=e;const t=this._context.configuration.options.get(131);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options.get(131);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){const t=e.getDecorationsInViewport(),i=[];let n=0;for(let e=0,o=t.length;e
    ',s=[];for(let e=t;e<=i;e++){const i=e-t,r=n[i];let a="";for(let e=0,t=r.length;e';o[i]=r}this._renderResult=o}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}var zv=i(1922),jv={};jv.styleTagTransform=p(),jv.setAttributes=d(),jv.insert=l().bind(null,"head"),jv.domAPI=r(),jv.insertStyleElement=u(),o()(zv.Z,jv),zv.Z&&zv.Z.locals&&zv.Z.locals;class qv{constructor(e,t,i,n){this._rgba8Brand=void 0,this.r=qv._clamp(e),this.g=qv._clamp(t),this.b=qv._clamp(i),this.a=qv._clamp(n)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:0|e}}qv.Empty=new qv(0,0,0,0);class Kv extends B{constructor(){super(),this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(y_.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}static getInstance(){return this._INSTANCE||(this._INSTANCE=new Kv),this._INSTANCE}_updateColorMap(){const e=y_.getColorMap();if(!e)return this._colors=[qv.Empty],void(this._backgroundIsLight=!0);this._colors=[qv.Empty];for(let t=1;t=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}Kv._INSTANCE=null;class Uv{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=0|e,this.left=0|t,this.width=0|i,this.height=0|n}}class $v{constructor(e,t){this.tabSize=e,this.data=t}}class Zv{constructor(e,t,i,n,o,s,r){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=o,this.tokens=s,this.inlineDecorations=r}}class Gv{constructor(e,t,i,n,o,s,r,a,l,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=Gv.isBasicASCII(i,s),this.containsRTL=Gv.containsRTL(i,this.isBasicASCII,o),this.tokens=r,this.inlineDecorations=a,this.tabSize=l,this.startVisibleColumn=c}static isBasicASCII(e,t){return!t||ys(e)}static containsRTL(e,t,i){return!(t||!i)&&Cs(e)}}class Yv{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class Xv{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new Yv(new ia(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class Jv{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class Qv{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static cmp(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}}const eb=(()=>{const e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})();class tb{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=tb.soften(e,.8),this.charDataLight=tb.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let n=0,o=e.length;ne.width||i+g>e.height)return void console.warn("bad render request outside image data");const p=c?this.charDataLight:this.charDataNormal,m=((e,t)=>(e-=32)<0||e>96?t<=2?(e+96)%96:95:e)(n,l),f=4*e.width,_=r.r,v=r.g,b=r.b,C=o.r-_,w=o.g-v,y=o.b-b,S=Math.max(s,a),x=e.data;let k=m*h*u,D=i*f+4*t;for(let e=0;ee.width||i+d>e.height)return void console.warn("bad render request outside image data");const h=4*e.width,u=o/255*.5,g=s.r,p=s.g,m=s.b,f=g+(n.r-g)*u,_=p+(n.g-p)*u,v=m+(n.b-m)*u,b=Math.max(o,r),C=e.data;let w=i*h+4*t;for(let e=0;e{const t=new Uint8ClampedArray(e.length/2);for(let i=0;i>1]=ib[e[i]]<<4|15&ib[e[i+1]];return t},ob={1:I((()=>nb("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:I((()=>nb("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class sb{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return i=ob[e]?new tb(ob[e](),e):sb.createFromSampleData(sb.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",i.fillStyle="#ffffff",i.font=`bold 16px ${e}`,i.textBaseline="middle";let n=0;for(const e of eb)i.fillText(String.fromCharCode(e),n,8),n+=10;return i.getImageData(0,0,960,16)}static createFromSampleData(e,t){if(61440!==e.length)throw new Error("Unexpected source in MinimapCharRenderer");const i=sb._downsample(e,t);return new tb(i,t)}static _downsampleChar(e,t,i,n,o){const s=1*o,r=2*o;let a=n,l=0;for(let n=0;n0){const e=255/a;for(let t=0;tsb.create(this.fontScale,a.fontFamily))),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=mb._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=mb._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(vp);return i?new qv(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(bp);return t?qv._clamp(Math.round(255*t.rgba.a)):255}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class fb{constructor(e,t,i,n,o,s,r,a){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=n,this.sliderTop=o,this.sliderHeight=s,this.startLineNumber=r,this.endLineNumber=a}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}static create(e,t,i,n,o,s,r,a,l,c,d){const h=e.pixelRatio,u=e.minimapLineHeight,g=Math.floor(e.canvasInnerHeight/u),p=e.lineHeight;if(e.minimapHeightIsEditorHeight){const t=a*e.lineHeight+(e.scrollBeyondLastLine?o-e.lineHeight:0),i=Math.max(1,Math.floor(o*o/t)),n=Math.max(0,e.minimapHeight-i),s=n/(c-o),d=l*s,h=n>0,u=Math.floor(e.canvasInnerHeight/e.minimapLineHeight);return new fb(l,c,h,s,d,i,1,Math.min(r,u))}let m,f;if(s&&i!==r){const e=i-t+1;m=Math.floor(e*u/h)}else{const e=o/p;m=Math.floor(e*u/h)}f=e.scrollBeyondLastLine?(r-1)*u/h:Math.max(0,r*u/h-m),f=Math.min(e.minimapHeight-m,f);const _=f/(c-o),v=l*_;let b=0;if(e.scrollBeyondLastLine&&(b=o/p-1),g>=r+b)return new fb(l,c,f>0,_,v,m,1,r);{let e=Math.max(1,Math.floor(t-v*h/u));d&&d.scrollHeight===c&&(d.scrollTop>l&&(e=Math.min(e,d.startLineNumber)),d.scrollTop_b.INVALID)),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const t=this._renderedLines._get().lines;for(let e=0,i=t.length;e1){for(let t=0,i=r-1;t0&&this.minimapLines[i-1]>=e;)i--;let n=this.modelLineToMinimapLine(t)-1;for(;n+1t)return null}return[i+1,n+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),n=this.modelLineToMinimapLine(t);return e!==t&&n===i&&(n===this.minimapLines.length?i>1&&i--:n++),[i,n]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,n=0;for(let o=this.minimapLines.length-1;o>=0&&!(this.minimapLines[o]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(n)}_recreateLineSampling(){this._minimapSelections=null;const e=Boolean(this._samplingState),[t,i]=Cb.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const e of i)switch(e.type){case"deleted":this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const n=[];for(let o=0,s=t-e+1;o{if(e.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(e.leftButton&&this._lastRenderData){const t=En(this._slider.domNode),i=t.top+t.height/2;this._startSliderDragging(e.buttons,e.posx,i,e.posy,this._lastRenderData.renderedLayout)}return}const t=this._model.options.minimapLineHeight,i=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.browserEvent.offsetY;let n=Math.floor(i/t)+this._lastRenderData.renderedLayout.startLineNumber;n=Math.min(n,this._model.getLineCount()),this._model.revealLineNumber(n)})),this._sliderMouseMoveMonitor=new gh,this._sliderMouseDownListener=hn(this._slider.domNode,"mousedown",(e=>{e.preventDefault(),e.stopPropagation(),e.leftButton&&this._lastRenderData&&this._startSliderDragging(e.buttons,e.posx,e.posy,e.posy,this._lastRenderData.renderedLayout)})),this._gestureDisposable=hh.addTarget(this._domNode.domNode),this._sliderTouchStartListener=cn(this._domNode.domNode,dh.Start,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))}),{passive:!1}),this._sliderTouchMoveListener=cn(this._domNode.domNode,dh.Change,(e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)}),{passive:!1}),this._sliderTouchEndListener=hn(this._domNode.domNode,dh.End,(e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(e,t,i,n,o){this._slider.toggleClassName("active",!0);const s=(e,n)=>{const s=Math.abs(n-t);if(de&&s>140)return void this._model.setScrollTop(o.scrollTop);const r=e-i;this._model.setScrollTop(o.getDesiredScrollTopFromDelta(r))};n!==i&&s(n,t),this._sliderMouseMoveMonitor.startMonitoring(this._slider.domNode,e,uh,(e=>s(e.posy,e.posx)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){return"always"===this._model.options.showSlider?"minimap slider-always":"minimap slider-mouseover"}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new bb(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e,t)}onLinesDeleted(e,t){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e,t),!0}onLinesInserted(e,t){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(mp),this._renderDecorations=!0,!0}onTokensChanged(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const t=fb.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?"block":"none"),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(ia.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort(((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0)));const{canvasInnerWidth:n,canvasInnerHeight:o}=this._model.options,s=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,a=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext("2d");l.clearRect(0,0,n,o);const c=new Sb(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,c,e,s),this._renderDecorationsLineHighlights(l,i,c,e,s);const d=new Sb(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,s,a,r,n),this._renderDecorationsHighlights(l,i,d,e,s,a,r,n)}}_renderSelectionLineHighlights(e,t,i,n,o){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let s=0,r=0;for(const a of t){const t=Math.max(n.startLineNumber,a.startLineNumber),l=Math.min(n.endLineNumber,a.endLineNumber);if(t>l)continue;for(let e=t;e<=l;e++)i.set(e,!0);const c=(t-n.startLineNumber)*o,d=(l-n.startLineNumber)*o+o;r>=c||(r>s&&e.fillRect(8,s,e.canvas.width,r-s),s=c),r=d}r>s&&e.fillRect(8,s,e.canvas.width,r-s)}_renderDecorationsLineHighlights(e,t,i,n,o){const s=new Map;for(let r=t.length-1;r>=0;r--){const a=t[r],l=a.options.minimap;if(!l||l.position!==ab.Inline)continue;const c=Math.max(n.startLineNumber,a.range.startLineNumber),d=Math.min(n.endLineNumber,a.range.endLineNumber);if(c>d)continue;const h=l.getColor(this._theme.value);if(!h||h.isTransparent())continue;let u=s.get(h.toString());u||(u=h.transparent(.5).toString(),s.set(h.toString(),u)),e.fillStyle=u;for(let t=c;t<=d;t++){if(i.has(t))continue;i.set(t,!0);const s=(c-n.startLineNumber)*o;e.fillRect(8,s,e.canvas.width,o)}}}_renderSelectionsHighlights(e,t,i,n,o,s,r,a){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const l of t){const t=Math.max(n.startLineNumber,l.startLineNumber),c=Math.min(n.endLineNumber,l.endLineNumber);if(!(t>c))for(let d=t;d<=c;d++)this.renderDecorationOnLine(e,i,l,this._selectionColor,n,d,o,o,s,r,a)}}_renderDecorationsHighlights(e,t,i,n,o,s,r,a){for(const l of t){const t=l.options.minimap;if(!t)continue;const c=Math.max(n.startLineNumber,l.range.startLineNumber),d=Math.min(n.endLineNumber,l.range.endLineNumber);if(c>d)continue;const h=t.getColor(this._theme.value);if(h&&!h.isTransparent())for(let u=c;u<=d;u++)switch(t.position){case ab.Inline:this.renderDecorationOnLine(e,i,l.range,h,n,u,o,o,s,r,a);continue;case ab.Gutter:{const t=(u-n.startLineNumber)*o,i=2;this.renderDecoration(e,h,i,t,2,o);continue}}}}renderDecorationOnLine(e,t,i,n,o,s,r,a,l,c,d){const h=(s-o.startLineNumber)*a;if(h+r<0||h>this._model.options.canvasInnerHeight)return;const{startLineNumber:u,endLineNumber:g}=i,p=u===s?i.startColumn:1,m=g===s?i.endColumn:this._model.getLineMaxColumn(s),f=this.getXOffsetForPosition(t,s,p,l,c,d),_=this.getXOffsetForPosition(t,s,m,l,c,d);this.renderDecoration(e,n,f,h,_-f,r)}getXOffsetForPosition(e,t,i,n,o,s){if(1===i)return 8;if((i-1)*o>=s)return s;let r=e.get(t);if(!r){const i=this._model.getLineContent(t);r=[8];let a=8;for(let e=1;e=s){r[e]=s;break}r[e]=l,a=l}e.set(t,r)}return i-1b?Math.floor((n-b)/2):0,w=h.a/255,y=new qv(Math.round((h.r-d.r)*w+d.r),Math.round((h.g-d.g)*w+d.g),Math.round((h.b-d.b)*w+d.b),255);let S=0;const x=[];for(let e=0,s=i-t+1;e=0&&o_)return;const r=m.charCodeAt(C);if(9===r){const e=h-(C+w)%h;w+=e-1,b+=e*s}else if(32===r)b+=s;else{const h=ks(r)?2:1;for(let u=0;u_)return}}}}}class Sb{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;ethis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}br(((e,t)=>{const i=e.getColor(Cp);i&&t.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${i}; }`);const n=e.getColor(wp);n&&t.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${n}; }`);const o=e.getColor(yp);o&&t.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${o}; }`);const s=e.getColor(su);s&&t.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${s} -6px 0 6px -6px inset; }`)}));var xb=i(3181),kb={};kb.styleTagTransform=p(),kb.setAttributes=d(),kb.insert=l().bind(null,"head"),kb.domAPI=r(),kb.insertStyleElement=u(),o()(xb.Z,kb),xb.Z&&xb.Z.locals&&xb.Z.locals;class Db extends Gp{constructor(e){super(e);const t=this._context.configuration.options.get(131);this._widgets={},this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,this._domNode=rd(document.createElement("div")),Yp.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options.get(131);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){const t=rd(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),this._domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){const i=this._widgets[e.getId()];return i.preference!==t&&(i.preference=t,this.setShouldRender(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.parentNode.removeChild(e),this.setShouldRender()}}_renderWidget(e){const t=e.domNode;if(null!==e.preference)if(0===e.preference)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(1===e.preference){const e=t.domNode.clientHeight;t.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else 2===e.preference&&(t.setTop(0),t.domNode.style.right="50%");else t.unsetTop()}prepareRender(e){}render(e){this._domNode.setWidth(this._editorWidth);const t=Object.keys(this._widgets);for(let e=0,i=t.length;e=3){const t=Math.floor(n/3),i=Math.floor(n/3),o=n-t-i,s=e+t;return[[0,e,s,e,e+t+o,e,s,e],[0,t,o,t+o,i,t+o+i,o+i,t+o+i]]}if(2===i){const t=Math.floor(n/2),i=n-t;return[[0,e,e,e,e+t,e,e,e],[0,t,t,t,i,t+i,t+i,t+i]]}return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]]}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class Eb extends Gp{constructor(e){super(e),this._domNode=rd(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=y_.onDidChange((e=>{e.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Lb(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(t)||(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),0))}onConfigurationChanged(e){return this._updateSettings(!1)}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;tt&&(e=t-a),_=e-a,v=e+a}_>p+1||s!==u?(0!==e&&l.fillRect(c[u],g,d[u],p-g),u=s,g=_,p=v):v>p&&(p=v)}l.fillRect(c[u],g,d[u],p-g)}if(!this._settings.hideCursor&&this._settings.cursorColor){const e=2*this._settings.pixelRatio|0,i=e/2|0,s=this._settings.x[7],r=this._settings.w[7];l.fillStyle=this._settings.cursorColor;let a=-100,c=-100;for(let d=0,h=this._cursorPositions.length;dt&&(u=t-i);const g=u-i,p=g+e;g>c+1?(0!==d&&l.fillRect(s,a,r,c-a),a=g,c=p):p>c&&(c=p)}l.fillRect(s,a,r,c-a)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,t),l.stroke(),l.moveTo(0,0),l.lineTo(e,0),l.stroke())}}class Nb{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=0|e,this.to=0|t,this.colorId=0|i}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class Ib{constructor(e,t,i,n){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=n,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(u=i-g);const p=a.color;let m=this._color2Id[p];m||(m=++this._lastAssignedId,this._color2Id[p]=m,this._id2Color[m]=p);const f=new Nb(u-g,u+g,m);a.setColorZone(f),s.push(f)}return this._colorZonesInvalid=!1,s.sort(Nb.compare),s}}class Mb extends Zp{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=rd(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new Tb((e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(59)),this._zoneManager.setPixelRatio(i.get(129)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(59)&&(this._zoneManager.setLineHeight(t.get(59)),this._render()),e.hasChanged(129)&&(this._zoneManager.setPixelRatio(t.get(129)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),o=this._domNode.domNode.getContext("2d");return o.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(o,i,n,e),!0}_renderOneLane(e,t,i,n){let o=0,s=0,r=0;for(const a of t){const t=a.colorId,l=a.from,c=a.to;t!==o?(e.fillRect(0,s,n,r-s),o=t,e.fillStyle=i[o],s=l,r=c):r>=l?r=Math.max(r,c):(e.fillRect(0,s,n,r-s),s=l,r=c)}e.fillRect(0,s,n,r-s)}}var Rb=i(7830),Pb={};Pb.styleTagTransform=p(),Pb.setAttributes=d(),Pb.insert=l().bind(null,"head"),Pb.domAPI=r(),Pb.insertStyleElement=u(),o()(Rb.Z,Pb),Rb.Z&&Rb.Z.locals&&Rb.Z.locals;class Ab extends Gp{constructor(e){super(e),this.domNode=rd(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const e=rd(document.createElement("div"));e.setClassName("view-ruler"),e.setWidth(n),this.domNode.appendChild(e),this._renderedRulers.push(e),o--}return}let i=e-t;for(;i>0;){const e=this._renderedRulers.pop();this.domNode.removeChild(e),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t{const i=e.getColor(Sf);i&&t.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${i} inset; }`)}));var Ob=i(6748),Fb={};Fb.styleTagTransform=p(),Fb.setAttributes=d(),Fb.insert=l().bind(null,"head"),Fb.domAPI=r(),Fb.insertStyleElement=u(),o()(Ob.Z,Fb),Ob.Z&&Ob.Z.locals&&Ob.Z.locals;class Wb extends Gp{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const t=this._context.configuration.options.get(92);this._useShadows=t.useShadows,this._domNode=rd(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){const e=this._context.configuration.options.get(131);0===e.minimap.renderMinimap||e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?this._width=e.width:this._width=e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}onConfigurationChanged(e){const t=this._context.configuration.options.get(92);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}br(((e,t)=>{const i=e.getColor(su);i&&t.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${i} 0 6px 6px -6px inset; }`)}));var Bb=i(7660),Vb={};Vb.styleTagTransform=p(),Vb.setAttributes=d(),Vb.insert=l().bind(null,"head"),Vb.domAPI=r(),Vb.insertStyleElement=u(),o()(Bb.Z,Vb),Bb.Z&&Bb.Z.locals&&Bb.Z.locals;class Hb{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class zb{constructor(e,t){this.lineNumber=e,this.ranges=t}}function jb(e){return new Hb(e)}function qb(e){return new zb(e.lineNumber,e.ranges.map(jb))}class Kb extends lf{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._lineHeight=t.get(59),this._roundedSelection=t.get(90),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._lineHeight=t.get(59),this._roundedSelection=t.get(90),this._typicalHalfwidthCharacterWidth=t.get(44).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const n=this._typicalHalfwidthCharacterWidth/4;let o=null,s=null;if(i&&i.length>0&&t.length>0){const n=t[0].lineNumber;if(n===e.startLineNumber)for(let e=0;!o&&e=0;e--)i[e].lineNumber===r&&(s=i[e].ranges[0]);o&&!o.startStyle&&(o=null),s&&!s.startStyle&&(s=null)}for(let e=0,i=t.length;e0){const i=t[e-1].ranges[0].left,o=t[e-1].ranges[0].left+t[e-1].ranges[0].width;Ub(a-i)i&&(c.top=1),Ub(l-o)'}_actualRenderOneSelection(e,t,i,n){if(0===n.length)return;const o=!!n[0].ranges[0].startStyle,s=this._lineHeight.toString(),r=(this._lineHeight-1).toString(),a=n[0].lineNumber,l=n[n.length-1].lineNumber;for(let c=0,d=n.length;c1,r)}this._previousFrameVisibleRangesWithStyle=o,this._renderResult=t.map((([e,t])=>e+t))}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function Ub(e){return e<0?-e:e}Kb.SELECTION_CLASS_NAME="selected-text",Kb.SELECTION_TOP_LEFT="top-left-radius",Kb.SELECTION_BOTTOM_LEFT="bottom-left-radius",Kb.SELECTION_TOP_RIGHT="top-right-radius",Kb.SELECTION_BOTTOM_RIGHT="bottom-right-radius",Kb.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",Kb.ROUNDED_PIECE_WIDTH=10,br(((e,t)=>{const i=e.getColor(Ou);i&&t.addRule(`.monaco-editor .focused .selected-text { background-color: ${i}; }`);const n=e.getColor(Wu);n&&t.addRule(`.monaco-editor .selected-text { background-color: ${n}; }`);const o=e.getColor(Fu);o&&!o.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${o}; }`)}));var $b=i(4274),Zb={};Zb.styleTagTransform=p(),Zb.setAttributes=d(),Zb.insert=l().bind(null,"head"),Zb.domAPI=r(),Zb.insertStyleElement=u(),o()($b.Z,Zb),$b.Z&&$b.Z.locals&&$b.Z.locals;class Gb{constructor(e,t,i,n,o,s){this.top=e,this.left=t,this.width=i,this.height=n,this.textContent=o,this.textContentClassName=s}}class Yb{constructor(e){this._context=e;const t=this._context.configuration.options,i=t.get(44);this._cursorStyle=t.get(24),this._lineHeight=t.get(59),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=rd(document.createElement("div")),this._domNode.setClassName("cursor monaco-mouse-cursor-text"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),jd(this._domNode,i),this._domNode.setDisplay("none"),this._position=new Do(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(44);return this._cursorStyle=t.get(24),this._lineHeight=t.get(59),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),jd(this._domNode,i),!0}onCursorPositionChanged(e){return this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[n,o]=function(e,t){t>0&&us(e.charCodeAt(t))&&t--;const i=t+_s(e,t);return[i-vs(e,i),i]}(i,t-1);return[new Do(e,n+1),i.substring(n,o)]}_prepareRender(e){let t="";const[i,n]=this._getGraphemeAwarePosition();if(this._cursorStyle===xd.Line||this._cursorStyle===xd.LineThin){const o=e.visibleRangeForPosition(i);if(!o||o.outsideRenderedLine)return null;let s;this._cursorStyle===xd.Line?(s=so(this._lineCursorWidth>0?this._lineCursorWidth:2),s>2&&(t=n)):s=so(1);let r=o.left;s>=2&&r>=1&&(r-=1);const a=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta;return new Gb(a,r,s,this._lineHeight,t,"")}const o=e.linesVisibleRangesForRange(new ia(i.lineNumber,i.column,i.lineNumber,i.column+n.length),!1);if(!o||0===o.length)return null;const s=o[0];if(s.outsideRenderedLine||0===s.ranges.length)return null;const r=s.ranges[0],a=r.width<1?this._typicalHalfwidthCharacterWidth:r.width;let l="";if(this._cursorStyle===xd.Block){const e=this._context.viewModel.getViewLineData(i.lineNumber);t=n;const o=e.tokens.findTokenIndexAtOffset(i.column-1);l=e.tokens.getClassName(o)}let c=e.getVerticalOffsetForLineNumber(i.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return this._cursorStyle!==xd.Underline&&this._cursorStyle!==xd.UnderlineThin||(c+=this._lineHeight-2,d=2),new Gb(c,r.left,a,d,t,l)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor monaco-mouse-cursor-text ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class Xb extends Gp{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(81),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new Yb(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=rd(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new oi,this._cursorFlatBlinkInterval=new si,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(81),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,i=this._secondaryCursors.length;tt.length){const e=this._secondaryCursors.length-t.length;for(let t=0;t{for(let i=0,n=e.ranges.length;i{this._isVisible?this._hide():this._show()}),Xb.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),Xb.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case xd.Line:e+=" cursor-line-style";break;case xd.Block:e+=" cursor-block-style";break;case xd.Underline:e+=" cursor-underline-style";break;case xd.LineThin:e+=" cursor-line-thin-style";break;case xd.BlockOutline:e+=" cursor-block-outline-style";break;case xd.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return this._cursorSmoothCaretAnimation&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const i=e.getColor(mf);if(i){let n=e.getColor(ff);n||(n=i.opposite()),t.addRule(`.monaco-editor .inputarea.ime-input { caret-color: ${i}; }`),t.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${i}; border-color: ${i}; color: ${n}; }`),"hc"===e.type&&t.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${n}; border-right: 1px solid ${n}; }`)}}));const Jb=()=>{throw new Error("Invalid change accessor")};class Qb extends Gp{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(131);this._lineHeight=t.get(59),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=rd(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=rd(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const i of e)t.set(i.id,i);let i=!1;return this._context.viewModel.changeWhitespace((e=>{const n=Object.keys(this._zones);for(let o=0,s=n.length;o{const n={addZone:e=>(t=!0,this._addZone(i,e)),removeZone:e=>{e&&(t=this._removeZone(i,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(i,e)||t)}};!function(e,t){try{e(t)}catch(e){w(e)}}(e,n),n.addZone=Jb,n.removeZone=Jb,n.layoutZone=Jb})),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),n={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:rd(t.domNode),marginDomNode:t.marginDomNode?rd(t.marginDomNode):null};return this._safeCallOnComputedHeight(n.delegate,i.heightInPx),n.domNode.setPosition("absolute"),n.domNode.domNode.style.width="100%",n.domNode.setDisplay("none"),n.domNode.setAttribute("monaco-view-zone",n.whitespaceId),this.domNode.appendChild(n.domNode),n.marginDomNode&&(n.marginDomNode.setPosition("absolute"),n.marginDomNode.domNode.style.width="100%",n.marginDomNode.setDisplay("none"),n.marginDomNode.setAttribute("monaco-view-zone",n.whitespaceId),this.marginDomNode.appendChild(n.marginDomNode)),this._zones[n.whitespaceId]=n,this.setShouldRender(),n.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.parentNode.removeChild(i.domNode.domNode),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.parentNode.removeChild(i.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],n=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=n.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,n.afterViewLineNumber,n.heightInPx),this._safeCallOnComputedHeight(i.delegate,n.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){if(this._zones.hasOwnProperty(e)){const t=this._zones[e];return Boolean(t.delegate.suppressMouseDown)}return!1}_heightInPixels(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){w(e)}}_safeCallOnDomNodeTop(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){w(e)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let n=!1;for(const e of t)this._zones[e.id].isInHiddenArea||(i[e.id]=e,n=!0);const o=Object.keys(this._zones);for(let t=0,n=o.length;t{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new Tm(e,t)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Do(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const e=this._context.configuration.options.get(131);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(128)+" "+fr(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){null===this._renderAnimationFrame&&(this._renderAnimationFrame=fn(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){!function(e){try{e()}catch(e){w(e)}}((()=>this._actualRender()))}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_actualRender(){if(!an(this.domNode.domNode))return;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===e.length)return;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new iC(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender());const n=new Xp(this._context.viewLayout,i,this._viewLines);for(const t of e)t.prepareRender(n);for(const t of e)t.render(n),t.onDidRender()}delegateVerticalScrollbarMouseDown(e){this._scrollbar.delegateVerticalScrollbarMouseDown(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop},1),this._context.viewModel.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},1)}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),n=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const o=this._viewLines.visibleRangeForPosition(new Do(n.lineNumber,n.column));return o?o.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?L_.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new Mb(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){let t=e.position&&e.position.range||null;if(null===t){const i=e.position?e.position.position:null;null!==i&&(t=new ia(i.lineNumber,i.column,i.lineNumber,i.column))}const i=e.position?e.position.preference:null;this._contentWidgets.setWidgetPosition(e.widget,t,i),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}}class oC{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new fa(new ia(1,1,1,1),0,new Do(1,1),0),new fa(new ia(1,1,1,1),0,new Do(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new ga(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return na.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,n){return t.equals(i)?n:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,n=t.selectionStart.getStartPosition(),o=t.selectionStart.getEndPosition(),s=e.normalizePosition(i,2),r=this._validatePositionWithCache(e,n,i,s),a=this._validatePositionWithCache(e,o,n,r);return i.equals(s)&&n.equals(r)&&o.equals(a)?t:new fa(ia.fromPositions(r,a),t.selectionStartLeftoverVisibleColumns+n.column-r.column,s,t.leftoverVisibleColumns+i.column-s.column)}_setState(e,t,i){if(i&&(i=oC._validateViewState(e.viewModel,i)),t){const i=e.model.validateRange(t.selectionStart),n=t.selectionStart.equalsRange(i)?t.selectionStartLeftoverVisibleColumns:0,o=e.model.validatePosition(t.position),s=t.position.equals(o)?t.leftoverVisibleColumns:0;t=new fa(i,n,o,s)}else{if(!i)return;const n=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),o=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new fa(n,i.selectionStartLeftoverVisibleColumns,o,i.leftoverVisibleColumns)}if(i){const n=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),o=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new fa(n,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const n=e.coordinatesConverter.convertModelPositionToViewPosition(new Do(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new Do(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new ia(n.lineNumber,n.column,o.lineNumber,o.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new fa(s,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class sC{constructor(e){this.context=e,this.cursors=[new oC(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((e=>e.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((e=>e.asCursorState()))}getViewPositions(){return this.cursors.map((e=>e.viewState.position))}getTopMostViewPosition(){return(e=this.cursors,t=_l((e=>e.viewState.position),Do.compare),bl(e,((e,i)=>-t(e,i)))).viewState.position;var e,t}getBottomMostViewPosition(){return function(e,t){if(0===e.length)return;let i=e[0];for(let n=1;n=0&&(i=o)}return i}(this.cursors,_l((e=>e.viewState.position),Do.compare)).viewState.position}getSelections(){return this.cursors.map((e=>e.modelState.selection))}getViewSelections(){return this.cursors.map((e=>e.viewState.selection))}setSelections(e){this.setStates(ga.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){null!==e&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const e=t-i;for(let t=0;t=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(1===this.cursors.length)return;const e=this.cursors.slice(0),t=[];for(let i=0,n=e.length;ie.selection),ia.compareRangesUsingStarts));for(let i=0;ia&&e.index--;e.splice(a,1),t.splice(r,1),this._removeSecondaryCursor(a-1),i--}}}}class rC{constructor(e,t,i,n){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=n}}class aC{constructor(){this.changeType=1}}class lC{constructor(e,t,i,n,o){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=o}static applyInjectedText(e,t){if(!t||0===t.length)return e;let i="",n=0;for(const o of t)i+=e.substring(n,o.column-1),n=o.column-1,i+=o.options.content;return i+=e.substring(n),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new lC(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new lC(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}}class cC{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class dC{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class hC{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class uC{constructor(){this.changeType=5}}class gC{constructor(e,t,i,n){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=n,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class AC{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class OC{constructor(e,t,i,n){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=n,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}merge(e){return 0!==e.kind?this:new OC(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class FC{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}merge(e){return 1!==e.kind?this:new FC(this.oldHasFocus,e.hasFocus)}}class WC{constructor(e,t,i,n,o,s,r,a){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=n,this.scrollWidth=o,this.scrollLeft=s,this.scrollHeight=r,this.scrollTop=a,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}merge(e){return 2!==e.kind?this:new WC(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class BC{constructor(){this.kind=3}isNoOp(){return!1}merge(e){return this}}class VC{constructor(e,t,i,n,o,s,r){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=n,this.source=o,this.reason=s,this.reachedMaxCursorCount=r}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length;if(i!==t.length)return!1;for(let n=0;n0){const e=this._cursors.getSelections();for(let t=0;tzC.MAX_CURSOR_COUNT&&(n=n.slice(0,zC.MAX_CURSOR_COUNT),o=!0);const s=jC.from(this._model,this);return this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,s,o)}setCursorColumnSelectData(e){this._columnSelectData=e}revealPrimary(e,t,i,n,o,s){const r=this._cursors.getViewPositions();let a=null,l=null;r.length>1?l=this._cursors.getViewSelections():a=ia.fromPositions(r[0],r[0]),e.emitViewEvent(new EC(t,i,a,l,n,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,n=t.length;i0){const i=ga.fromModelSelections(t.resultingSelection);this.setStates(e,"modelChange",t.isUndoing?5:t.isRedoing?6:2,i)&&this.revealPrimary(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,ga.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,n){this.setStates(e,t,n,ga.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],n=[];for(let o=0,s=e.length;o0&&(s[0]._isTracked=!0);let r=e.model.pushEditOperations(e.selectionsBefore,s,(i=>{const n=[];for(let t=0;te.identifier.minor-t.identifier.minor,s=[];for(let i=0;i0?(n[i].sort(o),s[i]=t[i].computeCursorState(e.model,{getInverseEditOperations:()=>n[i],getTrackedSelection:t=>{const i=parseInt(t,10),n=e.model._getTrackedRange(e.trackedRanges[i]);return 0===e.trackedRangesDirection[i]?new na(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new na(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):s[i]=e.selectionsBefore[i];return s}));r||(r=e.selectionsBefore);const a=[];for(let e in o)o.hasOwnProperty(e)&&a.push(parseInt(e,10));a.sort(((e,t)=>t-e));for(const e of a)r.splice(e,1);return r}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{ia.isEmpty(e)&&""===s||n.push({identifier:{major:t,minor:o++},range:e,text:s,forceMoveMarkers:r,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let r=!1;const a={addEditOperation:s,addTrackedEditOperation:(e,t,i)=>{r=!0,s(e,t,i)},trackSelection:(t,i)=>{const n=na.liftSelection(t);let o;if(n.isEmpty())if("boolean"==typeof i)o=i?2:3;else{const t=e.model.getLineMaxColumn(n.startLineNumber);o=n.startColumn===t?2:3}else o=1;const s=e.trackedRanges.length,r=e.model._setTrackedRange(null,n,o);return e.trackedRanges[s]=r,e.trackedRangesDirection[s]=n.getDirection(),s.toString()}};try{i.getEditOperations(e.model,a)}catch(e){return w(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-ia.compareRangesUsingEnds(e.range,t.range)));const t={};for(let i=1;io.identifier.major?n.identifier.major:o.identifier.major,t[s.toString()]=!0;for(let t=0;t0&&i--}}return t}}.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(t){this._interpretCommandResult(t);const i=[],n=[];for(let t=0;t0&&this._pushAutoClosedAction(i,n),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,n,o){const s=jC.from(this._model,this);if(s.equals(n))return!1;const r=this._cursors.getSelections(),a=this._cursors.getViewSelections();if(e.emitViewEvent(new bC(a,r)),!n||n.cursorState.length!==s.cursorState.length||s.cursorState.some(((e,t)=>!e.modelState.equals(n.cursorState[t].modelState)))){const a=n?n.cursorState.map((e=>e.modelState.selection)):null,l=n?n.modelVersionId:0;e.emitOutgoingEvent(new VC(a,r,l,s.modelVersionId,t||"keyboard",i,o))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,n=e.length;i=0)return null;const o=n.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!o)return null;const s=o[1],r=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(s);if(!r||1!==r.length)return null;const a=r[0].open,l=n.text.length-o[2].length-1,c=n.text.lastIndexOf(a,l-1);if(-1===c)return null;t.push([c,l])}return t}executeEdits(e,t,i,n){let o=null;"snippet"===t&&(o=this._findAutoClosingPairs(i)),o&&(i[0]._isTracked=!0);const s=[],r=[],a=this._model.pushEditOperations(this.getSelections(),i,(e=>{if(o)for(let t=0,i=o.length;t0&&this._pushAutoClosedAction(s,r)}_executeEdit(e,t,i,n=0){if(this.context.cursorConfig.readOnly)return;const o=jC.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){w(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,o,!1)&&this.revealPrimary(t,i,!1,0,!0,0)}setIsDoingComposition(e){this._isDoingComposition=e}getAutoClosedCharacters(){return qC.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._selectionsWhenCompositionStarted=this.getSelections().slice(0)}endComposition(e,t){this._executeEdit((()=>{"keyboard"===t&&(this._executeEditOperation(Lc.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this._selectionsWhenCompositionStarted,this.getSelections(),this.getAutoClosedCharacters())),this._selectionsWhenCompositionStarted=null)}),e,t)}type(e,t,i){this._executeEdit((()=>{if("keyboard"===i){const e=t.length;let i=0;for(;i{this._executeEditOperation(Lc.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,n,o))}),e,s);else if(0!==o){const t=this.getSelections().map((e=>{const t=e.getPosition();return new na(t.lineNumber,t.column+o,t.lineNumber,t.column+o)}));this.setSelections(e,s,t,0)}}paste(e,t,i,n,o){this._executeEdit((()=>{this._executeEditOperation(Lc.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]))}),e,o,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(Ea.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,i){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new _a(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}executeCommands(e,t,i){this._executeEdit((()=>{this._executeEditOperation(new _a(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}}zC.MAX_CURSOR_COUNT=1e4;class jC{constructor(e,t){this.modelVersionId=e,this.cursorState=t}static from(e,t){return new jC(e.getVersionId(),t.getCursorStates())}equals(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length)return!1;if(!t[i].strictContainsRange(e[i]))return!1}return!0}}class KC{constructor(e,t,i,n,o,s){this.id=e,this.label=t,this.alias=i,this._precondition=n,this._run=o,this._contextKeyService=s}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}}const UC={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},$C="base.contributions.configuration",ZC={properties:{},patternProperties:{}},GC={properties:{},patternProperties:{}},YC={properties:{},patternProperties:{}},XC={properties:{},patternProperties:{}},JC={properties:{},patternProperties:{}},QC={properties:{},patternProperties:{}},ew="vscode://schemas/settings/resourceLanguage",tw=dr.as(bh),iw=new RegExp("\\[([^\\]]+)\\]","g"),nw="^(\\[([^\\]]+)\\])+$",ow=new RegExp(nw);function sw(e){const t=[];if(ow.test(e)){let i=iw.exec(e);for(;null==i?void 0:i.length;){const n=i[1].trim();n&&t.push(n),i=iw.exec(e)}}return al(t)}const rw=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Pe,this._onDidUpdateConfiguration=new Pe,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:b(0,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},tw.registerSchema(ew,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=this.doRegisterConfigurations(e,t);tw.registerSchema(ew,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){var t;const i=[],n=[];for(const{overrides:o,source:s}of e)for(const e in o)if(i.push(e),ow.test(e)){const i=Object.assign(Object.assign({},(null===(t=this.configurationDefaultsOverrides.get(e))||void 0===t?void 0:t.value)||{}),o[e]);this.configurationDefaultsOverrides.set(e,{source:s,value:i});const r={type:"object",default:i,description:b(0,"Configure settings to be overridden for {0} language.",e),$ref:ew,defaultDefaultValue:i,source:et(s)?void 0:s};n.push(...sw(e)),this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}else{this.configurationDefaultsOverrides.set(e,{value:o[e],source:s});const t=this.configurationProperties[e];t&&(this.updatePropertyDefaultValue(e,t),this.updateSchema(e,t))}this.registerOverrideIdentifiers(n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i,defaultsOverrides:!0})}registerOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t){const i=[];return e.forEach((e=>{i.push(...this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties)),this.configurationContributors.push(e),this.registerJSONConfiguration(e)})),i}validateAndRegisterProperties(e,t=!0,i,n,o=3){o=at(e.scope)?o:e.scope;let s=[],r=e.properties;if(r)for(let e in r){if(t&&aw(e)){delete r[e];continue}const a=r[e];a.source=i,a.defaultDefaultValue=r[e].default,this.updatePropertyDefaultValue(e,a),ow.test(e)?a.scope=void 0:(a.scope=at(a.scope)?o:a.scope,a.restricted=at(a.restricted)?!!(null==n?void 0:n.includes(e)):a.restricted),!r[e].hasOwnProperty("included")||r[e].included?(this.configurationProperties[e]=r[e],!r[e].deprecationMessage&&r[e].markdownDeprecationMessage&&(r[e].deprecationMessage=r[e].markdownDeprecationMessage),s.push(e)):(this.excludedConfigurationProperties[e]=r[e],delete r[e])}let a=e.allOf;if(a)for(let e of a)s.push(...this.validateAndRegisterProperties(e,t,i,n,o));return s}getConfigurationProperties(){return this.configurationProperties}registerJSONConfiguration(e){const t=e=>{let i=e.properties;if(i)for(const e in i)this.updateSchema(e,i[e]);let n=e.allOf;n&&n.forEach(t)};t(e)}updateSchema(e,t){switch(ZC.properties[e]=t,t.scope){case 1:GC.properties[e]=t;break;case 2:YC.properties[e]=t;break;case 6:XC.properties[e]=t;break;case 3:JC.properties[e]=t;break;case 4:QC.properties[e]=t;break;case 5:QC.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:b(0,"Configure editor settings to be overridden for a language."),errorMessage:b(0,"This setting does not support per-language configuration."),$ref:ew};this.updatePropertyDefaultValue(t,i),ZC.properties[t]=i,GC.properties[t]=i,YC.properties[t]=i,XC.properties[t]=i,JC.properties[t]=i,QC.properties[t]=i}this._onDidSchemaChange.fire()}registerOverridePropertyPatternKey(){const e={type:"object",description:b(0,"Configure editor settings to be overridden for a language."),errorMessage:b(0,"This setting does not support per-language configuration."),$ref:ew};ZC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,GC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,YC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,XC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,JC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,QC.patternProperties["^(\\[([^\\]]+)\\])+$"]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let n=null==i?void 0:i.value,o=null==i?void 0:i.source;st(n)&&(n=t.defaultDefaultValue,o=void 0),st(n)&&(n=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=n,t.defaultValueSource=o}};function aw(e){return e.trim()?ow.test(e)?b(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==rw.getConfigurationProperties()[e]?b(0,"Cannot register '{0}'. This property is already registered.",e):null:b(0,"Cannot register an empty property")}dr.add($C,rw);const lw=new class{constructor(){this._onDidChangeLanguages=new Pe,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0),dr.as($C).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1}}}]);class dw{constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}static createEmpty(e,t){const i=dw.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new dw(n,e,t)}equals(e){return e instanceof dw&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,i){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const n=t<<1,o=n+(i<<1);for(let t=n;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],i=__.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return __.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return __.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return __.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[1+(e<<1)];return __.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return __.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return dw.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new hw(this,e,t,i)}static convertToEndOffset(e,t){const i=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;it&&(n=o)}return i}withInserted(e){if(0===e.length)return this;let t=0,i=0,n="";const o=new Array;let s=0;for(;;){const r=ts){n+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];o.push(n.length,e),s=a.offset}n+=a.text,o.push(n.length,a.tokenMetadata),i++}}return new dw(new Uint32Array(o),n,this._languageIdCodec)}}dw.defaultTokenMetadata=16793600;class hw{constructor(e,t,i,n){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let t=this._firstTokenIndex,n=e.getCount();t=i);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof hw&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}const uw=new class{clone(){return this}equals(e){return this===e}};function gw(e,t){return new b_([new v_(0,"",e)],t)}function pw(e,t){const i=new Uint32Array(2);return i[0]=0,i[1]=(16384|e<<0|2<<23)>>>0,new C_(i,null===t?uw:t)}const mw={getInitialState:()=>uw,tokenizeEncoded:(e,t,i)=>pw(0,i)};function fw(e,t,i,n,o,s,r){let a="
    ",l=n,c=0,d=!0;for(let h=0,u=t.getCount();h0;)r&&d?(g+=" ",d=!1):(g+=" ",d=!0),e--;break}case 60:g+="<",d=!1;break;case 62:g+=">",d=!1;break;case 38:g+="&",d=!1;break;case 0:g+="�",d=!1;break;case 65279:case 8232:case 8233:case 133:g+="�",d=!1;break;case 13:g+="​",d=!1;break;case 32:r&&d?(g+=" ",d=!1):(g+=" ",d=!0);break;default:g+=String.fromCharCode(t),d=!1}}if(a+=`${g}`,u>o||l>=o)break}return a+="
    ",a}function _w(e,t,i){let n='
    ';const o=Xo(e);let s=i.getInitialState();for(let e=0,r=o.length;e0&&(n+="
    ");const a=i.tokenizeEncoded(r,!0,s);dw.convertToEndOffset(a.tokens,r.length);const l=new dw(a.tokens,r,t).inflate();let c=0;for(let e=0,t=l.getCount();e${qo(r.substring(c,i))}`,c=i}s=a.endState}return n+="
    ",n}class vw{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const t=this._inserts,i=this._changes,n=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,i,n)}}class bw{constructor(e,t,i,n,o){this.id=e,this.afterLineNumber=t,this.ordinal=i,this.height=n,this.minWidth=o,this.prefixSum=0}}class Cw{constructor(e,t,i,n){this._instanceId=Ns(++Cw.INSTANCE_COUNT),this._pendingChanges=new vw,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=i,this._paddingBottom=n}static findInsertionIndex(e,t,i){let n=0,o=e.length;for(;n>>1;t===e[s].afterLineNumber?i{t=!0,e|=0,i|=0,n|=0,o|=0;const s=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new bw(s,e,i,n,o)),s},changeOneWhitespace:(e,i,n)=>{t=!0,i|=0,n|=0,this._pendingChanges.change({id:e,newAfterLineNumber:i,newHeight:n})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const t of e)this._insertWhitespace(t);for(const e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(const e of i){const t=this._findWhitespaceIndex(e.id);-1!==t&&this._removeWhitespace(t)}return}const n=new Set;for(const e of i)n.add(e.id);const o=new Map;for(const e of t)o.set(e.id,e);const s=e=>{const t=[];for(const i of e)if(!n.has(i.id)){if(o.has(i.id)){const e=o.get(i.id);i.afterLineNumber=e.newAfterLineNumber,i.height=e.newHeight}t.push(i)}return t},r=s(this._arr).concat(s(e));r.sort(((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=Cw.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,n=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let i=0,n=this._arr.length;i=t.length||t[o+1].afterLineNumber>=e)return o;i=o+1|0}else n=o-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;const t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0,t+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e)+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let e=0;for(let t=0,i=this._arr.length;tthis.getLinesTotalHeight()}isInTopPadding(e){return 0!==this._paddingTop&&(this._checkPendingChanges(),e=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;const t=0|this._lineCount,i=this._lineHeight;let n=1,o=t;for(;n=s+i)n=t+1;else{if(e>=s)return t;o=t}}return n>t?t:n}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this._lineHeight,n=0|this.getLineNumberAtOrAfterVerticalOffset(e),o=0|this.getVerticalOffsetForLineNumber(n);let s=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(n);const a=0|this.getWhitespacesCount();let l,c;-1===r?(r=a,c=s+1,l=0):(c=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));let d=o,h=d;const u=5e5;let g=0;o>=u&&(g=Math.floor(o/u)*u,g=Math.floor(g/i)*i,h-=g);const p=[],m=e+(t-e)/2;let f=-1;for(let e=n;e<=s;e++){if(-1===f){const t=d,n=d+i;(t<=m&&mm)&&(f=e)}for(d+=i,p[e-n]=h,h+=i;c===e;)h+=l,d+=l,r++,r>=a?c=s+1:(c=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));if(d>=t){s=e;break}}-1===f&&(f=s);const _=0|this.getVerticalOffsetForLineNumber(s);let v=n,b=s;return vt&&b--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:s,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i,n;return i=t>=1?this._lineHeight*t:0,n=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,i+n+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this.getHeightForWhitespaceIndex(i))return-1;for(;t=o+this.getHeightForWhitespaceIndex(n))t=n+1;else{if(e>=o)return n;i=n}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const n=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:i,height:n}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this.getWhitespacesCount()-1;if(i<0)return[];const o=[];for(let e=i;e<=n;e++){const i=this.getVerticalOffsetForWhitespaceIndex(e),n=this.getHeightForWhitespaceIndex(e);if(i>=t)break;o.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:i,height:n})}return o}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}}Cw.INSTANCE_COUNT=0;class ww{constructor(e,t,i,n){(e|=0)<0&&(e=0),(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(n|=0)<0&&(n=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=n,this.scrollHeight=Math.max(i,n)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class yw extends B{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Pe),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new ww(0,0,0,0),this._scrollable=this._register(new iv({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,n=t.contentHeight!==e.contentHeight;(i||n)&&this._onDidContentSizeChange.fire(new OC(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}}class Sw extends B{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,o=n.get(131),s=n.get(75);this._linesLayout=new Cw(t,n.get(59),s.top,s.bottom),this._scrollable=this._register(new yw(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new ww(o.contentWidth,0,o.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(103)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(59)&&this._linesLayout.setLineHeight(t.get(59)),e.hasChanged(75)){const e=t.get(75);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(131)){const e=t.get(131),i=e.contentWidth,n=e.height,o=this._scrollable.getScrollDimensions(),s=o.contentWidth;this._scrollable.setScrollDimensions(new ww(i,o.contentWidth,n,this._getContentHeight(i,n,s)))}else this._updateHeight();e.hasChanged(103)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const i=this._configuration.options.get(92);return 2===i.horizontal||e>=t?0:i.horizontalScrollbarSize}_getContentHeight(e,t,i){const n=this._configuration.options;let o=this._linesLayout.getLinesTotalHeight();return n.get(94)?o+=Math.max(0,t-n.get(59)-n.get(75).bottom):o+=this._getHorizontalScrollbarHeight(e,i),o}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,n=e.contentWidth;this._scrollable.setScrollDimensions(new ww(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Uv(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Uv(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(e){const t=this._configuration.options,i=t.get(132),n=t.get(44);if(i.isViewportWrapping){const i=t.get(131),o=t.get(65);return e>i.contentWidth+n.typicalHalfwidthCharacterWidth&&o.enabled&&"right"===o.side?e+i.verticalScrollbarWidth:e}{const i=t.get(93)*n.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+i,o)}}setMaxLineWidth(e){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new ww(t.width,this._computeContentWidth(e),t.height,t.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i),scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){1===t?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class xw{constructor(e,t,i,n,o){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=n,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const n=e.range,o=e.options;let s;if(o.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new Do(n.startLineNumber,1),0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new Do(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)),1);s=new ia(e.lineNumber,e.column,t.lineNumber,t.column)}else s=this._coordinatesConverter.convertModelRangeToViewRange(n,1);i=new Jv(s,o),this._decorationsCache[t]=i}return i}getDecorationsViewportData(e){let t=null!==this._cachedModelDecorationsResolver;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}_getDecorationsViewportData(e){const t=this._linesCollection.getDecorationsInRange(e,this.editorId,Ed(this.configuration.options)),i=e.startLineNumber,n=e.endLineNumber,o=[];let s=0;const r=[];for(let e=i;e<=n;e++)r[e-i]=[];for(let e=0,a=t.length;e1===e))}function Lw(e,t){return Ew(e,t.range,(e=>2===e))}function Ew(e,t,i){for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const o=e.getLineTokens(n),s=n===t.startLineNumber,r=n===t.endLineNumber;let a=s?o.findTokenIndexAtOffset(t.startColumn-1):0;for(;at.endColumn-1);){if(!i(o.getStandardTokenType(a)))return!1;a++}}return!0}class Nw{constructor(e,t,i){this.range=e,this.nestingLevel=t,this.isInvalid=i}}class Iw extends class{constructor(e,t,i,n){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n}}{constructor(e,t,i,n,o){super(e,t,i,n),this.minVisibleColumnIndentation=o}}class Tw{constructor(e,t){this.lineCount=e,this.columnCount=t}toString(){return`${this.lineCount},${this.columnCount}`}}Tw.zero=new Tw(0,0);const Mw=Math.pow(2,26);function Rw(e,t){return e*Mw+t}function Pw(e){const t=e,i=Math.floor(t/Mw);return new Tw(i,t-i*Mw)}function Aw(e,t){return t=t}function Bw(e){return Rw(e.lineNumber-1,e.column-1)}function Vw(e,t){const i=e,n=Math.floor(i/Mw),o=i-n*Mw,s=t,r=Math.floor(s/Mw);return new ia(n+1,o+1,r+1,s-r*Mw+1)}class Hw{constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}}class zw{constructor(e,t){this.documentLength=t,this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>jw.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx];return function(e,t){const i=e,n=t;if(n-i<=0)return 0;const o=Math.floor(i/Mw),s=Math.floor(n/Mw),r=n-s*Mw;return o===s?Rw(0,r-(i-o*Mw)):Rw(s-o,r)}(e,t?this.translateOldToCur(t.offsetObj):this.documentLength)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?Rw(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):Rw(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=Pw(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?Rw(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):Rw(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(0===n){const e=1<e};class $w{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class Zw{constructor(e){this._length=e}get length(){return this._length}}class Gw extends Zw{constructor(e,t,i,n,o){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=o}static create(e,t,i){let n=e.length;return t&&(n=Aw(n,t.length)),i&&(n=Aw(n,i.length)),new Gw(n,e,t,i,t?t.missingOpeningBracketIds:Kw.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=new Array;return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new Gw(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(Aw(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class Yw extends Zw{constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}static create23(e,t,i,n=!1){let o=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=Aw(o,t.length),s=s.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");o=Aw(o,i.length),s=s.merge(i.missingOpeningBracketIds)}return n?new Jw(o,e.listHeight+1,e,t,i,s):new Xw(o,e.listHeight+1,e,t,i,s)}static getEmpty(){return new ey(0,0,[],Kw.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;let t,i=this;for(;4===i.kind&&(t=i.childrenLength)>0;)i=i.getChild(t-1);return i.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;nthis.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const n=this.lineTokens,o=n.getCount();let s=null;if(this.lineTokenOffset1e3)break}if(i>1500)break}const n=(o=e,s=t,r=this.lineIdx,a=this.lineCharOffset,o!==r?Rw(r-o,a):Rw(0,a-s));var o,s,r,a;return new ry(n,0,-1,Kw.getEmpty(),new ny(n))}}class cy{constructor(e,t){this.text=e,this._offset=0,this.idx=0;const i=t.getRegExpStr()?new RegExp(t.getRegExpStr()+"|\n","g"):null,n=[];let o,s=0,r=0,a=0,l=0;const c=new Array;for(let e=0;e<60;e++)c.push(new ry(Rw(0,e),0,-1,Kw.getEmpty(),new ny(Rw(0,e))));const d=new Array;for(let e=0;e<60;e++)d.push(new ry(Rw(1,e),0,-1,Kw.getEmpty(),new ny(Rw(1,e))));if(i)for(i.lastIndex=0;null!==(o=i.exec(e));){const e=o.index,i=o[0];if("\n"===i)s++,r=e+1;else{if(a!==e){let t;if(l===s){const i=e-a;if(ifunction(e){const t=Ko(e);return/^[\w ]+$/.test(e)?`\\b${t}\\b`:t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"g"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e)}findClosingTokenText(e){for(const[t,i]of this.map)if(i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class hy{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){const t=this.languageIdToBracketTokens.get(e);if(!t)return!1;const i=dy.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider).getRegExpStr();return t.getRegExpStr()!==i}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=dy.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function uy(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){const n=i>>1;for(let o=0;o=3?e[2]:null,t)}function gy(e,t){return Math.abs(e.listHeight-t.listHeight)}function py(e,t){return e.listHeight===t.listHeight?Yw.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let i=e=e.toMutable();const n=new Array;let o;for(;;){if(t.listHeight===i.listHeight){o=t;break}if(4!==i.kind)throw new Error("unexpected");n.push(i),i=i.makeLastElementMutable()}for(let e=n.length-1;e>=0;e--){const t=n[e];o?t.childrenLength>=3?o=Yw.create23(t.unappendChild(),o,null,!1):(t.appendChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Yw.create23(e,o,null,!1):e}(e,t):function(e,t){let i=e=e.toMutable();const n=new Array;for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw new Error("unexpected");n.push(i),i=i.makeFirstElementMutable()}let o=t;for(let e=n.length-1;e>=0;e--){const t=n[e];o?t.childrenLength>=3?o=Yw.create23(o,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(o),o=void 0):t.handleChildrenChanged()}return o?Yw.create23(o,e,null,!1):e}(t,e)}class my{constructor(e){this.lastOffset=0,this.nextNodes=[e],this.offsets=[0],this.idxs=[]}readLongestNodeAt(e,t){if(Ow(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=_y(this.nextNodes);if(!i)return;const n=_y(this.offsets);if(Ow(e,n))return;if(Ow(n,e))if(Aw(n,i.length)<=e)this.nextNodeAfterCurrent();else{const e=fy(i);-1!==e?(this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const e=fy(i);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=_y(this.offsets),t=_y(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const i=_y(this.nextNodes),n=fy(i,this.idxs[this.idxs.length-1]);if(-1!==n){this.nextNodes.push(i.getChild(n)),this.offsets.push(Aw(e,t.length)),this.idxs[this.idxs.length-1]=n;break}this.idxs.pop()}}}function fy(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function _y(e){return e.length>0?e[e.length-1]:void 0}function vy(e,t,i,n){return new by(e,t,i,n).parseDocument()}class by{constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw new Error("Not supported");this.oldNodeReader=i?new my(i):void 0,this.positionMapper=new zw(t,e.length)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Kw.getEmpty());return e||(e=Yw.getEmpty()),e}parseList(e){const t=new Array;for(;;){const i=this.tokenizer.peek();if(!i||2===i.kind&&i.bracketIds.intersects(e))break;const n=this.parseChild(e);4===n.kind&&0===n.childrenLength||t.push(n)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function i(){if(t>=e.length)return null;const i=t,n=e[i].listHeight;for(t++;t=2?uy(0===i&&t===e.length?e:e.slice(i,t),!1):e[i]}let n=i(),o=i();if(!o)return n;for(let e=i();e;e=i())gy(n,o)<=gy(o,e)?(n=py(n,o),o=e):o=py(o,e);return py(n,o)}(t):uy(t,this.createImmutableLists);return i}parseChild(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(0!==t){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(i=>!!Ow(i.length,t)&&i.canBeReused(e)));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}this._itemsConstructed++;const t=this.tokenizer.read();switch(t.kind){case 2:return new sy(t.bracketIds,t.length);case 0:return t.astNode;case 1:{const i=e.merge(t.bracketIds),n=this.parseList(i),o=this.tokenizer.peek();return o&&2===o.kind&&(o.bracketId===t.bracketId||o.bracketIds.intersects(t.bracketIds))?(this.tokenizer.read(),Gw.create(t.astNode,n,o.astNode)):Gw.create(t.astNode,n,null)}default:throw new Error("unexpected")}}}class Cy extends B{constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Pe,this.denseKeyProvider=new $w,this.brackets=new hy(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,0===e.backgroundTokenizationState){const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new cy(this.textModel.getValue(),e);this.initialAstWithoutTokens=vy(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}else 2===e.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):1===e.backgroundTokenizationState&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens)}didLanguageChange(e){return this.brackets.didLanguageChange(e)}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Hw(Rw(e.fromLineNumber-1,0),Rw(e.toLineNumber,0),Rw(e.toLineNumber-e.fromLineNumber+1,0))));this.astWithTokens=this.parseDocumentFromTextBuffer(t,this.astWithTokens,!1),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=e.changes.map((e=>{const t=ia.lift(e.range);return new Hw(Bw(t.getStartPosition()),Bw(t.getEndPosition()),function(e){const t=Xo(e);return Rw(t.length-1,t[t.length-1].length)}(e.text))})).reverse();this.astWithTokens=this.parseDocumentFromTextBuffer(t,this.astWithTokens,!1),this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(t,this.initialAstWithoutTokens,!1))}parseDocumentFromTextBuffer(e,t,i){const n=t;return vy(new ay(this.textModel,this.brackets),e,n,i)}getBracketsInRange(e){const t=Rw(e.startLineNumber-1,e.startColumn-1),i=Rw(e.endLineNumber-1,e.endColumn-1),n=new Array,o=this.initialAstWithoutTokens||this.astWithTokens;return wy(o,0,o.length,t,i,n),n}getBracketPairsInRange(e,t){const i=new Array,n=Bw(e.getStartPosition()),o=Bw(e.getEndPosition()),s=this.initialAstWithoutTokens||this.astWithTokens,r=new yy(i,t,this.textModel);return Sy(s,0,s.length,n,o,r),i}}function wy(e,t,i,n,o,s,r=0){if(4===e.kind)for(const a of e.children)i=Aw(t,a.length),Fw(t,o)&&Ww(i,n)&&wy(a,t,i,n,o,s,r),t=i;else if(2===e.kind){if(r++,i=Aw(t,e.openingBracket.length),Fw(t,o)&&Ww(i,n)){const n=Vw(t,i);s.push(new Nw(n,r-1,!e.closingBracket))}if(t=i,e.child){const a=e.child;i=Aw(t,a.length),Fw(t,o)&&Ww(i,n)&&wy(a,t,i,n,o,s,r),t=i}if(e.closingBracket){if(i=Aw(t,e.closingBracket.length),Fw(t,o)&&Ww(i,n)){const e=Vw(t,i);s.push(new Nw(e,r-1,!1))}t=i}}else if(3===e.kind){const e=Vw(t,i);s.push(new Nw(e,r-1,!0))}else if(1===e.kind){const e=Vw(t,i);s.push(new Nw(e,r-1,!1))}}class yy{constructor(e,t,i){this.result=e,this.includeMinIndentation=t,this.textModel=i}}function Sy(e,t,i,n,o,s,r=0){var a;if(2===e.kind){const n=Aw(t,e.openingBracket.length);let o=-1;s.includeMinIndentation&&(o=e.computeMinIndentation(t,s.textModel)),s.result.push(new Iw(Vw(t,i),Vw(t,n),e.closingBracket?Vw(Aw(n,(null===(a=e.child)||void 0===a?void 0:a.length)||0),i):void 0,r,o)),r++}let l=t;for(const t of e.children){const e=l;l=Aw(l,t.length),Fw(e,o)&&Fw(n,l)&&Sy(t,e,l,n,o,s,r)}}class xy extends B{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new V),this.onDidChangeEmitter=new Pe,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((e=>{var t;e.languageId&&!(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.didLanguageChange(e.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}get isDocumentSupported(){return this.textModel.getValueLength()<=5e6}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;null===(e=this.bracketPairsTree.value)||void 0===e||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.isDocumentSupported){if(!this.bracketPairsTree.value){const i=new W;this.bracketPairsTree.value=(e=i.add(new Cy(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=i,{object:e,dispose:()=>null==t?void 0:t.dispose()}),i.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!1))||[]}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketPairsInRange(e,!0))||[]}getBracketsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getBracketsInRange(e))||[]}findMatchingBracketUp(e,t,i){const n=e.toLowerCase(),o=this.textModel.validatePosition(t),s=this.textModel.getLanguageIdAtPosition(o.lineNumber,o.column),r=this.languageConfigurationService.getLanguageConfiguration(s).brackets;if(!r)return null;const a=r.textIsBracket[n];return a?Ly(this._findMatchingBracketUp(a,o,ky(i))):null}matchBracket(e,t){const i=ky(t);return this._matchBracket(this.textModel.validatePosition(e),i)}_establishBracketSearchOffsets(e,t,i,n){const o=t.getCount(),s=t.getLanguageId(n);let r=Math.max(0,e.column-1-i.maxBracketLength);for(let e=n-1;e>=0;e--){const i=t.getEndOffset(e);if(i<=r)break;if(ra(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){r=i;break}}let a=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let e=n+1;e=a)break;if(ra(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){a=i;break}}return{searchStartOffset:r,searchEndOffset:a}}_matchBracket(e,t){const i=e.lineNumber,n=this.textModel.getLineTokens(i),o=this.textModel.getLineContent(i),s=n.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(s)).brackets;if(r&&!ra(n.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,r,s),c=null;for(;;){const n=Gl.findNextBracketInRange(r.forwardRegex,i,o,a,l);if(!n)break;if(n.startColumn<=e.column&&e.column<=n.endColumn){const e=o.substring(n.startColumn-1,n.endColumn-1).toLowerCase(),i=this._matchFoundBracket(n,r.textIsBracket[e],r.textIsOpenBracket[e],t);if(i){if(i instanceof Dy)return null;c=i}}a=n.endColumn-1}if(c)return c}if(s>0&&n.getStartOffset(s)===e.column-1){const r=s-1,a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!ra(n.getStandardTokenType(r))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,a,r),c=Gl.findPrevBracketInRange(a.reversedRegex,i,o,s,l);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn){const e=o.substring(c.startColumn-1,c.endColumn-1).toLowerCase(),i=this._matchFoundBracket(c,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof Dy?null:i}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;const o=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return o?o instanceof Dy?o:[e,o]:null}_findMatchingBracketUp(e,t,i){const n=e.languageId,o=e.reversedRegex;let s=-1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return Dy.INSTANCE;const c=Gl.findPrevBracketInRange(o,t,n,a,l);if(!c)break;const d=n.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(d)?s++:e.isClose(d)&&s--,0===s)return c;l=c.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const i=this.textModel.getLineTokens(e),o=i.getCount(),s=this.textModel.getLineContent(e);let r=o-1,l=s.length,c=s.length;e===t.lineNumber&&(r=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1);let d=!0;for(;r>=0;r--){const t=i.getLanguageId(r)===n&&!ra(i.getStandardTokenType(r));if(t)d?l=i.getStartOffset(r):(l=i.getStartOffset(r),c=i.getEndOffset(r));else if(d&&l!==c){const t=a(e,s,l,c);if(t)return t}d=t}if(d&&l!==c){const t=a(e,s,l,c);if(t)return t}}return null}_findMatchingBracketDown(e,t,i){const n=e.languageId,o=e.forwardRegex;let s=1,r=0;const a=(t,n,a,l)=>{for(;;){if(i&&++r%100==0&&!i())return Dy.INSTANCE;const c=Gl.findNextBracketInRange(o,t,n,a,l);if(!c)break;const d=n.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(d)?s++:e.isClose(d)&&s--,0===s)return c;a=c.endColumn-1}return null},l=this.textModel.getLineCount();for(let e=t.lineNumber;e<=l;e++){const i=this.textModel.getLineTokens(e),o=i.getCount(),s=this.textModel.getLineContent(e);let r=0,l=0,c=0;e===t.lineNumber&&(r=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1);let d=!0;for(;r=1;e--){const o=this.textModel.getLineTokens(e),s=o.getCount(),r=this.textModel.getLineContent(e);let a=s-1,l=r.length,c=r.length;if(e===t.lineNumber){a=o.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1;const e=o.getLanguageId(a);i!==e&&(i=e,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets)}let d=!0;for(;a>=0;a--){const t=o.getLanguageId(a);if(i!==t){if(n&&d&&l!==c){const t=Gl.findPrevBracketInRange(n.reversedRegex,e,r,l,c);if(t)return this._toFoundBracket(n,t);d=!1}i=t,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets}const s=!!n&&!ra(o.getStandardTokenType(a));if(s)d?l=o.getStartOffset(a):(l=o.getStartOffset(a),c=o.getEndOffset(a));else if(n&&d&&l!==c){const t=Gl.findPrevBracketInRange(n.reversedRegex,e,r,l,c);if(t)return this._toFoundBracket(n,t)}d=s}if(n&&d&&l!==c){const t=Gl.findPrevBracketInRange(n.reversedRegex,e,r,l,c);if(t)return this._toFoundBracket(n,t)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e),i=this.textModel.getLineCount();let n=null,o=null;for(let e=t.lineNumber;e<=i;e++){const i=this.textModel.getLineTokens(e),s=i.getCount(),r=this.textModel.getLineContent(e);let a=0,l=0,c=0;if(e===t.lineNumber){a=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1;const e=i.getLanguageId(a);n!==e&&(n=e,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets)}let d=!0;for(;a{if(!s.has(e)){const i=[];for(let e=0,n=t?t.brackets.length:0;e{for(;;){if(i&&++l%100==0&&!i())return Dy.INSTANCE;const a=Gl.findNextBracketInRange(e.forwardRegex,t,n,o,s);if(!a)break;const c=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),d=e.textIsBracket[c];if(d&&(d.isOpen(c)?r[d.index]++:d.isClose(c)&&r[d.index]--,-1===r[d.index]))return this._matchFoundBracket(a,d,!1,i);o=a.endColumn-1}return null};let d=null,h=null;for(let e=n.lineNumber;e<=o;e++){const t=this.textModel.getLineTokens(e),i=t.getCount(),o=this.textModel.getLineContent(e);let s=0,r=0,l=0;if(e===n.lineNumber){s=t.findTokenIndexAtOffset(n.column-1),r=n.column-1,l=n.column-1;const e=t.getLanguageId(s);d!==e&&(d=e,h=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,h))}let u=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class Dy{constructor(){this._searchCanceledBrand=void 0}}function Ly(e){return e instanceof Dy?null:e}Dy.INSTANCE=new Dy;class Ey extends B{constructor(e){super(),this.textModel=e,this.colorProvider=new Ny,this.onDidChangeEmitter=new Pe,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i){if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];const n=new Array,o=this.textModel.bracketPairs.getBracketsInRange(e);for(const e of o)n.push({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e)},ownerId:0,range:e.range});return n}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new ia(1,1,this.textModel.getLineCount(),1),e,t):[]}}class Ny{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}function Iy(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}br(((e,t)=>{const i=[Bf,Vf,Hf,zf,jf,qf],n=new Ny;t.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${e.getColor(Kf)}; }`);const o=i.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let e=0;e<30;e++){const i=o[e%o.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(e)} { color: ${i}; }`)}}));class Ty{constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Iy(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Iy(this.oldText)}")`:`(replace@${this.oldPosition} "${Iy(this.oldText)}" with "${Iy(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const n=t.length;Il(e,n,i),i+=4;for(let o=0;oe.length)return!1;if(i){if(!ls(e,t))return!1;if(t.length===e.length)return!0;let i=t.length;return t.charAt(t.length-1)===n&&i--,e.charAt(i)===n}return t.charAt(t.length-1)!==n&&(t+=n),0===e.indexOf(t)}function Fy(e){return e>=65&&e<=90||e>=97&&e<=122}function Wy(e,t){return!!(void 0!==t?t:de)&&Fy(e.charCodeAt(0))&&58===e.charCodeAt(1)}function By(e){return Yi(e,!0)}class Vy{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:ts(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===tn.file)return Oy(By(e),By(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(Yy(e.authority,t.authority))return Oy(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return qi.joinPath(e,...t)}basenameOrAuthority(e){return qy(e)||e.authority}basename(e){return Ni.basename(e.path)}extname(e){return Ni.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===tn.file?t=qi.file(Ri(By(e))).path:(t=Ni.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===tn.file?qi.file(Ii(By(e))).path:Ni.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Yy(e.authority,t.authority))return;if(e.scheme===tn.file){const i=Mi(By(e),By(t));return de?Py(i):i}let i=e.path||"/",n=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(i.length,n.length);eAy(i).length&&i[i.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Oi){return Xy(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Oi){let i=!1;if(e.scheme===tn.file){const n=By(e);i=void 0!==n&&n.length===Ay(n).length&&n[n.length-1]===t}else{t="/";const n=e.path;i=1===n.length&&47===n.charCodeAt(n.length-1)}return i||Xy(e,t)?e:e.with({path:e.path+"/"})}}const Hy=new Vy((()=>!1)),zy=(new Vy((e=>e.scheme!==tn.file||!ue)),new Vy((e=>!0)),Hy.isEqual.bind(Hy)),jy=(Hy.isEqualOrParent.bind(Hy),Hy.getComparisonKey.bind(Hy),Hy.basenameOrAuthority.bind(Hy)),qy=Hy.basename.bind(Hy),Ky=Hy.extname.bind(Hy),Uy=Hy.dirname.bind(Hy),$y=Hy.joinPath.bind(Hy),Zy=Hy.normalizePath.bind(Hy),Gy=(Hy.relativePath.bind(Hy),Hy.resolvePath.bind(Hy)),Yy=(Hy.isAbsolutePath.bind(Hy),Hy.isEqualAuthority.bind(Hy)),Xy=Hy.hasTrailingPathSeparator.bind(Hy);var Jy;function Qy(e){return e.toString()}Hy.removeTrailingPathSeparator.bind(Hy),Hy.addTrailingPathSeparator.bind(Hy),function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,n]=e.split(":");t&&n&&i.set(t,n)}));const n=t.path.substring(0,t.path.indexOf(";"));return n&&i.set(e.META_DATA_MIME,n),i}}(Jy||(Jy={}));class eS{constructor(e,t,i,n,o,s,r){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=n,this.beforeCursorState=o,this.afterCursorState=s,this.changes=r}static create(e,t){const i=e.getAlternativeVersionId(),n=iS(e);return new eS(i,i,n,n,t,t,[])}append(e,t,i,n,o){var s,r;t.length>0&&(this.changes=(r=t,null===(s=this.changes)||0===s.length?r:new My(s,r).compress())),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,i){if(Il(e,t?t.length:0,i),i+=4,t)for(const n of t)Il(e,n.selectionStartLineNumber,i),i+=4,Il(e,n.selectionStartColumn,i),i+=4,Il(e,n.positionLineNumber,i),i+=4,Il(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=Nl(e,t);t+=4;for(let o=0;oe.toString())).join(", ")}matchesResource(e){return(qi.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof eS}append(e,t,i,n,o){this._data instanceof eS&&this._data.append(e,t,i,n,o)}close(){this._data instanceof eS&&(this._data=this._data.serialize())}open(){this._data instanceof eS||(this._data=eS.deserialize(this._data))}undo(){if(qi.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof eS&&(this._data=this._data.serialize());const e=eS.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(qi.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof eS&&(this._data=this._data.serialize());const e=eS.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof eS&&(this._data=this._data.serialize()),this._data.byteLength+168}}function iS(e){return"\n"===e.getEOL()?0:1}function nS(e){return!!e&&(e instanceof tS||e instanceof class{constructor(e,t){this.type=1,this.label=e,this._isOpen=!0,this._editStackElementsArr=t.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=Qy(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}get resources(){return this._editStackElementsArr.map((e=>e.resource))}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Qy(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Qy(qi.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Qy(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,i,n,o){const s=Qy(e.uri);this._editStackElementsMap.get(s).append(e,t,i,n,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Qy(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){let e=[];for(const t of this._editStackElementsArr)e.push(`${qy(t.resource)}: ${t}`);return`{${e.join(", ")}}`}})}class oS{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);nS(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);nS(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e){const t=this._undoRedoService.getLastElement(this._model.uri);if(nS(t)&&t.canAppend(this._model))return t;const i=new tS(this._model,e);return this._undoRedoService.pushElement(i),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null);this._model.setEOL(e),t.append(this._model,[],iS(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i){const n=this._getOrCreateEditStackElement(e),o=this._model.applyEdits(t,!0),s=oS._computeCursorState(i,o),r=o.map(((e,t)=>({index:t,textChange:e.textChange})));return r.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),n.append(this._model,r.map((e=>e.textChange)),iS(this._model),this._model.getAlternativeVersionId(),s),s}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return w(e),null}}}class sS{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function rS(e,t,i,n,o){let s;for(o.spacesDiff=0,o.looksLikeAlignment=!1,s=0;s0&&a>0)return;if(l>0&&c>0)return;const d=Math.abs(a-c),h=Math.abs(r-l);if(0===d)return o.spacesDiff=h,void(h>0&&0<=l-1&&l-10?o++:m>1&&s++,rS(r,a,h,p,d),d.looksLikeAlignment&&(!i||t!==d.spacesDiff))continue;const _=d.spacesDiff;_<=8&&c[_]++,r=h,a=p}let h=i;o!==s&&(h=o{const i=c[t];i>e&&(e=i,u=t)})),4===u&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(u=2)}return{insertSpaces:h,tabSize:u}}function lS(e){return(1&e.metadata)>>>0}function cS(e,t){e.metadata=254&e.metadata|t<<0}function dS(e){return(2&e.metadata)>>>1==1}function hS(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function uS(e){return(4&e.metadata)>>>2==1}function gS(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function pS(e,t){e.metadata=231&e.metadata|t<<3}function mS(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class fS{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,cS(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,gS(this,!1),pS(this,1),mS(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,hS(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;gS(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),pS(this,this.options.stickiness),mS(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const _S=new fS(null,0,0);_S.parent=_S,_S.left=_S,_S.right=_S,cS(_S,0);class vS{constructor(){this.root=_S,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,o){return this.root===_S?[]:function(e,t,i,n,o,s){let r=e.root,a=0,l=0,c=0,d=0;const h=[];let u=0;for(;r!==_S;)if(dS(r))hS(r.left,!1),hS(r.right,!1),r===r.parent.right&&(a-=r.parent.delta),r=r.parent;else{if(!dS(r.left)){if(l=a+r.maxEnd,li)hS(r,!0);else{if(d=a+r.end,d>=t){r.setCachedOffsets(c,d,s);let e=!0;n&&r.ownerId&&r.ownerId!==n&&(e=!1),o&&uS(r)&&(e=!1),e&&(h[u++]=r)}hS(r,!0),r.right===_S||dS(r.right)||(a+=r.delta,r=r.right)}}return hS(e.root,!1),h}(this,e,t,i,n,o)}search(e,t,i){return this.root===_S?[]:function(e,t,i,n){let o=e.root,s=0,r=0,a=0;const l=[];let c=0;for(;o!==_S;){if(dS(o)){hS(o.left,!1),hS(o.right,!1),o===o.parent.right&&(s-=o.parent.delta),o=o.parent;continue}if(o.left!==_S&&!dS(o.left)){o=o.left;continue}r=s+o.start,a=s+o.end,o.setCachedOffsets(r,a,n);let e=!0;t&&o.ownerId&&o.ownerId!==t&&(e=!1),i&&uS(o)&&(e=!1),e&&(l[c++]=o),hS(o,!0),o.right===_S||dS(o.right)||(s+=o.delta,o=o.right)}return hS(e.root,!1),l}(this,e,t,i)}collectNodesFromOwner(e){return function(e,t){let i=e.root;const n=[];let o=0;for(;i!==_S;)dS(i)?(hS(i.left,!1),hS(i.right,!1),i=i.parent):i.left===_S||dS(i.left)?(i.ownerId===t&&(n[o++]=i),hS(i,!0),i.right===_S||dS(i.right)||(i=i.right)):i=i.left;return hS(e.root,!1),n}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const i=[];let n=0;for(;t!==_S;)dS(t)?(hS(t.left,!1),hS(t.right,!1),t=t.parent):t.left===_S||dS(t.left)?t.right===_S||dS(t.right)?(i[n++]=t,hS(t,!0)):t=t.right:t=t.left;return hS(e.root,!1),i}(this)}insert(e){wS(this,e),this._normalizeDeltaIfNecessary()}delete(e){yS(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const o=i.start+n,s=i.end+n;i.setCachedOffsets(o,s,t)}acceptReplace(e,t,i,n){const o=function(e,t,i){let n=e.root,o=0,s=0,r=0,a=0;const l=[];let c=0;for(;n!==_S;)if(dS(n))hS(n.left,!1),hS(n.right,!1),n===n.parent.right&&(o-=n.parent.delta),n=n.parent;else{if(!dS(n.left)){if(s=o+n.maxEnd,si?hS(n,!0):(a=o+n.end,a>=t&&(n.setCachedOffsets(r,a,0),l[c++]=n),hS(n,!0),n.right===_S||dS(n.right)||(o+=n.delta,n=n.right))}return hS(e.root,!1),l}(this,e,e+t);for(let e=0,t=o.length;ei?(o.start+=l,o.end+=l,o.delta+=l,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),hS(o,!0)):(hS(o,!0),o.right===_S||dS(o.right)||(s+=o.delta,o=o.right))}hS(e.root,!1)}(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let s=0,r=o.length;si)&&1!==n&&(2===n||t)}function CS(e,t,i,n,o){const s=function(e){return(24&e.metadata)>>>3}(e),r=0===s||2===s,a=1===s||2===s,l=i-t,c=n,d=Math.min(l,c),h=e.start;let u=!1;const g=e.end;let p=!1;t<=h&&g<=i&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,u=!0,e.end=t,p=!0);{const e=o?1:l>0?2:0;!u&&bS(h,r,t,e)&&(u=!0),!p&&bS(g,a,t,e)&&(p=!0)}if(d>0&&!o){const e=l>c?2:0;!u&&bS(h,r,t+d,e)&&(u=!0),!p&&bS(g,a,t+d,e)&&(p=!0)}{const n=o?1:0;!u&&bS(h,r,i,n)&&(e.start=t+c,u=!0),!p&&bS(g,a,i,n)&&(e.end=t+c,p=!0)}const m=c-l;u||(e.start=Math.max(0,h+m)),p||(e.end=Math.max(0,g+m)),e.start>e.end&&(e.end=e.start)}function wS(e,t){if(e.root===_S)return t.parent=_S,t.left=_S,t.right=_S,cS(t,0),e.root=t,e.root;!function(e,t){let i=0,n=e.root;const o=t.start,s=t.end;for(;;)if(r=o,a=s,l=n.start+i,c=n.end+i,(r===l?a-c:r-l)<0){if(n.left===_S){t.start-=i,t.end-=i,t.maxEnd-=i,n.left=t;break}n=n.left}else{if(n.right===_S){t.start-=i+n.delta,t.end-=i+n.delta,t.maxEnd-=i+n.delta,n.right=t;break}i+=n.delta,n=n.right}var r,a,l,c;t.parent=n,t.left=_S,t.right=_S,cS(t,1)}(e,t),ES(t.parent);let i=t;for(;i!==e.root&&1===lS(i.parent);)if(i.parent===i.parent.parent.left){const t=i.parent.parent.right;1===lS(t)?(cS(i.parent,0),cS(t,0),cS(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&(i=i.parent,xS(e,i)),cS(i.parent,0),cS(i.parent.parent,1),kS(e,i.parent.parent))}else{const t=i.parent.parent.left;1===lS(t)?(cS(i.parent,0),cS(t,0),cS(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&(i=i.parent,kS(e,i)),cS(i.parent,0),cS(i.parent.parent,1),xS(e,i.parent.parent))}return cS(e.root,0),t}function yS(e,t){let i,n;if(t.left===_S?(i=t.right,n=t,i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta):t.right===_S?(i=t.left,n=t):(n=function(e){for(;e.left!==_S;)e=e.left;return e}(t.right),i=n.right,i.start+=n.delta,i.end+=n.delta,i.delta+=n.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0)),n===e.root)return e.root=i,cS(i,0),t.detach(),SS(),LS(i),void(e.root.parent=_S);const o=1===lS(n);if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?i.parent=n.parent:(n.parent===t?i.parent=n:i.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,cS(n,lS(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==_S&&(n.left.parent=n),n.right!==_S&&(n.right.parent=n)),t.detach(),o)return ES(i.parent),n!==t&&(ES(n),ES(n.parent)),void SS();let s;for(ES(i),ES(i.parent),n!==t&&(ES(n),ES(n.parent));i!==e.root&&0===lS(i);)i===i.parent.left?(s=i.parent.right,1===lS(s)&&(cS(s,0),cS(i.parent,1),xS(e,i.parent),s=i.parent.right),0===lS(s.left)&&0===lS(s.right)?(cS(s,1),i=i.parent):(0===lS(s.right)&&(cS(s.left,0),cS(s,1),kS(e,s),s=i.parent.right),cS(s,lS(i.parent)),cS(i.parent,0),cS(s.right,0),xS(e,i.parent),i=e.root)):(s=i.parent.left,1===lS(s)&&(cS(s,0),cS(i.parent,1),kS(e,i.parent),s=i.parent.left),0===lS(s.left)&&0===lS(s.right)?(cS(s,1),i=i.parent):(0===lS(s.left)&&(cS(s.right,0),cS(s,1),xS(e,s),s=i.parent.left),cS(s,lS(i.parent)),cS(i.parent,0),cS(s.left,0),kS(e,i.parent),i=e.root));cS(i,0),SS()}function SS(){_S.parent=_S,_S.delta=0,_S.start=0,_S.end=0}function xS(e,t){const i=t.right;i.delta+=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,t.right=i.left,i.left!==_S&&(i.left.parent=t),i.parent=t.parent,t.parent===_S?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,LS(t),LS(i)}function kS(e,t){const i=t.left;t.delta-=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=i.delta,t.end-=i.delta,t.left=i.right,i.right!==_S&&(i.right.parent=t),i.parent=t.parent,t.parent===_S?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,LS(t),LS(i)}function DS(e){let t=e.end;if(e.left!==_S){const i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==_S){const i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function LS(e){e.maxEnd=DS(e)}function ES(e){for(;e!==_S;){const t=DS(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}class NS{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==IS)return TS(this.right);let e=this;for(;e.parent!==IS&&e.parent.left!==e;)e=e.parent;return e.parent===IS?IS:e.parent}prev(){if(this.left!==IS)return MS(this.left);let e=this;for(;e.parent!==IS&&e.parent.right!==e;)e=e.parent;return e.parent===IS?IS:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const IS=new NS(null,0);function TS(e){for(;e.left!==IS;)e=e.left;return e}function MS(e){for(;e.right!==IS;)e=e.right;return e}function RS(e){return e===IS?0:e.size_left+e.piece.length+RS(e.right)}function PS(e){return e===IS?0:e.lf_left+e.piece.lineFeedCnt+PS(e.right)}function AS(){IS.parent=IS}function OS(e,t){const i=t.right;i.size_left+=t.size_left+(t.piece?t.piece.length:0),i.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=i.left,i.left!==IS&&(i.left.parent=t),i.parent=t.parent,t.parent===IS?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function FS(e,t){const i=t.left;t.left=i.right,i.right!==IS&&(i.right.parent=t),i.parent=t.parent,t.size_left-=i.size_left+(i.piece?i.piece.length:0),t.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),t.parent===IS?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function WS(e,t){let i,n;if(t.left===IS?(n=t,i=n.right):t.right===IS?(n=t,i=n.left):(n=TS(t.right),i=n.right),n===e.root)return e.root=i,i.color=0,t.detach(),AS(),void(e.root.parent=IS);const o=1===n.color;if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?(i.parent=n.parent,HS(e,i)):(n.parent===t?i.parent=n:i.parent=n.parent,HS(e,i),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==IS&&(n.left.parent=n),n.right!==IS&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,HS(e,n)),t.detach(),i.parent.left===i){const t=RS(i),n=PS(i);if(t!==i.parent.size_left||n!==i.parent.lf_left){const o=t-i.parent.size_left,s=n-i.parent.lf_left;i.parent.size_left=t,i.parent.lf_left=n,VS(e,i.parent,o,s)}}if(HS(e,i.parent),o)return void AS();let s;for(;i!==e.root&&0===i.color;)i===i.parent.left?(s=i.parent.right,1===s.color&&(s.color=0,i.parent.color=1,OS(e,i.parent),s=i.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,i=i.parent):(0===s.right.color&&(s.left.color=0,s.color=1,FS(e,s),s=i.parent.right),s.color=i.parent.color,i.parent.color=0,s.right.color=0,OS(e,i.parent),i=e.root)):(s=i.parent.left,1===s.color&&(s.color=0,i.parent.color=1,FS(e,i.parent),s=i.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,i=i.parent):(0===s.left.color&&(s.right.color=0,s.color=1,OS(e,s),s=i.parent.left),s.color=i.parent.color,i.parent.color=0,s.left.color=0,FS(e,i.parent),i=e.root));i.color=0,AS()}function BS(e,t){for(HS(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&OS(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,FS(e,t.parent.parent))}else{const i=t.parent.parent.left;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&FS(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,OS(e,t.parent.parent))}e.root.color=0}function VS(e,t,i,n){for(;t!==e.root&&t!==IS;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}function HS(e,t){let i=0,n=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(i=RS((t=t.parent).left)-t.size_left,n=PS(t.left)-t.lf_left,t.size_left+=i,t.lf_left+=n;t!==e.root&&(0!==i||0!==n);)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}}IS.parent=IS,IS.left=IS,IS.right=IS,IS.color=0;class zS{constructor(e,t,i,n){this.searchString=e,this.isRegex=t,this.matchCase=i,this.wordSeparators=n}parseSearchRequest(){if(""===this.searchString)return null;let e;e=this.isRegex?function(e){if(!e||0===e.length)return!1;for(let t=0,i=e.length;t=i)break;const n=e.charCodeAt(t);if(110===n||114===n||87===n)return!0}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=Go(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(e){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new ub(t,this.wordSeparators?Pa(this.wordSeparators):null,i?this.searchString:null)}}function jS(e,t,i){if(!i)return new db(e,null);const n=[];for(let e=0,i=t.length;e>0);t[o]>=e?n=o-1:t[o+1]>=e?(i=o,n=o):i=o+1}return i+1}}class KS{static findMatches(e,t,i,n,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,i,new $S(s.wordSeparators,s.regex),n,o):this._doFindMatchesLineByLine(e,i,s,n,o):[]}static _getMultilineMatchRange(e,t,i,n,o,s){let r,a,l=0;if(n?(l=n.findLineFeedCountBeforeOffset(o),r=t+o+l):r=t+o,n){const e=n.findLineFeedCountBeforeOffset(o+s.length)-l;a=r+s.length+e}else a=r+s.length;const c=e.getPositionAt(r),d=e.getPositionAt(a);return new ia(c.lineNumber,c.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,i,n,o){const s=e.getOffsetAt(t.getStartPosition()),r=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new qS(r):null,l=[];let c,d=0;for(i.reset(0);c=i.next(r);)if(l[d++]=jS(this._getMultilineMatchRange(e,s,r,a,c.index,c[0]),c,n),d>=o)return l;return l}static _doFindMatchesLineByLine(e,t,i,n,o){const s=[];let r=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,s,n,o),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);r=this._findMatchesInLine(i,a,t.startLineNumber,t.startColumn-1,r,s,n,o);for(let a=t.startLineNumber+1;a=a))return o;return o}const c=new $S(e.wordSeparators,e.regex);let d;c.reset(0);do{if(d=c.next(t),d&&(s[o++]=jS(new ia(i,d.index+1+n,i,d.index+1+d[0].length+n),d,r),o>=a))return o}while(d);return o}static findNextMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const s=new $S(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,i,s,n):this._doFindNextMatchLineByLine(e,i,s,n)}static _doFindNextMatchMultiline(e,t,i,n){const o=new Do(t.lineNumber,1),s=e.getOffsetAt(o),r=e.getLineCount(),a=e.getValueInRange(new ia(o.lineNumber,o.column,r,e.getLineMaxColumn(r)),1),l="\r\n"===e.getEOL()?new qS(a):null;i.reset(t.column-1);let c=i.next(a);return c?jS(this._getMultilineMatchRange(e,s,a,l,c.index,c[0]),c,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new Do(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s),a=this._findFirstMatchInLine(i,r,s,t.column,n);if(a)return a;for(let t=1;t<=o;t++){const r=(s+t-1)%o,a=e.getLineContent(r+1),l=this._findFirstMatchInLine(i,a,r+1,1,n);if(l)return l}return null}static _findFirstMatchInLine(e,t,i,n,o){e.reset(n-1);const s=e.next(t);return s?jS(new ia(i,s.index+1,i,s.index+1+s[0].length),s,o):null}static findPreviousMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const s=new $S(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,i,s,n):this._doFindPreviousMatchLineByLine(e,i,s,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const o=this._doFindMatchesMultiline(e,new ia(1,1,t.lineNumber,t.column),i,n,9990);if(o.length>0)return o[o.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new Do(s,e.getLineMaxColumn(s)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const o=e.getLineCount(),s=t.lineNumber,r=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(i,r,s,n);if(a)return a;for(let t=1;t<=o;t++){const r=(o+s-t-1)%o,a=e.getLineContent(r+1),l=this._findLastMatchInLine(i,a,r+1,n);if(l)return l}return null}static _findLastMatchInLine(e,t,i,n){let o,s=null;for(e.reset(0);o=e.next(t);)s=jS(new ia(i,o.index+1,i,o.index+1+o[0].length),o,n);return s}}function US(e,t,i,n,o){return function(e,t,i,n,o){if(0===n)return!0;const s=t.charCodeAt(n-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const i=t.charCodeAt(n);if(0!==e.get(i))return!0}return!1}(e,t,0,n,o)&&function(e,t,i,n,o){if(n+o===i)return!0;const s=t.charCodeAt(n+o);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(o>0){const i=t.charCodeAt(n+o-1);if(0!==e.get(i))return!0}return!1}(e,t,i,n,o)}class $S{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(i=this._searchRegex.exec(e),!i)return null;const n=i.index,o=i[0].length;if(n===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){ps(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=o,!this._wordSeparators||US(this._wordSeparators,e,t,n,o))return i}while(i);return null}}const ZS=65535;function GS(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class YS{constructor(e,t,i,n,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=o}}function XS(e,t=!0){const i=[0];let n=1;for(let t=0,o=e.length;t(e!==IS&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class tx{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n=e)&&(i[n]=null,t=!0)}if(t){const e=[];for(const t of i)null!==t&&e.push(t);this._cache=e}}}class ix{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new QS("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=IS,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let t=0,i=e.length;t0){e[t].lineStarts||(e[t].lineStarts=XS(e[t].buffer));const i=new JS(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),n=this.rbInsertRight(n,i)}this._searchCache=new tx(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=65535-Math.floor(21845),i=2*t;let n="",o=0;const s=[];if(this.iterate(this.root,(r=>{const a=this.getNodeContent(r),l=a.length;if(o<=t||o+l0){const t=n.replace(/\r\n|\r|\n/g,e);s.push(new QS(t,XS(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new ex(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==IS;)if(n.left!==IS&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e)return i+=n.size_left,i+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1);e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const n=e;for(;t!==IS;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+o.index,0===o.index){const e=this.getOffsetAt(i+1,1);return new Do(i+1,n-e+1)}return new Do(i+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===IS){const t=this.getOffsetAt(i+1,1);return new Do(i+1,n-e-t+1)}t=t.right}return new Do(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(i,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const i=e.node,n=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n.substring(o+e.remainder,o+t.remainder)}let i=e.node;const n=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let s=n.substring(o+e.remainder,o+i.piece.length);for(i=i.next();i!==IS;){const e=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){s+=e.substring(n,n+t.remainder);break}s+=e.substr(n,i.piece.length),i=i.next()}return s}getLinesContent(){const e=[];let t=0,i="",n=!1;return this.iterate(this.root,(o=>{if(o===IS)return!0;const s=o.piece;let r=s.length;if(0===r)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,d=s.end.line;let h=l[c]+s.start.column;if(n&&(10===a.charCodeAt(h)&&(h++,r--),e[t++]=i,i="",n=!1,0===r))return!0;if(c===d)return this._EOLNormalized||13!==a.charCodeAt(h+r-1)?i+=a.substr(h,r):(n=!0,i+=a.substr(h,r-1)),!0;i+=this._EOLNormalized?a.substring(h,Math.max(h,l[c+1]-this._EOLLength)):a.substring(h,l[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let n=c+1;ne+g,t.reset(0)):(_=h.buffer,v=e=>e,t.reset(g));do{if(m=t.next(_),m){if(v(m.index)>=p)return c;this.positionInBuffer(e,v(m.index)-u,f);const t=this.getLineFeedCnt(e.piece.bufferIndex,o,f),s=f.line===o.line?f.column-o.column+n:f.column+1,r=s+m[0].length;if(d[c++]=jS(new ia(i+t,s,i+t,r),m,a),v(m.index)+m[0].length>=p)return c;if(c>=l)return c}}while(m);return c}findMatchesLineByLine(e,t,i,n){const o=[];let s=0;const r=new $S(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let c=this.positionInBuffer(a.node,a.remainder);const d=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,r,e.startLineNumber,e.startColumn,c,d,t,i,n,s,o),o;let h=e.startLineNumber,u=a.node;for(;u!==l.node;){const l=this.getLineFeedCnt(u.piece.bufferIndex,c,u.piece.end);if(l>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,d=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),g=a[c.line+l],p=h===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(u,r,h,p,c,this.positionInBuffer(u,g-d),t,i,n,s,o),s>=n)return o;h+=l}const d=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){const a=this.getLineContent(h).substring(d,e.endColumn-1);return s=this._findMatchesInLine(t,r,a,e.endLineNumber,d,s,o,i,n),o}if(s=this._findMatchesInLine(t,r,this.getLineContent(h).substr(d),h,d,s,o,i,n),s>=n)return o;h++,a=this.nodeAt2(h,1),u=a.node,c=this.positionInBuffer(a.node,a.remainder)}if(h===e.endLineNumber){const a=h===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(h).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,r,l,e.endLineNumber,a,s,o,i,n),o}const g=h===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,r,h,g,c,d,t,i,n,s,o),o}_findMatchesInLine(e,t,i,n,o,s,r,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,d=i.length;let h=-a;for(;-1!==(h=i.indexOf(t,h+a));)if((!c||US(c,i,d,h,a))&&(r[s++]=new db(new ia(n,h+1+o,n,h+1+a+o),null),s>=l))return s;return s}let d;t.reset(0);do{if(d=t.next(i),d&&(r[s++]=jS(new ia(n,d.index+1+o,n,d.index+1+d[0].length+o),d,a),s>=l))return s}while(d);return s}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==IS){const{node:i,remainder:n,nodeStartOffset:o}=this.nodeAt(e),s=i.piece,r=s.bufferIndex,a=this.positionInBuffer(i,n);if(0===i.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&o+s.length===e&&t.lengthe){const e=[];let o=new JS(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(r,s.end)-this.offsetInBuffer(r,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(i,n)){const e={line:o.start.line+1,column:0};o=new JS(o.bufferIndex,e,o.end,this.getLineFeedCnt(o.bufferIndex,e,o.end),o.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(i,n-1)){const o=this.positionInBuffer(i,n-1);this.deleteNodeTail(i,o),t="\r"+t,0===i.piece.length&&e.push(i)}else this.deleteNodeTail(i,a);else this.deleteNodeTail(i,a);const l=this.createNewPieces(t);o.length>0&&this.rbInsertRight(i,o);let c=i;for(let e=0;e=0;e--)o=this.rbInsertLeft(o,n[e]);this.validateCRLFWithPrevNode(o),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]);let o=n;for(let e=1;e=d))break;a=c+1}return i?(i.line=c,i.column=r-h,null):{line:c,column:r-h}}getLineFeedCnt(e,t,i){if(0===i.column)return i.line-t.line;const n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;const o=n[i.line+1],s=n[i.line]+i.column;if(o>s+1)return i.line-t.line;const r=s-1;return 13===this._buffers[e].buffer.charCodeAt(r)?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tZS){const t=[];for(;e.length>ZS;){const i=e.charCodeAt(65534);let n;13===i||i>=55296&&i<=56319?(n=e.substring(0,65534),e=e.substring(65534)):(n=e.substring(0,ZS),e=e.substring(ZS));const o=XS(n);t.push(new JS(this._buffers.length,{line:0,column:0},{line:o.length-1,column:n.length-o[o.length-1]},o.length-1,n.length)),this._buffers.push(new QS(n,o))}const i=XS(e);return t.push(new JS(this._buffers.length,{line:0,column:0},{line:i.length-1,column:e.length-i[i.length-1]},i.length-1,e.length)),this._buffers.push(new QS(e,i)),t}let t=this._buffers[0].buffer.length;const i=XS(e,!1);let n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let e=0;e=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const n=this.getAccumulatedValue(i,e-i.lf_left-2),r=this.getAccumulatedValue(i,e-i.lf_left-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:o,nodeStartLineNumber:s-(e-1-i.lf_left)}),a.substring(l+n,l+r-t)}if(i.lf_left+i.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(i,e-i.lf_left-2),o=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=o.substring(s+t,s+i.piece.length);break}e-=i.lf_left+i.piece.lineFeedCnt,o+=i.size_left+i.piece.length,i=i.right}}for(i=i.next();i!==IS;){const e=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const o=this.getAccumulatedValue(i,0),s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n+=e.substring(s,s+o-t),n}{const t=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=e.substr(t,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==IS;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,n=this.positionInBuffer(e,t),o=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(t!==o)return{index:t,remainder:0}}return{index:o,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,o=i.start.line+t+1;return o>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[o]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,n=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.end),s=t,r=this.offsetInBuffer(i.bufferIndex,s),a=this.getLineFeedCnt(i.bufferIndex,i.start,s),l=a-n,c=r-o,d=i.length+c;e.piece=new JS(i.bufferIndex,i.start,s,a,d),VS(this,e,c,l)}deleteNodeHead(e,t){const i=e.piece,n=i.lineFeedCnt,o=this.offsetInBuffer(i.bufferIndex,i.start),s=t,r=this.getLineFeedCnt(i.bufferIndex,s,i.end),a=r-n,l=o-this.offsetInBuffer(i.bufferIndex,s),c=i.length+l;e.piece=new JS(i.bufferIndex,s,i.end,r,c),VS(this,e,l,a)}shrinkNode(e,t,i){const n=e.piece,o=n.start,s=n.end,r=n.length,a=n.lineFeedCnt,l=t,c=this.getLineFeedCnt(n.bufferIndex,n.start,l),d=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,o);e.piece=new JS(n.bufferIndex,n.start,l,c,d),VS(this,e,d-r,c-a);const h=new JS(n.bufferIndex,i,s,this.getLineFeedCnt(n.bufferIndex,i,s),this.offsetInBuffer(n.bufferIndex,s)-this.offsetInBuffer(n.bufferIndex,i)),u=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const o=XS(t,!1);for(let e=0;ee)t=t.left;else{if(t.size_left+t.piece.length>=e){n+=t.size_left;const i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==IS;)if(i.left!==IS&&i.lf_left>=e-1)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt>e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2),s=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(o+t-1,s),nodeStartOffset:n}}if(i.lf_left+i.piece.lineFeedCnt===e-1){const o=this.getAccumulatedValue(i,e-i.lf_left-2);if(o+t-1<=i.piece.length)return{node:i,remainder:o+t-1,nodeStartOffset:n};t-=i.piece.length-o;break}e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==IS;){if(i.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(i,0),n=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,e),nodeStartOffset:n}}if(i.piece.length>=t-1)return{node:i,remainder:t-1,nodeStartOffset:this.offsetOfNode(i)};t-=i.piece.length,i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===IS||0===e.piece.lineFeedCnt)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,o=i[n]+t.start.column;return n!==i.length-1&&(!(i[n+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==IS&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],n=this._buffers[e.piece.bufferIndex].lineStarts;let o;o=0===e.piece.end.column?{line:e.piece.end.line-1,column:n[e.piece.end.line]-n[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,r=e.piece.lineFeedCnt-1;e.piece=new JS(e.piece.bufferIndex,e.piece.start,o,r,s),VS(this,e,-1,-1),0===e.piece.length&&i.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new JS(t.piece.bufferIndex,a,t.piece.end,c,l),VS(this,t,-1,-1),0===t.piece.length&&i.push(t);const d=this.createNewPieces("\r\n");this.rbInsertRight(e,d[0]);for(let e=0;ee.sortIndex-t.sortIndex))}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const u=this._doApplyEdits(a);let g=null;if(t&&d.length>0){d.sort(((e,t)=>t.lineNumber-e.lineNumber)),g=[];for(let e=0,t=d.length;e0&&d[e-1].lineNumber===t)continue;const i=d[e].oldContent,n=this.getLineContent(t);0!==n.length&&n!==i&&-1===Jo(n)&&g.push(t)}}return this._onDidChangeContent.fire(),new gb(h,u,g)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,n=e[e.length-1].range,o=new ia(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn);let s=i.startLineNumber,r=i.startColumn;const a=[];for(let i=0,n=e.length;i0&&a.push(n.text),s=o.endLineNumber,r=o.endColumn}const l=a.join(""),[c,d,h]=nx(l);return{sortIndex:0,identifier:e[0].identifier,range:o,rangeOffset:this.getOffsetAt(o.startLineNumber,o.startColumn),rangeLength:this.getValueLengthInRange(o,0),text:l,eolCount:c,firstLineLength:d,lastLineLength:h,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(ox._sortOpsDescending);const t=[];for(let i=0;i0){const e=r.eolCount+1;c=1===e?new ia(a,l,a,l+r.firstLineLength):new ia(a,l,a+e-1,r.lastLineLength+1)}else c=new ia(a,l,a,l);i=c.endLineNumber,n=c.endColumn,t.push(c),o=r}return t}static _sortOpsAscending(e,t){const i=ia.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=ia.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class sx{constructor(e,t,i,n,o,s,r,a,l){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=o,this._containsRTL=s,this._containsUnusualLineTerminators=r,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,n=i.length;e=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let i=1,n=0,o=0,s=0,r=!0;for(let a=0,l=t.length;a126)&&(r=!1)}const a=new YS(GS(e),n,o,s,r);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new QS(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,this.isBasicASCII&&(this.isBasicASCII=t.isBasicASCII),this.isBasicASCII||this.containsRTL||(this.containsRTL=Cs(e)),this.isBasicASCII||this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=xs(e))}finish(e=!0){return this._finish(),new sx(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=XS(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}class ax{constructor(e,t){this._startLineNumber=e,this._tokens=t}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class lx{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new ax(e,[t]))}finalize(){return this._tokens}}class cx{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const i=[];for(let e=0;e{const t=this._textModel.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&(this._resetTokenizationState(),this._textModel.clearTokens())}))),this._resetTokenizationState()}dispose(){this._isDisposed=!0,super.dispose()}handleDidChangeContent(e){if(e.isFlush)this._resetTokenizationState();else{if(this._tokenizationStateStore)for(let t=0,i=e.changes.length;t{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._textModel.setTokens(t.finalize(),!this._hasLinesToTokenize())}tokenizeViewport(e,t){const i=new lx;this._tokenizeViewport(i,e,t),this._textModel.setTokens(i.finalize(),!this._hasLinesToTokenize())}reset(){this._resetTokenizationState(),this._textModel.clearTokens()}forceTokenization(e){const t=new lx;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.finalize(),!this._hasLinesToTokenize())}getTokenTypeIfInsertingCharacter(e,t){if(!this._tokenizationStateStore)return 0;this.forceTokenization(e.lineNumber);const i=this._tokenizationStateStore.getBeginState(e.lineNumber-1);if(!i)return 0;const n=this._textModel.getLanguageId(),o=this._textModel.getLineContent(e.lineNumber),s=o.substring(0,e.column-1)+t+o.substring(e.column-1),r=ux(this._languageIdCodec,n,this._tokenizationStateStore.tokenizationSupport,s,!0,i),a=new dw(r.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,i){const n=e.lineNumber,o=e.column;if(!this._tokenizationStateStore)return null;this.forceTokenization(n);const s=this._tokenizationStateStore.getBeginState(n-1);if(!s)return null;const r=this._textModel.getLineContent(n),a=r.substring(0,o-1)+i+r.substring(o-1+t),l=this._textModel.getLanguageIdAtPosition(n,0),c=ux(this._languageIdCodec,l,this._tokenizationStateStore.tokenizationSupport,a,!0,s);return new dw(c.tokens,a,this._languageIdCodec)}isCheapToTokenize(e){if(!this._tokenizationStateStore)return!0;const t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e1&&e>=1;e--){const t=this._textModel.getLineFirstNonWhitespaceColumn(e);if(0!==t&&t=0;e--)a=ux(this._languageIdCodec,r,this._tokenizationStateStore.tokenizationSupport,o[e],!1,a).endState;for(let n=t;n<=i;n++){const t=this._textModel.getLineContent(n),i=ux(this._languageIdCodec,r,this._tokenizationStateStore.tokenizationSupport,t,!0,a);e.add(n,i.tokens),this._tokenizationStateStore.markMustBeTokenized(n-1),a=i.endState}}}function ux(e,t,i,n,o,s){let r=null;if(i)try{r=i.tokenizeEncoded(n,o,s.clone())}catch(e){w(e)}return r||(r=pw(e.encodeLanguageId(t),s)),dw.convertToEndOffset(r.tokens,n.length),r}const gx=new Uint32Array(0).buffer;class px{static deleteBeginning(e,t){return null===e||e===gx?e:px.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===gx)return e;const i=mx(e),n=i[i.length-2];return px.delete(e,t,n)}static delete(e,t,i){if(null===e||e===gx||t===i)return e;const n=mx(e),o=n.length>>>1;if(0===t&&n[n.length-2]===i)return gx;const s=dw.findIndexInTokensArray(n,t),r=s>0?n[s-1<<1]:0;if(il&&(n[a++]=t,n[a++]=n[1+(e<<1)],l=t)}if(a===n.length)return e;const d=new Uint32Array(a);return d.set(n.subarray(0,a),0),d.buffer}static append(e,t){if(t===gx)return e;if(e===gx)return t;if(null===e)return e;if(null===t)return null;const i=mx(e),n=mx(t),o=n.length>>>1,s=new Uint32Array(i.length+n.length);s.set(i,0);let r=i.length;const a=i[i.length-2];for(let e=0;e>>1;let s=dw.findIndexInTokensArray(n,t);s>0&&n[s-1<<1]===t&&s--;for(let e=s;e1&&(t=__.getLanguageId(n[1])!==e),!t)return gx}if(!n||0===n.length){const i=new Uint32Array(2);return i[0]=t,i[1]=_x(e),i.buffer}return n[n.length-2]=t,0===n.byteOffset&&n.byteLength===n.buffer.byteLength?n.buffer:n}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const i=[];for(let e=0;e=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=px.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=px.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let n=null;i=this._len||(0!==t?(this._lineTokens[n]=px.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=px.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)):this._lineTokens[n]=px.insert(this._lineTokens[n],e.column-1,i))}}function _x(e){return(16384|e<<0|2<<23)>>>0}class vx{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const n=t[0].getRange(),o=t[t.length-1].getRange();if(!n||!o)return e;i=e.plusRange(n).plusRange(o)}let n=null;for(let e=0,t=this._pieces.length;ei.endLineNumber){n=n||{index:e};break}if(o.removeTokens(i),o.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(o.endLineNumberi.endLineNumber){n=n||{index:e};continue}const[s,r]=o.split(i);s.isEmpty()?n=n||{index:e}:r.isEmpty()||(this._pieces.splice(e,1,s,r),e++,t++,n=n||{index:e})}return n=n||{index:this._pieces.length},t.length>0&&(this._pieces=hl(this._pieces,n.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){const i=this._pieces;if(0===i.length)return t;const n=i[vx._findFirstPieceWithLine(i,e)].getLineTokens(e);if(!n)return t;const o=t.getCount(),s=n.getCount();let r=0;const a=[];let l=0,c=0;const d=(e,t)=>{e!==c&&(c=e,a[l++]=e,a[l++]=t)};for(let e=0;e>>0,c=~l>>>0;for(;rt)){for(;o>i&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}n=o-1}}return i}acceptEdit(e,t,i,n,o){for(const s of this._pieces)s.acceptEdit(e,t,i,n,o)}}const bx=xo("undoRedoService");class Cx{constructor(e,t){this.resource=e,this.elements=t}}class wx{constructor(){this.id=wx._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}}wx._ID=0,wx.None=new wx;class yx{constructor(){this.id=yx._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}}yx._ID=0,yx.None=new yx;var Sx=function(e,t){return function(i,n){t(i,n,e)}};function xx(e,t){return("string"==typeof e?function(e){const t=new rx;return t.acceptChunk(e),t.finish()}(e):e).create(t)}let kx=0;class Dx{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;for(;;){const n=this._source.read();if(null===n)return this._eos=!0,0===t?null:e.join("");if(n.length>0&&(e[t++]=n,i+=n.length),i>=65536)return e.join("")}}}const Lx=()=>{throw new Error("Invalid change accessor")};let Ex=class e extends B{constructor(t,i,n,o=null,s,r,a){super(),this._undoRedoService=s,this._languageService=r,this._languageConfigurationService=a,this._onWillDispose=this._register(new Pe),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Vx((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeLanguage=this._register(new Pe),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Pe),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Pe),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeOptions=this._register(new Pe),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Pe),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Pe),this._eventEmitter=this._register(new Hx),this._backgroundTokenizationState=0,this._onBackgroundTokenizationStateChanged=this._register(new Pe),kx++,this.id="$model"+kx,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==o?qi.parse("inmemory://model/"+kx):o,this._attachedEditorCount=0;const{textBuffer:l,disposable:c}=xx(t,n.defaultEOL);this._buffer=l,this._bufferDisposable=c,this._options=e.resolveOptions(this._buffer,n);const d=this._buffer.getLineCount(),h=this._buffer.getValueLengthInRange(new ia(1,1,d,this._buffer.getLineLength(d)+1),0);n.largeFileOptimizations?this._isTooLargeForTokenization=h>e.LARGE_FILE_SIZE_THRESHOLD||d>e.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=h>e.MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this._isDisposing=!1,this._languageId=i,this._languageRegistryListener=this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._instanceId=Ns(kx),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Tx,this._commandManager=new oS(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._tokens=new fx(this._languageService.languageIdCodec),this._semanticTokens=new vx(this._languageService.languageIdCodec),this._tokenization=new hx(this,this._languageService.languageIdCodec),this._bracketPairColorizer=this._register(new xy(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Dv(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Ey(this)),this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})))}static resolveOptions(e,t){if(t.detectIndentation){const i=aS(e,t.tabSize,t.insertSpaces);return new cb({tabSize:i.tabSize,indentSize:i.tabSize,insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new cb({tabSize:t.tabSize,indentSize:t.indentSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return O(this._eventEmitter.fastEvent((t=>e(t.rawContentChangedEvent))),this._onDidChangeInjectedText.event((t=>e(t))))}get bracketPairs(){return this._bracketPairColorizer}get guides(){return this._guidesTextModelPart}get backgroundTokenizationState(){return this._backgroundTokenizationState}handleTokenizationProgress(e){if(2===this._backgroundTokenizationState)return;const t=e?2:1;this._backgroundTokenizationState!==t&&(this._backgroundTokenizationState=t,this._bracketPairColorizer.handleDidChangeBackgroundTokenizationState(),this._onBackgroundTokenizationStateChanged.fire())}dispose(){this._isDisposing=!0,this._onWillDispose.fire(),this._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this._isDisposing=!1;const e=new ox([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=B.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this._isDisposing||(this._bracketPairColorizer.handleDidChangeContent(t),this._tokenization.handleDidChangeContent(t),this._eventEmitter.fire(new mC(e,t)))}setValue(e){if(this._assertNotDisposed(),null===e)return;const{textBuffer:t,disposable:i}=xx(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,o,s,r){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:o,isRedoing:s,isFlush:r}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._tokens.flush(),this._semanticTokens.flush(),this._decorations=Object.create(null),this._decorationsTree=new Tx,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new gC([new aC],this._versionId,!1,!1),this._createContentChanged2(new ia(1,1,o,s),0,n,this.getValue(),!1,!1,!0))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),n=this.getValueLengthInRange(i),o=this.getLineCount(),s=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new gC([new uC],this._versionId,!1,!1),this._createContentChanged2(new ia(1,1,o,s),0,n,this.getValue(),!1,!1,!1))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let n=1;n<=i;n++){const i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,i=void 0!==e.indentSize?e.indentSize:this._options.indentSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,r=new cb({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o,bracketPairColorizationOptions:s});if(this._options.equals(r))return;const a=this._options.createChangeEvent(r);this._options=r,this._bracketPairColorizer.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const i=aS(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),la(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(Ss.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map((e=>({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new Dx(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){return this._assertNotDisposed(),this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn;let o=Math.floor("number"!=typeof i||isNaN(i)?1:i),s=Math.floor("number"!=typeof n||isNaN(n)?1:n);if(o<1)o=1,s=1;else if(o>t)o=t,s=this.getLineMaxColumn(o);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(o);s>=e&&(s=e)}const r=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof r||isNaN(r)?1:r),c=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,c=1;else if(l>t)l=t,c=this.getLineMaxColumn(l);else if(c<=1)c=1;else{const e=this.getLineMaxColumn(l);c>=e&&(c=e)}return i===o&&n===s&&r===l&&a===c&&e instanceof ia&&!(e instanceof na)?e:new ia(o,s,l,c)}_isValidPosition(e,t,i){return"number"==typeof e&&"number"==typeof t&&(!isNaN(e)&&!isNaN(t)&&(!(e<1||t<1)&&((0|e)===e&&(0|t)===t&&(!(e>this._buffer.getLineCount())&&(1===t||!(t>this.getLineMaxColumn(e))&&(1!==i||!hs(this._buffer.getLineCharCode(e,t-2))))))))}_validatePosition(e,t,i){const n=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(n<1)return new Do(1,1);if(n>s)return new Do(s,this.getLineMaxColumn(s));if(o<=1)return new Do(n,1);const r=this.getLineMaxColumn(n);return o>=r?new Do(n,r):1===i&&hs(this._buffer.getLineCharCode(n,o-2))?new Do(n,o-1):new Do(n,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof Do&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(i,n,0))return!1;if(!this._isValidPosition(o,s,0))return!1;if(1===t){const e=n>1?this._buffer.getLineCharCode(i,n-2):0,t=s>1&&s<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,s-2):0,r=hs(e),a=hs(t);return!r&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof ia&&!(e instanceof na)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),i=this._validatePosition(e.endLineNumber,e.endColumn,0),n=t.lineNumber,o=t.column,s=i.lineNumber,r=i.column;{const e=o>1?this._buffer.getLineCharCode(n,o-2):0,t=r>1&&r<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,r-2):0,i=hs(e),a=hs(t);return i||a?n===s&&o===r?new ia(n,o-1,s,r-1):i&&a?new ia(n,o-1,s,r+1):i?new ia(n,o-1,s,r):new ia(n,o,s,r+1):new ia(n,o,s,r)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new ia(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}findMatches(e,t,i,n,o,s,r=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>ia.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let c;if(l.push(a.reduce(((e,t)=>ia.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!i&&e.indexOf("\n")<0){const t=new zS(e,i,n,o).parseSearchRequest();if(!t)return[];c=e=>this.findMatchesLineByLine(e,t,s,r)}else c=t=>KS.findMatches(this,new zS(e,i,n,o),t,s,r);return l.map(c).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,i,n,o,s){this._assertNotDisposed();const r=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const t=new zS(e,i,n,o).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new ia(r.lineNumber,r.column,a,this.getLineMaxColumn(a)),c=this.findMatchesLineByLine(l,t,s,1);return KS.findNextMatch(this,new zS(e,i,n,o),r,s),c.length>0?c[0]:(l=new ia(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),c=this.findMatchesLineByLine(l,t,s,1),c.length>0?c[0]:null)}return KS.findNextMatch(this,new zS(e,i,n,o),r,s)}findPreviousMatch(e,t,i,n,o,s){this._assertNotDisposed();const r=this.validatePosition(t);return KS.findPreviousMatch(this,new zS(e,i,n,o),r,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof hb?e:new hb(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,n=e.length;i({range:this.validateRange(e.range),text:e.text})));let n=!0;if(e)for(let t=0,o=e.length;to.endLineNumber,r=o.startLineNumber>t.endLineNumber;if(!n&&!r){s=!0;break}}if(!s){n=!1;break}}if(n)for(let e=0,n=this._trimAutoWhitespaceLines.length;et.endLineNumber||n===t.startLineNumber&&t.startColumn===o&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||n===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){s=!1;break}}if(s){const e=new ia(n,1,n,o);t.push(new hb(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i)}_applyUndo(e,t,i,n){const o=e.map((e=>{const t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new ia(t.lineNumber,t.column,i.lineNumber,i.column),text:e.oldText}}));this._applyUndoRedoEdits(o,t,!0,!1,i,n)}_applyRedo(e,t,i,n){const o=e.map((e=>{const t=this.getPositionAt(e.oldPosition),i=this.getPositionAt(e.oldEnd);return{range:new ia(t.lineNumber,t.column,i.lineNumber,i.column),text:e.newText}}));this._applyUndoRedoEdits(o,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,o,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(o)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),n=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=n.changes;if(this._trimAutoWhitespaceLines=n.trimAutoWhitespaceLineNumbers,0!==s.length){for(let e=0,t=s.length;e0?t.text.charCodeAt(0):0),this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}const e=[];this._increaseVersionId();let t=i;for(let i=0,n=s.length;i=0;t--){const i=a+t,n=g+t;v.takeFromEndWhile((e=>e.lineNumber>n));const o=v.takeFromEndWhile((e=>e.lineNumber===n));e.push(new cC(i,this.getLineContent(n),o))}if(he.lineNumbere.lineNumber===t))}e.push(new hC(n+1,a+d,c,l))}t+=u}this._emitContentChangedEvent(new gC(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===n.reverseEdits?void 0:n.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(null===e||0===e.size)return;const t=[...e].map((e=>new cC(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new pC(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(t,i)=>this._deltaDecorationsImpl(e,[],[{range:t,options:i}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,Bx(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,i)=>0===t.length&&0===i.length?[]:this._deltaDecorationsImpl(e,t,i)};let n=null;try{n=t(i)}catch(e){w(e)}return i.addDecoration=Lx,i.changeDecoration=Lx,i.changeDecorationOptions=Lx,i.removeDecoration=Lx,i.deltaDecorations=Lx,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Wx[i]}])[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;const o=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(o.startLineNumber,o.startColumn),r=this._buffer.getOffsetAt(o.endLineNumber,o.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),s,r,o),n.setOptions(Wx[i]),this._decorationsTree.insert(n),n.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,i=t.length;ethis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,n=!1){const o=this.getLineCount(),s=Math.min(o,Math.max(1,e)),r=Math.min(o,Math.max(1,t)),a=this.getLineMaxColumn(r),l=new ia(s,1,r,a),c=this._getDecorationsInRange(l,i,n);return c.push(...this._decorationProvider.getDecorationsInRange(l,i,n)),c}getDecorationsInRange(e,t=0,i=!1){const n=this.validateRange(e),o=this._getDecorationsInRange(n,t,i);return o.push(...this._decorationProvider.getDecorationsInRange(n,t,i)),o}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),n=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return lC.fromDecorations(n).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}_getDecorationsInRange(e,t,i){const n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,n,o,t,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(i.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const n=this._validateRangeRelaxedNoAllocations(t),o=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),s=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),o,s,n),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const n=!(!i.options.overviewRuler||!i.options.overviewRuler.color),o=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(i.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}n!==o?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i){const n=this.getVersionId(),o=t.length;let s=0;const r=i.length;let a=0;const l=new Array(r);for(;s0&&this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!1,ranges:t})}this.handleTokenizationProgress(t)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({tokenizationSupportChanged:!1,semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}tokenizeViewport(e,t){e=Math.max(1,e),t=Math.min(this._buffer.getLineCount(),t),this._tokenization.tokenizeViewport(e,t)}clearTokens(){this._tokens.flush(),this._emitModelTokensChangedEvent({tokenizationSupportChanged:!0,semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._buffer.getLineCount()}]})}_emitModelTokensChangedEvent(e){this._isDisposing||(this._bracketPairColorizer.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}resetTokenization(){this._tokenization.reset()}forceTokenization(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)}isCheapToTokenize(e){return this._tokenization.isCheapToTokenize(e)}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(e)}_getLineTokens(e){const t=this.getLineContent(e),i=this._tokens.getTokens(this._languageId,e-1,t);return this._semanticTokens.addSparseTokens(e,i)}getLanguageId(){return this._languageId}setMode(e){if(this._languageId===e)return;const t={oldLanguage:this._languageId,newLanguage:e};this._languageId=e,this._bracketPairColorizer.handleDidChangeLanguage(t),this._tokenization.handleDidChangeLanguage(t),this._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}getLanguageIdAtPosition(e,t){const i=this.validatePosition(new Do(e,t)),n=this.getLineTokens(i.lineNumber);return n.getLanguageId(n.findTokenIndexAtOffset(i.column-1))}getTokenTypeIfInsertingCharacter(e,t,i){const n=this.validatePosition(new Do(e,t));return this._tokenization.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){const n=this.validatePosition(e);return this._tokenization.tokenizeLineWithEdit(n,t,i)}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}getWordAtPosition(t){this._assertNotDisposed();const i=this.validatePosition(t),n=this.getLineContent(i.lineNumber),o=this._getLineTokens(i.lineNumber),s=o.findTokenIndexAtOffset(i.column-1),[r,a]=e._findLanguageBoundaries(o,s),l=qa(i.column,this.getLanguageConfiguration(o.getLanguageId(s)).getWordDefinition(),n.substring(r,a),r);if(l&&l.startColumn<=t.column&&t.column<=l.endColumn)return l;if(s>0&&r===i.column-1){const[r,a]=e._findLanguageBoundaries(o,s-1),l=qa(i.column,this.getLanguageConfiguration(o.getLanguageId(s-1)).getWordDefinition(),n.substring(r,a),r);if(l&&l.startColumn<=t.column&&t.column<=l.endColumn)return l}return null}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let n=0;for(let o=t;o>=0&&e.getLanguageId(o)===i;o--)n=e.getStartOffset(o);let o=e.getLineContent().length;for(let n=t,s=e.getCount();n=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([Sx(4,bx),Sx(5,rc),Sx(6,gc)],Ex);class Tx{constructor(){this._decorationsTree0=new vS,this._decorationsTree1=new vS,this._injectedTextDecorationsTree=new vS}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)null===i.range&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,n,o){const s=e.getVersionId(),r=this._intervalSearch(t,i,n,o,s);return this._ensureNodesHaveRanges(e,r)}_intervalSearch(e,t,i,n,o){const s=this._decorationsTree0.intervalSearch(e,t,i,n,o),r=this._decorationsTree1.intervalSearch(e,t,i,n,o),a=this._injectedTextDecorationsTree.intervalSearch(e,t,i,n,o);return s.concat(r).concat(a)}getInjectedTextInInterval(e,t,i,n){const o=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,i,n,!1,o);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const i=e.getVersionId(),n=this._injectedTextDecorationsTree.search(t,!1,i);return this._ensureNodesHaveRanges(e,n).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,i,n){const o=e.getVersionId(),s=this._search(t,i,n,o);return this._ensureNodesHaveRanges(e,s)}_search(e,t,i,n){if(i)return this._decorationsTree1.search(e,t,n);{const i=this._decorationsTree0.search(e,t,n),o=this._decorationsTree1.search(e,t,n),s=this._injectedTextDecorationsTree.search(e,t,n);return i.concat(o).concat(s)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),n=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(n)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){Ix(e)?this._injectedTextDecorationsTree.insert(e):Nx(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Ix(e)?this._injectedTextDecorationsTree.delete(e):Nx(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Ix(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Nx(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,n){this._decorationsTree0.acceptReplace(e,t,i,n),this._decorationsTree1.acceptReplace(e,t,i,n),this._injectedTextDecorationsTree.acceptReplace(e,t,i,n)}}function Mx(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class Rx{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Px extends Rx{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:rb.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class Ax extends Rx{constructor(e){super(e),this.position=e.position}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?vh.fromHex(e):t.getColor(e.id)}}class Ox{constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}static from(e){return e instanceof Ox?e:new Ox(e)}}class Fx{constructor(e){var t,i;this.description=e.description,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?Mx(e.className):null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Px(e.overviewRuler):null,this.minimap=e.minimap?new Ax(e.minimap):null,this.glyphMarginClassName=e.glyphMarginClassName?Mx(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Mx(e.linesDecorationsClassName):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Mx(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Mx(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Mx(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Mx(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Mx(e.afterContentClassName):null,this.after=e.after?Ox.from(e.after):null,this.before=e.before?Ox.from(e.before):null,this.hideInCommentTokens=null!==(t=e.hideInCommentTokens)&&void 0!==t&&t,this.hideInStringTokens=null!==(i=e.hideInStringTokens)&&void 0!==i&&i}static register(e){return new Fx(e)}static createDynamic(e){return new Fx(e)}}Fx.EMPTY=Fx.register({description:"empty"});const Wx=[Fx.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Fx.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Fx.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Fx.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Bx(e){return e instanceof Fx?e:Fx.createDynamic(e)}class Vx extends B{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Pe),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;if(this._deferredCnt--,0===this._deferredCnt){if(this._shouldFire){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler};this._shouldFire=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._actual.fire(e)}null===(e=this._affectedInjectedTextLines)||void 0===e||e.clear(),this._affectedInjectedTextLines=null}}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){this._affectsMinimap||(this._affectsMinimap=!(!e.minimap||!e.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!(!e.overviewRuler||!e.overviewRuler.color)),this._shouldFire=!0}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._shouldFire=!0}}class Hx extends B{constructor(){super(),this._fastEmitter=this._register(new Pe),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Pe),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}function zx(e,t){return null===e?t?qx.INSTANCE:Kx.INSTANCE:new jx(e,t)}class jx{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const n=i>0?this._projectionData.breakOffsets[i-1]:0,o=this._projectionData.breakOffsets[i];let s;if(null!==this._projectionData.injectionOffsets){const i=this._projectionData.injectionOffsets.map(((e,t)=>new lC(0,0,e+1,this._projectionData.injectionOptions[t],0)));s=lC.applyInjectedText(e.getLineContent(t),i).substring(n,o)}else s=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:o+1});return i>0&&(s=$x(this._projectionData.wrappedTextIndentLength)+s),s}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const n=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],n),n[0]}getViewLinesData(e,t,i,n,o,s,r){this._assertVisible();const a=this._projectionData,l=a.injectionOffsets,c=a.injectionOptions;let d,h=null;if(l){h=[];let e=0,t=0;for(let i=0;i0?a.breakOffsets[i-1]:0,s=a.breakOffsets[i];for(;ts)break;if(o0?a.wrappedTextIndentLength:0,r=t+Math.max(d-o,0),l=t+Math.min(h-o,s);r!==l&&n.push(new Xv(r,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(h<=s))break;e+=r,t++}}}d=l?e.getLineTokens(t).withInserted(l.map(((e,t)=>({offset:e,text:c[t].content,tokenMetadata:dw.defaultTokenMetadata})))):e.getLineTokens(t);for(let e=i;e0?n.wrappedTextIndentLength:0,s=i>0?n.breakOffsets[i-1]:0,r=n.breakOffsets[i],a=e.sliceAndInflate(s,r,o);let l=a.getLineContent();i>0&&(l=$x(n.wrappedTextIndentLength)+l);const c=this._projectionData.getMinOutputOffset(i)+1,d=l.length+1,h=i+1=Ux.length)for(let t=1;t<=e;t++)Ux[t]=Zx(t);return Ux[e]}function Zx(e){return new Array(e+1).join(" ")}class Gx{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Ia(e);const i=this.values,n=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Ia(e),t=Ia(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;const o=i.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Ia(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,o=0,s=0;for(;t<=i;)if(n=t+(i-t)/2|0,o=this.prefixSum[n],s=o-this.values[n],e=o))break;t=n+1}return new Xx(n,e-s)}}class Yx{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),0===e?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new Xx(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=hl(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=i+t;for(let n=0;nt.lineNumber===e+1));s.addRequest(i[e],n,t?t[e]:null)}const a=s.finalize(),l=[],c=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(ia.compareRangesUsingStarts);let d=1,h=0,u=-1,g=u+1=d&&t<=h,n=zx(a[e],!i);l[e]=n.getViewLineCount(),this.modelLineProjections[e]=n}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Yx(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=e.map((e=>this.model.validateRange(e))),i=function(e){if(0===e.length)return[];const t=e.slice();t.sort(ia.compareRangesUsingStarts);const i=[];let n=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,s=t.length;eo+1?(i.push(new ia(n,1,o,1)),n=s.startLineNumber,o=s.endLineNumber):s.endLineNumber>o&&(o=s.endLineNumber)}return i.push(new ia(n,1,o,1)),i}(t),n=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(ia.compareRangesUsingStarts);if(i.length===n.length){let e=!1;for(let t=0;t({range:e,options:Fx.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,o);const s=i;let r=1,a=0,l=-1,c=l+1=r&&t<=a?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),i=!0):(d=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),i=!0)),i){const t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return d||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return!(e<1||e>this.modelLineProjections.length)&&this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,n){const o=this.fontInfo.equals(e),s=this.wrappingStrategy===t,r=this.wrappingColumn===i,a=this.wrappingIndent===n;if(o&&s&&r&&a)return!1;const l=o&&s&&!r&&a;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n;let c=null;if(l){c=[];for(let e=0,t=this.modelLineProjections.length;e2&&!this.modelLineProjections[t-2].isVisible(),s=1===t?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let r=0;const a=[],l=[];for(let e=0,t=n.length;er?(l=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,c=l+r-1,u=c+1,g=u+(o-r)-1,a=!0):ot?t:0|e}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),r=this.model.guides.getActiveIndentGuide(n.lineNumber,o.lineNumber,s.lineNumber),a=this.convertModelPositionToViewPosition(r.startLineNumber,1),l=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:r.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,n=t.remainder;return new Qx(i+1,n)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Do(e.modelLineNumber,n)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),n=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Do(e.modelLineNumber,n)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),n=this.getViewLineInfo(t),o=new Array;let s=this.getModelStartPositionOfViewLine(i),r=new Array;for(let e=i.modelLineNumber;e<=n.modelLineNumber;e++){const t=this.modelLineProjections[e-1];if(t.isVisible()){const o=e===i.modelLineNumber?i.modelLineWrappedLineIdx:0,s=e===n.modelLineNumber?n.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=o;te.horizontalLine?new xv(e.visibleColumn,e.className,new kv(e.horizontalLine.top,this.convertModelPositionToViewPosition(n.modelLineNumber,e.horizontalLine.endColumn).column)):e)),s.push(i)}}return s}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let o=[];const s=[],r=[],a=i.lineNumber-1,l=n.lineNumber-1;let c=null;for(let e=a;e<=l;e++){const t=this.modelLineProjections[e];if(t.isVisible()){const n=t.getViewLineNumberOfModelPosition(0,e===a?i.column:1),o=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),l=o-n+1;let d=0;l>1&&1===t.getViewLineMinColumn(this.model,e+1,o)&&(d=0===n?1:2),s.push(l),r.push(d),null===c&&(c=new Do(e+1,0))}else null!==c&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,e)),c=null)}null!==c&&(o=o.concat(this.model.guides.getLinesIndentGuides(c.lineNumber,n.lineNumber)),c=null);const d=t-e+1,h=new Array(d);let u=0;for(let e=0,t=o.length;et&&(h=!0,d=t-o+1),l.getViewLinesData(this.model,n+1,c,d,o-e,i,a),o+=d,h)break}return a}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const n=this.projectedModelLineLineCounts.getIndexOf(e-1),o=n.index,s=n.remainder,r=this.modelLineProjections[o],a=r.getViewLineMinColumn(this.model,o+1,s),l=r.getViewLineMaxColumn(this.model,o+1,s);tl&&(t=l);const c=r.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new Do(o+1,c)).equals(i)?new Do(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new ia(i.lineNumber,i.column,n.lineNumber,n.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),n=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Do(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new ia(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2){const n=this.model.validatePosition(new Do(e,t)),o=n.lineNumber,s=n.column;let r=o-1,a=!1;for(;r>0&&!this.modelLineProjections[r].isVisible();)r--,a=!0;if(0===r&&!this.modelLineProjections[r].isVisible())return new Do(1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(r);let c;return c=a?this.modelLineProjections[r].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(r+1),i):this.modelLineProjections[o-1].getViewPositionOfModelPosition(l,s,i),c}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return ia.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new ia(t.lineNumber,t.column,i.lineNumber,i.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const e=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(e,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(0===i&&!this.modelLineProjections[i].isVisible())return 1;const n=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(n,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i){const n=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),o=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(o.lineNumber-n.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new ia(n.lineNumber,1,o.lineNumber,o.column),t,i);let s=[];const r=n.lineNumber-1,a=o.lineNumber-1;let l=null;for(let e=r;e<=a;e++)if(this.modelLineProjections[e].isVisible())null===l&&(l=new Do(e+1,e===r?n.column:1));else if(null!==l){const n=this.model.getLineMaxColumn(e);s=s.concat(this.model.getDecorationsInRange(new ia(l.lineNumber,l.column,e,n),t,i)),l=null}null!==l&&(s=s.concat(this.model.getDecorationsInRange(new ia(l.lineNumber,l.column,o.lineNumber,o.column),t,i)),l=null),s.sort(((e,t)=>{const i=ia.compareRangesUsingStarts(e.range,t.range);return 0===i?e.idt.id?1:0:i}));let c=[],d=0,h=null;for(const e of s){const t=e.id;h!==t&&(h=t,c[d++]=e)}return c}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return 0===t.modelLineWrappedLineIdx?this.model.getLineIndentColumn(t.modelLineNumber):0}}class Qx{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}get isWrappedLineContinuation(){return this.modelLineWrappedLineIdx>0}}class ek{constructor(e,t){this.modelRange=e,this.viewLines=t}}class tk{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class ik{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new nk(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,n){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new DC(t,i)}onModelLinesInserted(e,t,i,n){return new LC(t,i)}onModelLineChanged(e,t,i){return[!1,new kC(t,t),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,n=new Array(i);for(let e=0;et)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}class ok extends B{constructor(e,t,i,n,o,s,r,a){if(super(),this.languageConfigurationService=r,this._themeService=a,this._editorId=e,this._configuration=t,this.model=i,this._eventDispatcher=new PC,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new ua(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new ri((()=>this.tokenizeViewport()),50)),this._updateConfigurationViewLineCount=this._register(new ri((()=>this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStartLine=-1,this._viewportStartLineTrackedRange=null,this._viewportStartLineDelta=0,this.model.isTooLargeForTokenization())this._lines=new ik(this.model);else{const e=this._configuration.options,t=e.get(44),i=e.get(125),s=e.get(132),r=e.get(124);this._lines=new Jx(this._editorId,this.model,n,o,t,this.model.getOptions().tabSize,i,s.wrappingColumn,r)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new zC(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Sw(this._configuration,this.getLineCount(),s)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitSingleViewEvent(new NC(e)),this._eventDispatcher.emitOutgoingEvent(new WC(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((e=>{this._eventDispatcher.emitOutgoingEvent(e)}))),this._decorations=new xw(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(Kv.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new MC)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new IC(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStartLineTrackedRange=this.model._setTrackedRange(this._viewportStartLineTrackedRange,null,1),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){const e=this.viewLayout.getLinesViewportData(),t=new ia(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber)),i=this._toModelVisibleRanges(t);for(const e of i)this.model.tokenizeViewport(e.startLineNumber,e.endLineNumber)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new yC(e)),this._eventDispatcher.emitOutgoingEvent(new FC(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new fC)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new _C)}_onConfigurationChanged(e,t){let i=null;if(-1!==this._viewportStartLine){const e=new Do(this._viewportStartLine,this.getLineMinColumn(this._viewportStartLine));i=this.coordinatesConverter.convertViewPositionToModelPosition(e)}let n=!1;const o=this._configuration.options,s=o.get(44),r=o.get(125),a=o.get(132),l=o.get(124);if(this._lines.setWrappingSettings(s,r,a.wrappingColumn,l)&&(e.emitViewEvent(new wC),e.emitViewEvent(new xC),e.emitViewEvent(new CC(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),0!==this.viewLayout.getCurrentScrollTop()&&(n=!0),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(81)&&(this._decorations.reset(),e.emitViewEvent(new CC(null))),e.emitViewEvent(new vC(t)),this.viewLayout.onConfigurationChanged(t),n&&i){const e=this.coordinatesConverter.convertModelPositionToViewPosition(i),t=this.viewLayout.getVerticalOffsetForLineNumber(e.lineNumber);this.viewLayout.setScrollPosition({scrollTop:t+this._viewportStartLineDelta},1)}ua.shouldRecreate(t)&&(this.cursorConfig=new ua(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const t=this._eventDispatcher.beginEmitViewEvents();let i=!1,n=!1;const o=e.changes,s=e instanceof gC?e.versionId:null,r=this._lines.createLineBreaksComputer();for(const e of o)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),r.addRequest(i,n,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),r.addRequest(e.detail,t,null);break}}const a=r.finalize(),l=new Cl(a);for(const e of o)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new wC),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const n=this._lines.onModelLinesDeleted(s,e.fromLineNumber,e.toLineNumber);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesDeleted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 4:{const n=l.takeCount(e.detail.length),o=this._lines.onModelLinesInserted(s,e.fromLineNumber,e.toLineNumber,n);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesInserted(o.fromLineNumber,o.toLineNumber)),i=!0;break}case 2:{const i=l.dequeue(),[o,r,a,c]=this._lines.onModelLineChanged(s,e.lineNumber,i);n=o,r&&t.emitViewEvent(r),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),c&&(t.emitViewEvent(c),this.viewLayout.onLinesDeleted(c.fromLineNumber,c.toLineNumber));break}}null!==s&&this._lines.acceptVersionId(s),this.viewLayout.onHeightMaybeChanged(),!i&&n&&(t.emitViewEvent(new xC),t.emitViewEvent(new CC(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}if(this._viewportStartLine=-1,this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&this._viewportStartLineTrackedRange){const e=this.model._getTrackedRange(this._viewportStartLineTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStartLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let i=0,n=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new SC),this.cursorConfig=new ua(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new ua(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new wC),e.emitViewEvent(new xC),e.emitViewEvent(new CC(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new ua(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new CC(e))})))}setHiddenAreas(e){let t=!1;try{const i=this._eventDispatcher.beginEmitViewEvents();t=this._lines.setHiddenAreas(e),t&&(i.emitViewEvent(new wC),i.emitViewEvent(new xC),i.emitViewEvent(new CC(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),t&&this._eventDispatcher.emitOutgoingEvent(new BC)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(131),t=this._configuration.options.get(59),i=Math.max(20,Math.round(e.height/t)),n=this.viewLayout.getLinesViewportData(),o=Math.max(1,n.completelyVisibleStartLineNumber-i),s=Math.min(this.getLineCount(),n.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new ia(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(0===i.length)return[t];const n=[];let o=0,s=t.startLineNumber,r=t.startColumn;const a=t.endLineNumber,l=t.endColumn;for(let e=0,t=i.length;ea||(se.toInlineDecoration(t)))]),new Gv(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,n,s.tokens,r,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new $v(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,Ed(this._configuration.options)),i=new sk;for(const n of t){const t=n.options,o=t.overviewRuler;if(!o)continue;const s=o.position;if(0===s)continue;const r=o.getColor(e.value),a=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.startLineNumber,n.range.startColumn),l=this.coordinatesConverter.getViewLineNumberOfModelPosition(n.range.endLineNumber,n.range.endColumn);i.accept(r,t.zIndex,a,l,s)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const e=t.options.overviewRuler;e&&e.invalidateCachedColor();const i=t.options.minimap;i&&i.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}deduceModelPositionRelativeToViewPosition(e,t,i){const n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=i:t+=i);const o=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(o)}getPlainTextToCopy(e,t,i){const n=i?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(ia.compareRangesUsingStarts);let o=!1,s=!1;for(const t of e)t.isEmpty()?o=!0:s=!0;if(!s){if(!t)return"";const i=e.map((e=>e.startLineNumber));let o="";for(let e=0;e0&&i[e-1]===i[e]||(o+=this.model.getLineContent(i[e])+n);return o}if(o&&t){const t=[];let n=0;for(const o of e){const e=o.startLineNumber;o.isEmpty()?e!==n&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(o,i?2:0)),n=e}return 1===t.length?t[0]:t}const r=[];for(const t of e)t.isEmpty()||r.push(this.model.getValueInRange(t,i?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===cw)return null;if(1!==e.length)return null;let n=e[0];if(n.isEmpty()){if(!t)return null;const e=n.startLineNumber;n=new ia(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const o=this._configuration.options.get(44),s=this._getColorMap();let r;return/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===Bd.fontFamily?r=Bd.fontFamily:(r=o.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${Bd.fontFamily}`),{mode:i,html:`
    `+this._getHTMLToCopy(n,s)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,s=e.endColumn,r=this.getTabSize();let a="";for(let e=i;e<=o;e++){const l=this.model.getLineTokens(e),c=l.getLineContent(),d=e===i?n-1:0,h=e===o?s-1:c.length;a+=""===c?"
    ":fw(c,l.inflate(),t,d,h,r,de)}return a}_getColorMap(){const e=y_.getColorMap(),t=["#000000"];if(e)for(let i=1,n=e.length;ithis._cursor.setStates(n,e,t,i)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector((n=>this._cursor.setSelections(n,e,t,i)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector((t=>this._cursor.restoreState(t,e)))}_executeCursorEdit(e){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new HC):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit((n=>this._cursor.executeEdits(n,e,t,i)))}startComposition(){this._cursor.setIsDoingComposition(!0),this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){this._cursor.setIsDoingComposition(!1),this._executeCursorEdit((t=>this._cursor.endComposition(t,e)))}type(e,t){this._executeCursorEdit((i=>this._cursor.type(i,e,t)))}compositionType(e,t,i,n,o){this._executeCursorEdit((s=>this._cursor.compositionType(s,e,t,i,n,o)))}paste(e,t,i,n){this._executeCursorEdit((o=>this._cursor.paste(o,e,t,i,n)))}cut(e){this._executeCursorEdit((t=>this._cursor.cut(t,e)))}executeCommand(e,t){this._executeCursorEdit((i=>this._cursor.executeCommand(i,e,t)))}executeCommands(e,t){this._executeCursorEdit((i=>this._cursor.executeCommands(i,e,t)))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector((n=>this._cursor.revealPrimary(n,e,i,0,t,0)))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new ia(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new EC(e,!1,i,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new ia(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new EC(e,!1,i,null,0,!0,0))))}revealRange(e,t,i,n,o){this._withViewEventsCollector((s=>s.emitViewEvent(new EC(e,!1,i,null,n,t,o))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new RC),this._eventDispatcher.emitOutgoingEvent(new BC))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}}class sk{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,n,o){const s=this._asMap[e];if(s){const e=s.data,t=e[e.length-3],r=e[e.length-1];if(t===o&&r+1>=i)return void(n>r&&(e[e.length-1]=n));e.push(o,i,n)}else{const s=new Qv(e,t,[o,i,n]);this._asMap[e]=s,this.asArray.push(s)}}}class rk{constructor(...e){this._entries=new Map;for(let[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}get(e){return this._entries.get(e)}}var ak;!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(ak||(ak={})),function(e){const t="error",i="warning",n="info";e.fromValue=function(o){return o?as(t,o)?e.Error:as(i,o)||as("warn",o)?e.Warning:as(n,o)?e.Info:e.Ignore:e.Ignore},e.toString=function(o){switch(o){case e.Error:return t;case e.Warning:return i;case e.Info:return n;default:return"ignore"}}}(ak||(ak={}));const lk=ak;var ck=lk;const dk=xo("notificationService");class hk{constructor(e,t,i,n,o){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=n,this.wrappedTextIndentLength=o}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let i=this.breakOffsets[e]-t;return e>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let i=0===e?t:this.breakOffsets[e-1]+t;if(null!==this.injectionOffsets)for(let e=0;ethis.injectionOffsets[e];e++)i0?this.breakOffsets[o-1]:0,0===t)if(e<=s)n=o-1;else{if(!(e>r))break;i=o+1}else if(e=r))break;i=o+1}}let r=e-s;return o>0&&(r+=this.wrappedTextIndentLength),new pk(o,r)}normalizeOutputPosition(e,t,i){if(null!==this.injectionOffsets){const n=this.outputPositionToOffsetInInputWithInjections(e,t),o=this.normalizeOffsetInInputWithInjectionsAroundInjections(n,i);if(o!==n)return this.offsetInInputWithInjectionsToOutputPosition(o,i)}if(0===i){if(e>0&&t===this.getMinOutputOffset(e))return new pk(e-1,this.getMaxOutputOffset(e-1))}else if(1===i&&e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(2===t){if(e===i.offsetInInputWithInjections+i.length&&uk(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(gk(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!uk(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!gk(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t){let e=i.offsetInInputWithInjections+i.length,t=i.injectedTextIndex;for(;t+1=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}pt()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),n=this.getInjectedTextAtOffset(i);return n?{options:this.injectionOptions[n.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(null!==t){let n=0;for(let o=0;oe)break;if(e<=a)return{injectedTextIndex:o,offsetInInputWithInjections:r,length:s};n+=s}}}}function uk(e){return null==e||e===lb.Right||e===lb.Both}function gk(e){return null==e||e===lb.Left||e===lb.Both}class pk{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new Do(e+this.outputLineIndex,this.outputOffset+1)}}class mk{constructor(e,t){this.classifier=new fk(e,t)}static create(e){return new mk(e.get(120),e.get(119))}createLineBreaksComputer(e,t,i,n){const o=[],s=[],r=[];return{addRequest:(e,t,i)=>{o.push(e),s.push(t),r.push(i)},finalize:()=>{const a=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,l=[];for(let e=0,c=o.length;e=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let _k=[],vk=[];function bk(e,t,i,n,o,s,r){if(-1===o)return null;const a=i.length;if(a<=1)return null;const l=t.breakOffsets,c=t.breakOffsetsVisibleColumn,d=xk(i,n,o,s,r),h=o-d,u=_k,g=vk;let p=0,m=0,f=0,_=o;const v=l.length;let b=0;if(b>=0){let e=Math.abs(c[b]-_);for(;b+1=e)break;e=t,b++}}for(;bt&&(t=m,o=f);let r=0,d=0,C=0,w=0;if(o<=_){let f=o,v=0===t?0:i.charCodeAt(t-1),b=0===t?0:e.get(v),y=!0;for(let o=t;om&&Sk(0,b,a,l)&&(r=t,d=f),f+=c,f>_){t>m?(C=t,w=f-c):(C=o+1,w=f),f-d>h&&(r=0),y=!1;break}v=a,b=l}if(y){p>0&&(u[p]=l[l.length-1],g[p]=c[l.length-1],p++);break}}if(0===r){let a=o,l=i.charCodeAt(t),c=e.get(l),u=!1;for(let n=t-1;n>=m;n--){const t=n+1,o=i.charCodeAt(n);if(9===o){u=!0;break}let g,p;if(us(o)?(n--,g=0,p=2):(g=e.get(o),p=ks(o)?s:1),a<=_){if(0===C&&(C=t,w=a),a<=_-h)break;if(Sk(0,g,l,c)){r=t,d=a;break}}a-=p,l=o,c=g}if(0!==r){const e=h-(w-d);if(e<=n){const t=i.charCodeAt(C);let o;o=hs(t)?2:wk(t,w,n,s),e-o<0&&(r=0)}}if(u){b--;continue}}if(0===r&&(r=C,d=w),r<=m){const e=i.charCodeAt(m);hs(e)?(r=m+2,d=f+2):(r=m+1,d=f+wk(e,f,n,s))}for(m=r,u[p]=r,f=d,g[p]=d,p++,_=d+h;b<0||b=y)break;y=e,b++}}return 0===p?null:(u.length=p,g.length=p,_k=t.breakOffsets,vk=t.breakOffsetsVisibleColumn,t.breakOffsets=u,t.breakOffsetsVisibleColumn=g,t.wrappedTextIndentLength=d,t)}function Ck(e,t,i,n,o,s,r){const a=lC.applyInjectedText(t,i);let l,c;if(i&&i.length>0?(l=i.map((e=>e.options)),c=i.map((e=>e.column-1))):(l=null,c=null),-1===o)return l?new hk(c,l,[a.length],[],0):null;const d=a.length;if(d<=1)return l?new hk(c,l,[a.length],[],0):null;const h=xk(a,n,o,s,r),u=o-h,g=[],p=[];let m=0,f=0,_=0,v=o,b=a.charCodeAt(0),C=e.get(b),w=wk(b,0,n,s),y=1;hs(b)&&(w+=1,b=a.charCodeAt(1),C=e.get(b),y++);for(let t=y;tv&&((0===f||w-_>u)&&(f=i,_=w-l),g[m]=f,p[m]=_,m++,v=_+u,f=0),b=o,C=r}return 0!==m||i&&0!==i.length?(g[m]=d,p[m]=w,new hk(c,l,g,p,h)):null}function wk(e,t,i,n){return 9===e?i-t%i:ks(e)||e<32?n:1}function yk(e,t){return t-e%t}function Sk(e,t,i,n){return 32!==i&&(2===t||3===t&&2!==n||1===n||3===n&&1!==t)}function xk(e,t,i,n,o){let s=0;if(0!==o){const r=Jo(e);if(-1!==r){for(let i=0;ii&&(s=0)}}return s}var kk;const Dk=null===(kk=window.trustedTypes)||void 0===kk?void 0:kk.createPolicy("domLineBreaksComputer",{createHTML:e=>e});class Lk{static create(){return new Lk}constructor(){}createLineBreaksComputer(e,t,i,n){const o=[],s=[];return{addRequest:(e,t,i)=>{o.push(e),s.push(t)},finalize:()=>function(e,t,i,n,o,s){var r;function a(t){const i=s[t];if(i){const n=lC.applyInjectedText(e[t],i),o=i.map((e=>e.options)),s=i.map((e=>e.column-1));return new hk(s,o,[n.length],[],0)}return null}if(-1===n){const t=[];for(let i=0,n=e.length;il?(a=0,c=0):d=l-e}const u=r.substr(a),b=Ek(u,c,i,d,g,h);p[n]=a,m[n]=c,f[n]=u,_[n]=b[0],v[n]=b[1]}const b=g.build(),C=null!==(r=null==Dk?void 0:Dk.createHTML(b))&&void 0!==r?r:b;u.innerHTML=C,u.style.position="absolute",u.style.top="10000",u.style.wordWrap="break-word",document.body.appendChild(u);const w=document.createRange(),y=Array.prototype.slice.call(u.children,0),S=[];for(let t=0;te.options)),c=h.map((e=>e.column-1))):(l=null,c=null),S[t]=new hk(c,l,e,r,n)}return document.body.removeChild(u),S}(o,e,t,i,n,s)}}}function Ek(e,t,i,n,o,s){if(0!==s){const e=String(s);o.appendASCIIString('
    ');const r=e.length;let a=t,l=0;const c=[],d=[];let h=0");for(let t=0;t"),c[t]=l,d[t]=a;const n=h;h=t+1"),c[e.length]=l,d[e.length]=a,o.appendASCIIString("
    "),[c,d]}function Nk(e,t,i,n){if(i.length<=1)return null;const o=Array.prototype.slice.call(t.children,0),s=[];try{Ik(e,o,n,0,null,i.length-1,null,s)}catch(e){return console.log(e),null}return 0===s.length?null:(s.push(i.length),s)}function Ik(e,t,i,n,o,s,r,a){if(n===s)return;if(o=o||Tk(e,t,i[n],i[n+1]),r=r||Tk(e,t,i[s],i[s+1]),Math.abs(o[0].top-r[0].top)<=.1)return;if(n+1===s)return void a.push(s);const l=n+(s-n)/2|0,c=Tk(e,t,i[l],i[l+1]);Ik(e,t,i,n,o,l,c,a),Ik(e,t,i,l,c,s,r,a)}function Tk(e,t,i,n){return e.setStart(t[i/16384|0].firstChild,i%16384),e.setEnd(t[n/16384|0].firstChild,n%16384),e.getClientRects()}const Mk=xo("ILanguageFeaturesService");var Rk=function(e,t){return function(i,n){t(i,n,e)}};let Pk=0;class Ak{constructor(e,t,i,n,o){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=n,this.listenersToRemove=o}dispose(){A(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let Ok=class e extends B{constructor(e,t,i,n,o,s,r,a,l,c,d,h){super(),this.languageConfigurationService=d,this._onDidDispose=this._register(new Pe),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Pe),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Pe),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Pe),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Pe),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Pe),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeConfiguration=this._register(new Pe),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new Pe),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Pe),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Pe),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new Pe),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Pe),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Fk),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Fk),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new Pe),this.onWillType=this._onWillType.event,this._onDidType=this._register(new Pe),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new Pe),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new Pe),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new Pe),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new Pe),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new Pe),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new Pe),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new Pe),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new Pe),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onContextMenu=this._register(new Pe),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new Pe),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new Pe),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new Pe),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new Pe),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new Pe),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Pe),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Pe),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Pe),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Pe),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null;const u=Object.assign({},t);let g;this._domElement=e,this._overflowWidgetsDomNode=u.overflowWidgetsDomNode,delete u.overflowWidgetsDomNode,this._id=++Pk,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,u,c)),this._register(this._configuration.onDidChange((e=>{this._onDidChangeConfiguration.fire(e);const t=this._configuration.options;if(e.hasChanged(131)){const e=t.get(131);this._onDidLayoutChange.fire(e)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=o,this._commandService=s,this._themeService=a,this._register(new Wk(this,this._contextKeyService)),this._register(new Bk(this,this._contextKeyService,h)),this._instantiationService=n.createChild(new rk([or,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new Vk(e),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},g=Array.isArray(i.contributions)?i.contributions:Yr.getEditorContributions();for(const e of g)if(this._contributions[e.id])w(new Error(`Cannot have two contributions with the same id ${e.id}`));else try{const t=this._instantiationService.createInstance(e.ctor,this);this._contributions[e.id]=t}catch(e){w(e)}Yr.getEditorActions().forEach((e=>{if(this._actions[e.id])return void w(new Error(`Cannot have two actions with the same id ${e.id}`));const t=new KC(e.id,e.label,e.alias,gt(e.precondition),(()=>this._instantiationService.invokeFunction((t=>Promise.resolve(e.runEditorCommand(t,this,null))))),this._contextKeyService);this._actions[t.id]=t})),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(e,t,i){return new nh(e,t,this._domElement,i)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return UC.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();const e=Object.keys(this._contributions);for(let t=0,i=e.length;tia.lift(e))))}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return aa.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Do.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,n){if(!this._modelData)return;if(!ia.isIRange(e))throw new Error("Invalid arguments");const o=this._modelData.model.validateRange(e),s=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(o);this._modelData.viewModel.revealRange("api",i,s,t,n)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new ia(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,n){if(!Do.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new ia(e.lineNumber,e.column,e.lineNumber,e.column),t,i,n)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=na.isISelection(e),n=ia.isIRange(e);if(!i&&!n)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(n){const i={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(i,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new na(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,n){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new ia(e,1,t,1),i,!1,n)}revealRange(e,t=0,i=!1,n=!0){this._revealRange(e,i?1:0,n,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,n){if(!ia.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(ia.lift(e),t,i,n)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||0===e.length)throw new Error("Invalid arguments");for(let t=0,i=e.length;t0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]);const i=t.contributionsState||{},n=Object.keys(this._contributions);for(let e=0,t=n.length;ee.isSupported())),e}getAction(e){return this._actions[e]||null}trigger(e,t,i){switch(i=i||{},t){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(e);case"type":{const t=i;return void this._type(e,t.text||"")}case"replacePreviousChar":{const t=i;return void this._compositionType(e,t.text||"",t.replaceCharCnt||0,0,0)}case"compositionType":{const t=i;return void this._compositionType(e,t.text||"",t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0)}case"paste":{const t=i;return void this._paste(e,t.text||"",t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null)}case"cut":return void this._cut(e)}const n=this.getAction(t);n?Promise.resolve(n.run()).then(void 0,w):this._modelData&&(this._triggerEditorCommand(e,t,i)||this._triggerCommand(t,i))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&0!==t.length&&("keyboard"===e&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),"keyboard"===e&&this._onDidType.fire(t))}_compositionType(e,t,i,n,o){this._modelData&&this._modelData.viewModel.compositionType(t,i,n,o,e)}_paste(e,t,i,n,o){if(!this._modelData||0===t.length)return;const s=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste(t,i,n,e);const r=this._modelData.viewModel.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire({range:new ia(s.lineNumber,s.column,r.lineNumber,r.column),languageId:o})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const n=Yr.getEditorCommand(t);return!!n&&((i=i||{}).source=e,this._instantiationService.invokeFunction((e=>{Promise.resolve(n.runEditorCommand(e,this,i)).then(void 0,w)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(81)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(81)&&(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData)return!1;if(this._configuration.options.get(81))return!1;let n;return n=i?Array.isArray(i)?()=>i:i:()=>null,this._modelData.viewModel.executeEdits(e,t,n),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,Ed(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,Ed(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?0===e.length&&0===t.length?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){const t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(131)}createOverviewRuler(e){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(e):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarMouseDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarMouseDown(e)}layout(e){this._configuration.observeContainer(e),this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id."),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(e,t):null}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;const i=this._modelData.model.validatePosition(t),n=this._configuration.options,o=n.get(131);return{top:e._getVerticalOffsetForPosition(this._modelData,i.lineNumber,i.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(i.lineNumber,i.column)+o.glyphMarginWidth+o.lineNumbersWidth+o.decorationsWidth-this.getScrollLeft(),height:n.get(59)}}getOffsetForColumn(e,t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(e,t):-1}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,e)}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){jd(e,this._configuration.options.get(44))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e)return void(this._modelData=null);const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount()),e.onBeforeAttached();const i=new ok(this._id,this._configuration,e,Lk.create(),mk.create(this._configuration.options),(e=>_n(e)),this.languageConfigurationService,this._themeService);t.push(e.onDidChangeDecorations((e=>this._onDidChangeModelDecorations.fire(e)))),t.push(e.onDidChangeLanguage((t=>{this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._onDidChangeModelLanguage.fire(t)}))),t.push(e.onDidChangeLanguageConfiguration((e=>this._onDidChangeModelLanguageConfiguration.fire(e)))),t.push(e.onDidChangeContent((e=>this._onDidChangeModelContent.fire(e)))),t.push(e.onDidChangeOptions((e=>this._onDidChangeModelOptions.fire(e)))),t.push(e.onWillDispose((()=>this.setModel(null)))),t.push(i.onEvent((e=>{switch(e.kind){case 0:this._onDidContentSizeChange.fire(e);break;case 1:this._editorTextFocus.setValue(e.hasFocus);break;case 2:this._onDidScrollChange.fire(e);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{e.reachedMaxCursorCount&&this._notificationService.warn(b(0,"The number of cursors has been limited to {0}.",zC.MAX_CURSOR_COUNT));const t=[];for(let i=0,n=e.selections.length;i{this._paste("keyboard",e,t,i,n)},type:e=>{this._type("keyboard",e)},compositionType:(e,t,i,n)=>{this._compositionType("keyboard",e,t,i,n)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(e,t,i,n)=>{const o={text:e,pasteOnNewLine:t,multicursorText:i,mode:n};this._commandService.executeCommand("paste",o)},type:e=>{const t={text:e};this._commandService.executeCommand("type",t)},compositionType:(e,t,i,n)=>{if(i||n){const o={text:e,replacePrevCharCnt:t,replaceNextCharCnt:i,positionDelta:n};this._commandService.executeCommand("compositionType",o)}else{const i={text:e,replaceCharCnt:t};this._commandService.executeCommand("replacePreviousChar",i)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new L_(e.coordinatesConverter);return i.onKeyDown=e=>this._onKeyDown.fire(e),i.onKeyUp=e=>this._onKeyUp.fire(e),i.onContextMenu=e=>this._onContextMenu.fire(e),i.onMouseMove=e=>this._onMouseMove.fire(e),i.onMouseLeave=e=>this._onMouseLeave.fire(e),i.onMouseDown=e=>this._onMouseDown.fire(e),i.onMouseUp=e=>this._onMouseUp.fire(e),i.onMouseDrag=e=>this._onMouseDrag.fire(e),i.onMouseDrop=e=>this._onMouseDrop.fire(e),i.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),i.onMouseWheel=e=>this._onMouseWheel.fire(e),[new nC(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(e){e&&e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),t&&this._domElement.contains(t)&&this._domElement.removeChild(t),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return null!==this._modelData}};Ok=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([Rk(3,yo),Rk(4,ko),Rk(5,Fo),Rk(6,or),Rk(7,ur),Rk(8,dk),Rk(9,th),Rk(10,gc),Rk(11,Mk)],Ok);class Fk extends B{constructor(){super(),this._onDidChangeToTrue=this._register(new Pe),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Pe),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class Wk extends B{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=Rc.editorSimpleInput.bindTo(t),this._editorFocus=Rc.focus.bindTo(t),this._textInputFocus=Rc.textInputFocus.bindTo(t),this._editorTextFocus=Rc.editorTextFocus.bindTo(t),this._editorTabMovesFocus=Rc.tabMovesFocus.bindTo(t),this._editorReadonly=Rc.readOnly.bindTo(t),this._inDiffEditor=Rc.inDiffEditor.bindTo(t),this._editorColumnSelection=Rc.columnSelection.bindTo(t),this._hasMultipleSelections=Rc.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=Rc.hasNonEmptySelection.bindTo(t),this._canUndo=Rc.canUndo.bindTo(t),this._canRedo=Rc.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig()))),this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection()))),this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidChangeModel((()=>this._updateFromModel()))),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel()))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._editorTabMovesFocus.set(e.get(130)),this._editorReadonly.set(e.get(81)),this._inDiffEditor.set(e.get(54)),this._editorColumnSelection.set(e.get(18))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some((e=>!e.isEmpty())))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))}}class Bk extends B{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=Rc.languageId.bindTo(t),this._hasCompletionItemProvider=Rc.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=Rc.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=Rc.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=Rc.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=Rc.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=Rc.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=Rc.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=Rc.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=Rc.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=Rc.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=Rc.hasReferenceProvider.bindTo(t),this._hasRenameProvider=Rc.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=Rc.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=Rc.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=Rc.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=Rc.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=Rc.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=Rc.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInWalkThrough=Rc.isInWalkThroughSnippet.bindTo(t);const n=()=>this._update();this._register(e.onDidChangeModel(n)),this._register(e.onDidChangeModelLanguage(n)),this._register(i.completionProvider.onDidChange(n)),this._register(i.codeActionProvider.onDidChange(n)),this._register(i.codeLensProvider.onDidChange(n)),this._register(i.definitionProvider.onDidChange(n)),this._register(i.declarationProvider.onDidChange(n)),this._register(i.implementationProvider.onDidChange(n)),this._register(i.typeDefinitionProvider.onDidChange(n)),this._register(i.hoverProvider.onDidChange(n)),this._register(i.documentHighlightProvider.onDidChange(n)),this._register(i.documentSymbolProvider.onDidChange(n)),this._register(i.referenceProvider.onDidChange(n)),this._register(i.renameProvider.onDidChange(n)),this._register(i.documentFormattingEditProvider.onDidChange(n)),this._register(i.documentRangeFormattingEditProvider.onDidChange(n)),this._register(i.signatureHelpProvider.onDidChange(n)),this._register(i.inlayHintsProvider.onDidChange(n)),n()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()}))}_update(){const e=this._editor.getModel();e?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInWalkThrough.set(e.uri.scheme===tn.walkThroughSnippet)})):this.reset()}}class Vk extends B{constructor(e){super(),this._onChange=this._register(new Pe),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(Yn(e)),this._register(this._domFocusTracker.onDidFocus((()=>{this._hasFocus=!0,this._onChange.fire(void 0)}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasFocus=!1,this._onChange.fire(void 0)})))}hasFocus(){return this._hasFocus}}const Hk=encodeURIComponent("");function jk(e){return Hk+encodeURIComponent(e.toString())+zk}const qk=encodeURIComponent('');br(((e,t)=>{const i=e.getColor(uu);i&&t.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${i}; }`);const n=e.getColor(hu);n&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${jk(n)}") repeat-x bottom left; }`);const o=e.getColor(du);o&&t.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${o}; }`);const s=e.getColor(mu);s&&t.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${s}; }`);const r=e.getColor(pu);r&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${jk(r)}") repeat-x bottom left; }`);const a=e.getColor(gu);a&&t.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${a}; }`);const l=e.getColor(vu);l&&t.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${l}; }`);const c=e.getColor(_u);c&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${jk(c)}") repeat-x bottom left; }`);const d=e.getColor(fu);d&&t.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${d}; }`);const h=e.getColor(Cu);h&&t.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${h}; }`);const u=e.getColor(bu);var g;u&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${g=u,qk+encodeURIComponent(g.toString())+Kk}") no-repeat bottom left; }`);const p=e.getColor(If);p&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${p.rgba.a}; }`);const m=e.getColor(Nf);m&&t.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${m}; }`);const f=e.getColor(yu)||"inherit";t.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${f}}`)}));var Uk=i(8824),$k={};$k.styleTagTransform=p(),$k.setAttributes=d(),$k.insert=l().bind(null,"head"),$k.domAPI=r(),$k.insertStyleElement=u(),o()(Uk.Z,$k),Uk.Z&&Uk.Z.locals&&Uk.Z.locals;class Zk{constructor(e,t,i){const n=e=>this.emitter.fire(e);this.emitter=new Pe({onFirstListenerAdd:()=>e.addEventListener(t,n,i),onLastListenerRemove:()=>e.removeEventListener(t,n,i)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}}function Gk(e){return e.preventDefault(),e.stopPropagation(),e}var Yk=i(6820),Xk={};Xk.styleTagTransform=p(),Xk.setAttributes=d(),Xk.insert=l().bind(null,"head"),Xk.domAPI=r(),Xk.insertStyleElement=u(),o()(Yk.Z,Xk),Yk.Z&&Yk.Z.locals&&Yk.Z.locals;var Jk,Qk=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r};!function(e){e.North="north",e.South="south",e.East="east",e.West="west"}(Jk||(Jk={}));const eD=new Pe,tD=new Pe;class iD{constructor(){this.disposables=new W}get onPointerMove(){return this.disposables.add(new Zk(window,"mousemove")).event}get onPointerUp(){return this.disposables.add(new Zk(window,"mouseup")).event}dispose(){this.disposables.dispose()}}Qk([ch],iD.prototype,"onPointerMove",null),Qk([ch],iD.prototype,"onPointerUp",null);class nD{constructor(e){this.el=e,this.disposables=new W}get onPointerMove(){return this.disposables.add(new Zk(this.el,dh.Change)).event}get onPointerUp(){return this.disposables.add(new Zk(this.el,dh.End)).event}dispose(){this.disposables.dispose()}}Qk([ch],nD.prototype,"onPointerMove",null),Qk([ch],nD.prototype,"onPointerUp",null);class oD{constructor(e){this.factory=e}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}}Qk([ch],oD.prototype,"onPointerMove",null),Qk([ch],oD.prototype,"onPointerUp",null);const sD="pointer-events-disabled";class rD extends B{constructor(e,t,i){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new Qt(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Pe),this._onDidStart=this._register(new Pe),this._onDidChange=this._register(new Pe),this._onDidReset=this._register(new Pe),this._onDidEnd=this._register(new Pe),this.orthogonalStartSashDisposables=this._register(new W),this.orthogonalStartDragHandleDisposables=this._register(new W),this.orthogonalEndSashDisposables=this._register(new W),this.orthogonalEndDragHandleDisposables=this._register(new W),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=Xn(e,io(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${i.orthogonalEdge}`),he&&this.el.classList.add("mac");const n=this._register(new Zk(this.el,"mousedown")).event;this._register(n((e=>this.onPointerStart(e,new iD)),this));const o=this._register(new Zk(this.el,"dblclick")).event;this._register(o(this.onPointerDoublePress,this));const s=this._register(new Zk(this.el,"mouseenter")).event;this._register(s((()=>rD.onMouseEnter(this))));const r=this._register(new Zk(this.el,"mouseleave")).event;this._register(r((()=>rD.onMouseLeave(this)))),this._register(hh.addTarget(this.el));const a=Ie.map(this._register(new Zk(this.el,dh.Start)).event,(e=>{var t;return Object.assign(Object.assign({},e),{target:null!==(t=e.initialTarget)&&void 0!==t?t:null})}));this._register(a((e=>this.onPointerStart(e,new nD(this.el))),this));const l=this._register(new Zk(this.el,dh.Tap)).event,c=Ie.map(Ie.filter(Ie.debounce(l,((e,t)=>{var i;return{event:t,count:(null!==(i=null==e?void 0:e.count)&&void 0!==i?i:0)+1}}),250),(({count:e})=>2===e)),(({event:e})=>{var t;return Object.assign(Object.assign({},e),{target:null!==(t=e.initialTarget)&&void 0!==t?t:null})}));this._register(c(this.onPointerDoublePress,this)),"number"==typeof i.size?(this.size=i.size,0===i.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(eD.event((e=>{this.size=e,this.layout()})))),this._register(tD.event((e=>this.hoverDelay=e))),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",!1),this.layout()}get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",0===e),this.el.classList.toggle("minimum",1===e),this.el.classList.toggle("maximum",2===e),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=t=>{this.orthogonalStartDragHandleDisposables.clear(),0!==t&&(this._orthogonalStartDragHandle=Xn(this.el,io(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(F((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new Zk(this._orthogonalStartDragHandle,"mouseenter")).event((()=>rD.onMouseEnter(e)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Zk(this._orthogonalStartDragHandle,"mouseleave")).event((()=>rD.onMouseLeave(e)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}set orthogonalEndSash(e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=t=>{this.orthogonalEndDragHandleDisposables.clear(),0!==t&&(this._orthogonalEndDragHandle=Xn(this.el,io(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(F((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new Zk(this._orthogonalEndDragHandle,"mouseenter")).event((()=>rD.onMouseEnter(e)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Zk(this._orthogonalEndDragHandle,"mouseleave")).event((()=>rD.onMouseLeave(e)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}onPointerStart(e,t){Zn(e);let i=!1;if(!e.__orthogonalSashEvent){const n=this.getOrthogonalSash(e);n&&(i=!0,e.__orthogonalSashEvent=!0,n.onPointerStart(e,new oD(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new oD(t))),!this.state)return;const n=("iframe",Array.prototype.slice.call(document.getElementsByTagName("iframe"),0));for(const e of n)e.classList.add(sD);const o=e.pageX,s=e.pageY,r=e.altKey,a={startX:o,currentX:o,startY:s,currentY:s,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(a);const l=Hn(this.el),c=()=>{let e="";e=i?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":he?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":he?"col-resize":"ew-resize",l.textContent=`* { cursor: ${e} !important; }`},d=new W;c(),i||this.onDidEnablementChange.event(c,null,d),t.onPointerMove((e=>{Zn(e,!1);const t={startX:o,currentX:e.pageX,startY:s,currentY:e.pageY,altKey:r};this._onDidChange.fire(t)}),null,d),t.onPointerUp((e=>{Zn(e,!1),this.el.removeChild(l),this.el.classList.remove("active"),this._onDidEnd.fire(),d.dispose();for(const e of n)e.classList.remove(sD)}),null,d),d.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger((()=>e.el.classList.add("hover")),e.hoverDelay).then(void 0,(()=>{})),!t&&e.linkedSash&&rD.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&rD.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){rD.onMouseLeave(this)}layout(){if(0===this.orientation){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){if(e.target&&e.target instanceof HTMLElement)return e.target.classList.contains("orthogonal-drag-handle")?e.target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}class aD{constructor(e,t,i){this._visiblePosition=e,this._visiblePositionScrollDelta=t,this._cursorPosition=i}static capture(e){let t=null,i=0;if(0!==e.getScrollTop()){const n=e.getVisibleRanges();if(n.length>0){t=n[0].getStartPosition();const o=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-o}}return new aD(t,i,e.getPosition())}restore(e){if(this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i)}}var lD=i(4310),cD={};cD.styleTagTransform=p(),cD.setAttributes=d(),cD.insert=l().bind(null,"head"),cD.domAPI=r(),cD.insertStyleElement=u(),o()(lD.Z,cD),lD.Z&&lD.Z.locals&&lD.Z.locals;const dD={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:qm.text,TERMINALS:"Terminals"};class hD{constructor(e){this.data=e}update(){}getData(){return this.data}}const uD={CurrentDragAndDropData:void 0};var gD=i(6170),pD={};pD.styleTagTransform=p(),pD.setAttributes=d(),pD.insert=l().bind(null,"head"),pD.domAPI=r(),pD.insertStyleElement=u(),o()(gD.Z,pD),gD.Z&&gD.Z.locals&&gD.Z.locals;class mD extends B{constructor(e,t,i={}){super(),this.options=i,this._context=e||this,this._action=t,t instanceof To&&this._register(t.onDidChange((e=>{this.element&&this.handleActionChangeEvent(e)})))}handleActionChangeEvent(e){void 0!==e.enabled&&this.updateEnabled(),void 0!==e.checked&&this.updateChecked(),void 0!==e.class&&this.updateClass(),void 0!==e.label&&(this.updateLabel(),this.updateTooltip()),void 0!==e.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new Mo)),this._actionRunner}set actionRunner(e){this._actionRunner=e}getAction(){return this._action}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(hh.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,Ke&&this._register(cn(e,$n.DRAG_START,(e=>{var t;return null===(t=e.dataTransfer)||void 0===t?void 0:t.setData(dD.TEXT,this._action.label)})))),this._register(cn(t,dh.Tap,(e=>this.onClick(e,!0)))),this._register(cn(t,$n.MOUSE_DOWN,(e=>{i||Zn(e,!0),this._action.enabled&&0===e.button&&t.classList.add("active")}))),he&&this._register(cn(t,$n.CONTEXT_MENU,(e=>{0===e.button&&!0===e.ctrlKey&&this.onClick(e)}))),this._register(cn(t,$n.CLICK,(e=>{Zn(e,!0),this.options&&this.options.isMenu||this.onClick(e)}))),this._register(cn(t,$n.DBLCLICK,(e=>{Zn(e,!0)}))),[$n.MOUSE_UP,$n.MOUSE_OUT].forEach((e=>{this._register(cn(t,e,(e=>{Zn(e),t.classList.remove("active")})))}))}onClick(e,t=!1){var i;Zn(e,!0);const n=at(this._context)?(null===(i=this.options)||void 0===i?void 0:i.useEventAsContext)?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,n)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}updateTooltip(){}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),super.dispose()}}class fD extends mD{constructor(e,t,i={}){super(e,t,i),this.options=i,this.options.icon=void 0!==i.icon&&i.icon,this.options.label=void 0===i.label||i.label,this.cssClass=""}render(e){super.render(e),this.element&&(this.label=Xn(this.element,io("a.action-label"))),this.label&&(this._action.id===Ro.ID?this.label.setAttribute("role","presentation"):this.options.isMenu?this.label.setAttribute("role","menuitem"):this.label.setAttribute("role","button")),this.options.label&&this.options.keybinding&&this.element&&(Xn(this.element,io("span.keybinding")).textContent=this.options.keybinding),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.getAction().label)}updateTooltip(){let e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=b(0,"{0} ({1})",e,this.options.keybinding))),e&&this.label&&(this.label.title=e)}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getAction().class,this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label&&this.label.classList.remove("codicon")}updateEnabled(){this.getAction().enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element&&this.element.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element&&this.element.classList.add("disabled"))}updateChecked(){this.label&&(this.getAction().checked?this.label.classList.add("checked"):this.label.classList.remove("checked"))}}var _D;class vD extends B{constructor(e,t={}){var i,n,o,s,r,a;let l,c;switch(super(),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Pe),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Pe({onFirstListenerAdd:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Pe),this.onDidRun=this._onDidRun.event,this._onBeforeRun=this._register(new Pe),this.onBeforeRun=this._onBeforeRun.event,this.options=t,this._context=null!==(i=t.context)&&void 0!==i?i:null,this._orientation=null!==(n=this.options.orientation)&&void 0!==n?n:0,this._triggerKeys={keyDown:null!==(s=null===(o=this.options.triggerKeys)||void 0===o?void 0:o.keyDown)&&void 0!==s&&s,keys:null!==(a=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==a?a:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new Mo,this._register(this._actionRunner)),this._register(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e)))),this._register(this._actionRunner.onBeforeRun((e=>this._onBeforeRun.fire(e)))),this._actionIds=[],this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==t.animated&&this.domNode.classList.add("animated"),this._orientation){case 0:l=[15],c=[17];break;case 1:l=[16],c=[18],this.domNode.className+=" vertical"}this._register(cn(this.domNode,$n.KEY_DOWN,(e=>{const t=new Ot(e);let i=!0;const n="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;l&&(t.equals(l[0])||t.equals(l[1]))?i=this.focusPrevious():c&&(t.equals(c[0])||t.equals(c[1]))?i=this.focusNext():t.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():t.equals(14)?i=this.focusFirst():t.equals(13)?i=this.focusLast():t.equals(2)&&n instanceof mD&&n.trapsArrowNavigation?i=this.focusNext():this.isTriggerKeyEvent(t)?this._triggerKeys.keyDown?this.doTrigger(t):this.triggerKeyDown=!0:i=!1,i&&(t.preventDefault(),t.stopPropagation())}))),this._register(cn(this.domNode,$n.KEY_UP,(e=>{const t=new Ot(e);this.isTriggerKeyEvent(t)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(t)),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&this.updateFocusedItem()}))),this.focusTracker=this._register(Yn(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{Vn()!==this.domNode&&Pn(Vn(),this.domNode)||(this._onDidBlur.fire(),this.focusedItem=void 0,this.previouslyFocusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=2?this.actionsList.setAttribute("role","toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const e=this.viewItems.find((e=>e instanceof mD&&e.isEnabled()));e instanceof mD&&e.setFocusable(!0)}else this.viewItems.forEach((e=>{e instanceof mD&&e.setFocusable(!1)}))}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach((i=>{t=t||e.equals(i)})),t}updateFocusedItem(){for(let e=0;et.setActionContext(e)))}get actionRunner(){return this._actionRunner}set actionRunner(e){e&&(this._actionRunner=e,this.viewItems.forEach((t=>t.actionRunner=e)))}getContainer(){return this.domNode}push(e,t={}){const i=Array.isArray(e)?e:[e];let n=it(t.index)?t.index:null;i.forEach((e=>{const i=document.createElement("li");let o;i.className="action-item",i.setAttribute("role","presentation"),this.options.allowContextMenu||this._register(cn(i,$n.CONTEXT_MENU,(e=>{Zn(e,!0)}))),this.options.actionViewItemProvider&&(o=this.options.actionViewItemProvider(e)),o||(o=new fD(this.context,e,t)),o.actionRunner=this._actionRunner,o.setActionContext(this.context),o.render(i),this.focusable&&o instanceof mD&&0===this.viewItems.length&&o.setFocusable(!0),null===n||n<0||n>=this.actionsList.children.length?(this.actionsList.appendChild(i),this.viewItems.push(o),this._actionIds.push(e.id)):(this.actionsList.insertBefore(i,this.actionsList.children[n]),this.viewItems.splice(n,0,o),this._actionIds.splice(n,0,e.id),n++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){A(this.viewItems),this.viewItems=[],this._actionIds=[],rn(this.actionsList),this.refreshRole()}length(){return this.viewItems.length}focus(e){let t,i=!1;if(void 0===e?i=!0:"number"==typeof e?t=e:"boolean"==typeof e&&(i=e),i&&void 0===this.focusedItem){const e=this.viewItems.findIndex((e=>e.isEnabled()));this.focusedItem=-1===e?void 0:e,this.updateFocus(void 0,void 0,!0)}else void 0!==t&&(this.focusedItem=t),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&this.options.focusOnlyEnabledItems&&!i.isEnabled());return this.updateFocus(),!0}focusPrevious(e){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&this.options.focusOnlyEnabledItems&&!i.isEnabled());return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){var n;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(n=this.viewItems[this.previouslyFocusedItem])||void 0===n||n.blur());const o=void 0!==this.focusedItem&&this.viewItems[this.focusedItem];if(o){let n=!0;dt(o.focus)||(n=!1),this.options.focusOnlyEnabledItems&&dt(o.isEnabled)&&!o.isEnabled()&&(n=!1),n?(i||this.previouslyFocusedItem!==this.focusedItem)&&(o.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0)}}doTrigger(e){if(void 0===this.focusedItem)return;const t=this.viewItems[this.focusedItem];if(t instanceof mD){const i=null===t._context||void 0===t._context?e:t._context;this.run(t._action,i)}}run(e,t){return function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){yield this._actionRunner.run(e,t)}))}dispose(){A(this.viewItems),this.viewItems=[],this._actionIds=[],this.getContainer().remove(),super.dispose()}}!function(e){e.getDefinition=function(e,t){let i=e.defaults;for(;pr.isThemeIcon(i);){const e=bD.getIcon(i.id);if(!e)return;i=e.defaults}return i}}(_D||(_D={}));const bD=new class{constructor(){this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:b(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:b(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${No.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,n){const o=this.iconsById[e];if(o){if(i&&!o.description){o.description=i,this.iconSchema.properties[e].markdownDescription=`${i} $(${e})`;const t=this.iconReferenceSchema.enum.indexOf(e);-1!==t&&(this.iconReferenceSchema.enumDescriptions[t]=i),this._onDidChange.fire()}return o}let s={id:e,description:i,defaults:t,deprecationMessage:n};this.iconsById[e]=s;let r={$ref:"#/definitions/icons"};return n&&(r.deprecationMessage=n),i&&(r.markdownDescription=`${i}: $(${e})`),this.iconSchema.properties[e]=r,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map((e=>this.iconsById[e]))}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(e,t)=>e.id.localeCompare(t.id),t=e=>{for(;pr.isThemeIcon(e.defaults);)e=this.iconsById[e.defaults.id];return`codicon codicon-${e?e.id:""}`};let i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const n=Object.keys(this.iconsById).map((e=>this.iconsById[e]));for(const o of n.filter((e=>!!e.description)).sort(e))i.push(`||${o.id}|${pr.isThemeIcon(o.defaults)?o.defaults.id:o.id}|${o.description||""}|`);i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const o of n.filter((e=>!pr.isThemeIcon(e.defaults))).sort(e))i.push(`||${o.id}|`);return i.join("\n")}};function CD(e,t,i,n){return bD.registerIcon(e,t,i,n)}function wD(){return bD}dr.add("base.contributions.icons",bD),function(){for(const e of Oo.getAll())bD.registerIcon(e.id,e.definition,e.description)}();const yD="vscode://schemas/icons";let SD=dr.as(bh);SD.registerSchema(yD,bD.getIconSchema());const xD=new ri((()=>SD.notifySchemaChanged(yD)),200);bD.onDidChange((()=>{xD.isScheduled()||xD.schedule()}));const kD=CD("widget-close",Oo.close,b(0,"Icon for the close action in widgets."));CD("goto-previous-location",Oo.arrowUp,b(0,"Icon for goto previous editor location.")),CD("goto-next-location",Oo.arrowDown,b(0,"Icon for goto next editor location.")),pr.modify(Oo.sync,"spin"),pr.modify(Oo.loading,"spin");var DD;class LD{constructor(e,t,i,n){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=i,this.modifiedLineEnd=n}getType(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0}}class ED{constructor(e){this.entries=e}}const ND=CD("diff-review-insert",Oo.add,b(0,"Icon for 'Insert' in diff review.")),ID=CD("diff-review-remove",Oo.remove,b(0,"Icon for 'Remove' in diff review.")),TD=CD("diff-review-close",Oo.close,b(0,"Icon for 'Close' in diff review."));let MD=class e extends B{constructor(e,t){super(),this._languageService=t,this._width=0,this._diffEditor=e,this._isVisible=!1,this.shadow=rd(document.createElement("div")),this.shadow.setClassName("diff-review-shadow"),this.actionBarContainer=rd(document.createElement("div")),this.actionBarContainer.setClassName("diff-review-actions"),this._actionBar=this._register(new vD(this.actionBarContainer.domNode)),this._actionBar.push(new To("diffreview.close",b(0,"Close"),"close-diff-review "+pr.asClassName(TD),!0,(()=>function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){return this.hide()})))),{label:!1,icon:!0}),this.domNode=rd(document.createElement("div")),this.domNode.setClassName("diff-review monaco-editor-background"),this._content=rd(document.createElement("div")),this._content.setClassName("diff-review-content"),this._content.setAttribute("role","code"),this.scrollbar=this._register(new gv(this._content.domNode,{})),this.domNode.domNode.appendChild(this.scrollbar.getDomNode()),this._register(e.onDidUpdateDiff((()=>{this._isVisible&&(this._diffs=this._compute(),this._render())}))),this._register(e.getModifiedEditor().onDidChangeCursorPosition((()=>{this._isVisible&&this._render()}))),this._register(hn(this.domNode.domNode,"click",(e=>{e.preventDefault();const t=An(e.target,"diff-review-row");t&&this._goToRow(t)}))),this._register(hn(this.domNode.domNode,"keydown",(e=>{(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),this._goToRow(this._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),this._goToRow(this._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),this.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),this.accept())}))),this._diffs=[],this._currentDiff=null}prev(){let e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){let t=-1;for(let e=0,i=this._diffs.length;e0){const t=e[s-1];n=0===t.originalEndLineNumber?t.originalStartLineNumber+1:t.originalEndLineNumber+1,o=0===t.modifiedEndLineNumber?t.modifiedStartLineNumber+1:t.modifiedEndLineNumber+1}let r=t-3+1,a=i-3+1;if(ra){const e=a-m;m+=e,f+=e}if(f>p){const e=p-f;m+=e,f+=e}u[g++]=new LD(n,m,o,f)}n[o++]=new ED(u)}let s=n[0].entries;const r=[];let a=0;for(let e=1,t=n.length;eh)&&(h=n),0!==o&&(0===u||og)&&(g=s)}const p=document.createElement("div");p.className="diff-review-row";const m=document.createElement("div");m.className="diff-review-cell diff-review-summary";const f=h-d+1,_=g-u+1;m.appendChild(document.createTextNode(`${a+1}/${this._diffs.length}: @@ -${d},${f} +${u},${_} @@`)),p.setAttribute("data-line",String(u));const v=e=>0===e?b(0,"no lines changed"):1===e?b(0,"1 line changed"):b(0,"{0} lines changed",e),C=v(f),w=v(_);p.setAttribute("aria-label",b(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",a+1,this._diffs.length,d,C,u,w)),p.appendChild(m),p.setAttribute("role","listitem"),c.appendChild(p);const y=i.get(59);let S=u;for(let a=0,d=l.length;ae}),MD=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(1,rc)],MD),br(((e,t)=>{const i=e.getColor(Cf);i&&t.addRule(`.monaco-diff-editor .diff-review-line-number { color: ${i}; }`);const n=e.getColor(su);n&&t.addRule(`.monaco-diff-editor .diff-review-shadow { box-shadow: ${n} 0 -6px 6px -6px inset; }`)})),Ur(class extends zr{constructor(){super({id:"editor.action.diffReview.next",label:b(0,"Go to Next Difference"),alias:"Go to Next Difference",precondition:Fs.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})}run(e,t){const i=RD(e);i&&i.diffReviewNext()}}),Ur(class extends zr{constructor(){super({id:"editor.action.diffReview.prev",label:b(0,"Go to Previous Difference"),alias:"Go to Previous Difference",precondition:Fs.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})}run(e,t){const i=RD(e);i&&i.diffReviewPrev()}});const PD=xo("editorWorkerService"),AD=xo("contextViewService"),OD=xo("contextMenuService");var FD=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class WD extends B{constructor(e,t,i,n,o,s){super(),this._viewZoneId=e,this._marginDomNode=t,this.editor=i,this.diff=n,this._contextMenuService=o,this._clipboardService=s,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=Oo.lightBulb.classNames+" lightbulb-glyph",this._diffActions.style.position="absolute";const r=i.getOption(59),a=i.getModel().getEOL();this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${r}px`,this._diffActions.style.lineHeight=`${r}px`,this._marginDomNode.appendChild(this._diffActions);const l=[],c=0===n.modifiedEndLineNumber;l.push(new To("diff.clipboard.copyDeletedContent",c?n.originalEndLineNumber>n.modifiedStartLineNumber?b(0,"Copy deleted lines"):b(0,"Copy deleted line"):n.originalEndLineNumber>n.modifiedStartLineNumber?b(0,"Copy changed lines"):b(0,"Copy changed line"),void 0,!0,(()=>FD(this,void 0,void 0,(function*(){const e=new ia(n.originalStartLineNumber,1,n.originalEndLineNumber+1,1),t=n.originalModel.getValueInRange(e);yield this._clipboardService.writeText(t)})))));let d,h=0;n.originalEndLineNumber>n.modifiedStartLineNumber&&(d=new To("diff.clipboard.copyDeletedLineContent",b(0,c?"Copy deleted line ({0})":"Copy changed line ({0})",n.originalStartLineNumber),void 0,!0,(()=>FD(this,void 0,void 0,(function*(){const e=n.originalModel.getLineContent(n.originalStartLineNumber+h);if(""===e){const e=n.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(0===e?"\n":"\r\n")}else yield this._clipboardService.writeText(e)})))),l.push(d)),i.getOption(81)||l.push(new To("diff.inline.revertChange",b(0,"Revert this change"),void 0,!0,(()=>FD(this,void 0,void 0,(function*(){const e=new ia(n.originalStartLineNumber,1,n.originalEndLineNumber,n.originalModel.getLineMaxColumn(n.originalEndLineNumber)),t=n.originalModel.getValueInRange(e);if(0===n.modifiedEndLineNumber){const e=i.getModel().getLineMaxColumn(n.modifiedStartLineNumber);i.executeEdits("diffEditor",[{range:new ia(n.modifiedStartLineNumber,e,n.modifiedStartLineNumber,e),text:a+t}])}else{const e=i.getModel().getLineMaxColumn(n.modifiedEndLineNumber);i.executeEdits("diffEditor",[{range:new ia(n.modifiedStartLineNumber,1,n.modifiedEndLineNumber,e),text:t}])}})))));const u=(e,t)=>{this._contextMenuService.showContextMenu({getAnchor:()=>({x:e,y:t}),getActions:()=>(d&&(d.label=b(0,c?"Copy deleted line ({0})":"Copy changed line ({0})",n.originalStartLineNumber+h)),l),autoSelectFirstItem:!0})};this._register(hn(this._diffActions,"mousedown",(e=>{const{top:t,height:i}=En(this._diffActions),n=Math.floor(r/3);e.preventDefault(),u(e.posx,t+i+n)}))),this._register(i.onMouseMove((e=>{(8===e.target.type||5===e.target.type)&&e.target.detail.viewZoneId===this._viewZoneId?(this.visibility=!0,h=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,r)):this.visibility=!1}))),this._register(i.onMouseDown((e=>{!e.event.rightButton||8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId===this._viewZoneId&&(e.event.preventDefault(),h=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,r),u(e.event.posx,e.event.posy+r))})))}get visibility(){return this._visibility}set visibility(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")}_updateLightBulbPosition(e,t,i){const{top:n}=En(e),o=t-n,s=Math.floor(o/i),r=s*i;if(this._diffActions.style.top=`${r}px`,this.diff.viewLineCounts){let e=0;for(let t=0;t!this._zonesMap[String(e.id)]))}clean(e){this._zones.length>0&&e.changeViewZones((e=>{for(const t of this._zones)e.removeZone(t)})),this._zones=[],this._zonesMap={},this._decorations=e.deltaDecorations(this._decorations,[])}apply(e,t,i,n){const o=n?aD.capture(e):null;e.changeViewZones((t=>{var n;for(const e of this._zones)t.removeZone(e);for(const e of this._inlineDiffMargins)e.dispose();this._zones=[],this._zonesMap={},this._inlineDiffMargins=[];for(let o=0,s=i.zones.length;oe});let GD=class e extends B{constructor(t,i,n,o,s,r,a,l,c,d,h,u){super(),this._editorProgressService=u,this._onDidDispose=this._register(new Pe),this.onDidDispose=this._onDidDispose.event,this._onDidUpdateDiff=this._register(new Pe),this.onDidUpdateDiff=this._onDidUpdateDiff.event,this._onDidContentSizeChange=this._register(new Pe),this._lastOriginalWarning=null,this._lastModifiedWarning=null,this._editorWorkerService=s,this._codeEditorService=l,this._contextKeyService=this._register(r.createScoped(t)),this._instantiationService=a.createChild(new rk([or,this._contextKeyService])),this._contextKeyService.createKey("isInDiffEditor",!0),this._themeService=c,this._notificationService=d,this._id=++KD,this._state=0,this._updatingDiffProgress=null,this._domElement=t,i=i||{},this._options=cL(i,{enableSplitViewResizing:!0,renderSideBySide:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit"}),void 0!==i.isInEmbeddedEditor?this._contextKeyService.createKey("isInEmbeddedDiffEditor",i.isInEmbeddedEditor):this._contextKeyService.createKey("isInEmbeddedDiffEditor",!1),this._updateDecorationsRunner=this._register(new ri((()=>this._updateDecorations()),0)),this._containerDomElement=document.createElement("div"),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide),this._containerDomElement.style.position="relative",this._containerDomElement.style.height="100%",this._domElement.appendChild(this._containerDomElement),this._overviewViewportDomElement=rd(document.createElement("div")),this._overviewViewportDomElement.setClassName("diffViewport"),this._overviewViewportDomElement.setPosition("absolute"),this._overviewDomElement=document.createElement("div"),this._overviewDomElement.className="diffOverview",this._overviewDomElement.style.position="absolute",this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode),this._register(hn(this._overviewDomElement,"mousedown",(e=>{this._modifiedEditor.delegateVerticalScrollbarMouseDown(e)}))),this._options.renderOverviewRuler&&this._containerDomElement.appendChild(this._overviewDomElement),this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode),this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode),this._beginUpdateDecorationsTimeout=-1,this._currentlyChangingViewZones=!1,this._diffComputationToken=0,this._originalEditorState=new qD(h,o),this._modifiedEditorState=new qD(h,o),this._isVisible=!0,this._isHandlingScrollEvent=!1,this._elementSizeObserver=this._register(new od(this._containerDomElement,i.dimension)),this._register(this._elementSizeObserver.onDidChange((()=>this._onDidContainerSizeChanged()))),i.automaticLayout&&this._elementSizeObserver.startObserving(),this._diffComputationResult=null,this._originalEditor=this._createLeftHandSideEditor(i,n.originalEditor||{}),this._modifiedEditor=this._createRightHandSideEditor(i,n.modifiedEditor||{}),this._originalOverviewRuler=null,this._modifiedOverviewRuler=null,this._reviewPane=a.createInstance(MD,this),this._containerDomElement.appendChild(this._reviewPane.domNode.domNode),this._containerDomElement.appendChild(this._reviewPane.shadow.domNode),this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode),this._options.renderSideBySide?this._setStrategy(new tL(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new nL(this._createDataSource(),this._options.enableSplitViewResizing)),this._register(c.onDidColorThemeChange((t=>{this._strategy&&this._strategy.applyColors(t)&&this._updateDecorationsRunner.schedule(),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)})));const g=Yr.getDiffEditorContributions();for(const e of g)try{this._register(a.createInstance(e.ctor,this))}catch(e){w(e)}this._codeEditorService.addDiffEditor(this)}_setState(e){this._state!==e&&(this._state=e,this._updatingDiffProgress&&(this._updatingDiffProgress.done(),this._updatingDiffProgress=null),1===this._state&&(this._updatingDiffProgress=this._editorProgressService.show(!0,1e3)))}diffReviewNext(){this._reviewPane.next()}diffReviewPrev(){this._reviewPane.prev()}static _getClassName(e,t){let i="monaco-diff-editor monaco-editor-background ";return t&&(i+="side-by-side "),i+=fr(e.type),i}_recreateOverviewRulers(){this._options.renderOverviewRuler&&(this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalEditor.hasModel()&&(this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedEditor.hasModel()&&(this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())),this._layoutOverviewRulers())}_createLeftHandSideEditor(t,i){const n=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(t),i);this._register(n.onDidScrollChange((e=>{this._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(this._isHandlingScrollEvent=!0,this._modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())}))),this._register(n.onDidChangeViewZones((()=>{this._onViewZonesChanged()}))),this._register(n.onDidChangeConfiguration((e=>{n.getModel()&&(e.hasChanged(44)&&this._updateDecorationsRunner.schedule(),e.hasChanged(132)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))}))),this._register(n.onDidChangeHiddenAreas((()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()}))),this._register(n.onDidChangeModelContent((()=>{this._isVisible&&this._beginUpdateDecorationsSoon()})));const o=this._contextKeyService.createKey("isInDiffLeftEditor",n.hasWidgetFocus());return this._register(n.onDidFocusEditorWidget((()=>o.set(!0)))),this._register(n.onDidBlurEditorWidget((()=>o.set(!1)))),this._register(n.onDidContentSizeChange((t=>{const i=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+e.ONE_OVERVIEW_WIDTH,n=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:i,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})}))),n}_createRightHandSideEditor(t,i){const n=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(t),i);this._register(n.onDidScrollChange((e=>{this._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(this._isHandlingScrollEvent=!0,this._originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),this._isHandlingScrollEvent=!1,this._layoutOverviewViewport())}))),this._register(n.onDidChangeViewZones((()=>{this._onViewZonesChanged()}))),this._register(n.onDidChangeConfiguration((e=>{n.getModel()&&(e.hasChanged(44)&&this._updateDecorationsRunner.schedule(),e.hasChanged(132)&&(this._updateDecorationsRunner.cancel(),this._updateDecorations()))}))),this._register(n.onDidChangeHiddenAreas((()=>{this._updateDecorationsRunner.cancel(),this._updateDecorations()}))),this._register(n.onDidChangeModelContent((()=>{this._isVisible&&this._beginUpdateDecorationsSoon()}))),this._register(n.onDidChangeModelOptions((e=>{e.tabSize&&this._updateDecorationsRunner.schedule()})));const o=this._contextKeyService.createKey("isInDiffRightEditor",n.hasWidgetFocus());return this._register(n.onDidFocusEditorWidget((()=>o.set(!0)))),this._register(n.onDidBlurEditorWidget((()=>o.set(!1)))),this._register(n.onDidContentSizeChange((t=>{const i=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+e.ONE_OVERVIEW_WIDTH,n=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:n,contentWidth:i,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})}))),n}_createInnerEditor(e,t,i,n){return e.createInstance(Ok,t,i,n)}dispose(){this._codeEditorService.removeDiffEditor(this),-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._options.renderOverviewRuler&&this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this._originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this._modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return UC.IDiffEditor}getLineChanges(){return this._diffComputationResult?this._diffComputationResult.changes:null}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(t){const i=cL(t,this._options),n=function(e,t){return{enableSplitViewResizing:e.enableSplitViewResizing!==t.enableSplitViewResizing,renderSideBySide:e.renderSideBySide!==t.renderSideBySide,maxComputationTime:e.maxComputationTime!==t.maxComputationTime,maxFileSize:e.maxFileSize!==t.maxFileSize,ignoreTrimWhitespace:e.ignoreTrimWhitespace!==t.ignoreTrimWhitespace,renderIndicators:e.renderIndicators!==t.renderIndicators,originalEditable:e.originalEditable!==t.originalEditable,diffCodeLens:e.diffCodeLens!==t.diffCodeLens,renderOverviewRuler:e.renderOverviewRuler!==t.renderOverviewRuler,diffWordWrap:e.diffWordWrap!==t.diffWordWrap}}(this._options,i);this._options=i;const o=n.ignoreTrimWhitespace||n.renderIndicators,s=this._isVisible&&(n.maxComputationTime||n.maxFileSize);o?this._beginUpdateDecorations():s&&this._beginUpdateDecorationsSoon(),this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(t)),this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(t)),this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing),n.renderSideBySide&&(this._options.renderSideBySide?this._setStrategy(new tL(this._createDataSource(),this._options.enableSplitViewResizing)):this._setStrategy(new nL(this._createDataSource(),this._options.enableSplitViewResizing)),this._containerDomElement.className=e._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)),n.renderOverviewRuler&&(this._options.renderOverviewRuler?this._containerDomElement.appendChild(this._overviewDomElement):this._containerDomElement.removeChild(this._overviewDomElement))}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}setModel(e){if(e&&(!e.original||!e.modified))throw new Error(e.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this._originalEditor.setModel(e?e.original:null),this._modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this._originalEditor.setScrollTop(0),this._modifiedEditor.setScrollTop(0)),this._diffComputationResult=null,this._diffComputationToken++,this._setState(0),e&&(this._recreateOverviewRulers(),this._beginUpdateDecorations()),this._layoutOverviewViewport()}getContainerDomNode(){return this._domElement}getVisibleColumnFromPosition(e){return this._modifiedEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(e,t="api"){this._modifiedEditor.setPosition(e,t)}revealLine(e,t=0){this._modifiedEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._modifiedEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._modifiedEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._modifiedEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._modifiedEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._modifiedEditor.revealPositionNearTop(e,t)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(e,t="api"){this._modifiedEditor.setSelection(e,t)}setSelections(e,t="api"){this._modifiedEditor.setSelections(e,t)}revealLines(e,t,i=0){this._modifiedEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._modifiedEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._modifiedEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._modifiedEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._modifiedEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._modifiedEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._modifiedEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}saveViewState(){return{original:this._originalEditor.saveViewState(),modified:this._modifiedEditor.saveViewState()}}restoreViewState(e){if(e&&e.original&&e.modified){const t=e;this._originalEditor.restoreViewState(t.original),this._modifiedEditor.restoreViewState(t.modified)}}layout(e){this._elementSizeObserver.observe(e)}focus(){this._modifiedEditor.focus()}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}trigger(e,t,i){this._modifiedEditor.trigger(e,t,i)}changeDecorations(e){return this._modifiedEditor.changeDecorations(e)}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler)return;if(!this._originalOverviewRuler||!this._modifiedOverviewRuler)return;const t=this._elementSizeObserver.getHeight(),i=this._getReviewHeight(),n=e.ENTIRE_DIFF_OVERVIEW_WIDTH-2*e.ONE_OVERVIEW_WIDTH;this._modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:e.ONE_OVERVIEW_WIDTH,right:n+e.ONE_OVERVIEW_WIDTH,height:t-i}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:e.ONE_OVERVIEW_WIDTH,height:t-i}))}_onViewZonesChanged(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout((()=>this._beginUpdateDecorations()),e.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(e,t){return!e&&!t||!(!e||!t)&&e.toString()===t.toString()}_beginUpdateDecorations(){this._beginUpdateDecorationsTimeout=-1;const t=this._originalEditor.getModel(),i=this._modifiedEditor.getModel();if(!t||!i)return;this._diffComputationToken++;const n=this._diffComputationToken,o=1024*this._options.maxFileSize*1024,s=e=>{const t=e.getValueLength();return 0===o||t<=o};s(t)&&s(i)?(this._setState(1),this._editorWorkerService.computeDiff(t.uri,i.uri,this._options.ignoreTrimWhitespace,this._options.maxComputationTime).then((e=>{n===this._diffComputationToken&&t===this._originalEditor.getModel()&&i===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=e,this._updateDecorationsRunner.schedule(),this._onDidUpdateDiff.fire())}),(e=>{n===this._diffComputationToken&&t===this._originalEditor.getModel()&&i===this._modifiedEditor.getModel()&&(this._setState(2),this._diffComputationResult=null,this._updateDecorationsRunner.schedule())}))):e._equals(t.uri,this._lastOriginalWarning)&&e._equals(i.uri,this._lastModifiedWarning)||(this._lastOriginalWarning=t.uri,this._lastModifiedWarning=i.uri,this._notificationService.warn(b(0,"Cannot compare files because one file is too large.")))}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor),this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel())return;const e=this._diffComputationResult?this._diffComputationResult.changes:[],t=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces()),i=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces()),n=this._strategy.getEditorsDiffDecorations(e,this._options.ignoreTrimWhitespace,this._options.renderIndicators,t,i);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,n.original,!1),this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,n.modified,!0)}finally{this._currentlyChangingViewZones=!1}}_adjustOptionsForSubEditor(e){const t=Object.assign({},e);return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar=Object.assign({},t.scrollbar||{}),t.scrollbar.vertical="visible",t.folding=!1,t.codeLens=this._options.diffCodeLens,t.fixedOverflowWidgets=!0,t.minimap=Object.assign({},t.minimap||{}),t.minimap.enabled=!1,t}_adjustOptionsForLeftHandSide(e){const t=this._adjustOptionsForSubEditor(e);return this._options.renderSideBySide?t.wordWrapOverride1=this._options.diffWordWrap:(t.wordWrapOverride1="off",t.wordWrapOverride2="off"),e.originalAriaLabel&&(t.ariaLabel=e.originalAriaLabel),t.readOnly=!this._options.originalEditable,t.extraEditorClassName="original-in-monaco-diff-editor",Object.assign(Object.assign({},t),{dimension:{height:0,width:0}})}_adjustOptionsForRightHandSide(t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.wordWrapOverride1=this._options.diffWordWrap,i.revealHorizontalRightPadding=zd.revealHorizontalRightPadding.defaultValue+e.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",Object.assign(Object.assign({},i),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe(),this._doLayout()}_doLayout(){const t=this._elementSizeObserver.getWidth(),i=this._elementSizeObserver.getHeight(),n=this._getReviewHeight(),o=this._strategy.layout();this._originalDomNode.style.width=o+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=t-o+"px",this._modifiedDomNode.style.left=o+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=i-n+"px",this._overviewDomElement.style.width=e.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=t-e.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(e.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this._originalEditor.layout({width:o,height:i-n}),this._modifiedEditor.layout({width:t-o-(this._options.renderOverviewRuler?e.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:i-n}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(i-n,t,n),this._layoutOverviewViewport()}_layoutOverviewViewport(){const e=this._computeOverviewViewport();e?(this._overviewViewportDomElement.setTop(e.top),this._overviewViewportDomElement.setHeight(e.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))}_computeOverviewViewport(){const e=this._modifiedEditor.getLayoutInfo();if(!e)return null;const t=this._modifiedEditor.getScrollTop(),i=this._modifiedEditor.getScrollHeight(),n=Math.max(0,e.height),o=Math.max(0,n-0),s=i>0?o/i:0;return{height:Math.max(0,Math.floor(e.height*s)),top:Math.floor(t*s)}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getColorTheme()),this._diffComputationResult&&this._updateDecorations(),this._doLayout()}_getLineChangeAtOrBeforeLineNumber(e,t){const i=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===i.length||e=a?n=s+1:(n=s,o=s)}return i[n]}_getEquivalentLineForOriginalLineNumber(e){const t=this._getLineChangeAtOrBeforeLineNumber(e,(e=>e.originalStartLineNumber));if(!t)return e;const i=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,s=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,r=e-i;return r<=o?n+Math.min(r,s):n+s-o+r}_getEquivalentLineForModifiedLineNumber(e){const t=this._getLineChangeAtOrBeforeLineNumber(e,(e=>e.modifiedStartLineNumber));if(!t)return e;const i=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,s=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,r=e-n;return r<=s?i+Math.min(r,o):i+o-s+r}getDiffLineInformationForOriginal(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null}getDiffLineInformationForModified(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null}};GD.ONE_OVERVIEW_WIDTH=15,GD.ENTIRE_DIFF_OVERVIEW_WIDTH=30,GD.UPDATE_DIFF_DECORATIONS_DELAY=200,GD=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([jD(3,BD),jD(4,PD),jD(5,or),jD(6,yo),jD(7,ko),jD(8,ur),jD(9,dk),jD(10,OD),jD(11,HD)],GD);class YD extends B{constructor(e){super(),this._dataSource=e,this._insertColor=null,this._removeColor=null}applyColors(e){const t=e.getColor(mg)||(e.getColor(cg)||ag).transparent(2),i=e.getColor(fg)||(e.getColor(dg)||lg).transparent(2),n=!t.equals(this._insertColor)||!i.equals(this._removeColor);return this._insertColor=t,this._removeColor=i,n}getEditorsDiffDecorations(e,t,i,n,o){o=o.sort(((e,t)=>e.afterLineNumber-t.afterLineNumber)),n=n.sort(((e,t)=>e.afterLineNumber-t.afterLineNumber));const s=this._getViewZones(e,n,o,i),r=this._getOriginalEditorDecorations(s,e,t,i),a=this._getModifiedEditorDecorations(s,e,t,i);return{original:{decorations:r.decorations,overviewZones:r.overviewZones,zones:s.original},modified:{decorations:a.decorations,overviewZones:a.overviewZones,zones:s.modified}}}}class XD{constructor(e){this._source=e,this._index=-1,this.current=null,this.advance()}advance(){this._index++,this._indexe.afterLineNumber-t.afterLineNumber,_=(e,t)=>{if(null===t.domNode&&e.length>0){const i=e[e.length-1];if(i.afterLineNumber===t.afterLineNumber&&null===i.domNode)return void(i.heightInLines+=t.heightInLines)}e.push(t)},v=new XD(this._modifiedForeignVZ),b=new XD(this._originalForeignVZ);let C=1,w=1;for(let i=0,n=this._lineChanges.length;i<=n;i++){const y=i0?-1:0),g=y.modifiedStartLineNumber+(y.modifiedEndLineNumber>0?-1:0),h=y.originalEndLineNumber>0?JD._getViewLineCount(this._originalEditor,y.originalStartLineNumber,y.originalEndLineNumber):0,d=y.modifiedEndLineNumber>0?JD._getViewLineCount(this._modifiedEditor,y.modifiedStartLineNumber,y.modifiedEndLineNumber):0,p=Math.max(y.originalStartLineNumber,y.originalEndLineNumber),m=Math.max(y.modifiedStartLineNumber,y.modifiedEndLineNumber)):(u+=1e7+h,g+=1e7+d,p=u,m=g);let S=[],x=[];if(o){let e;e=y?y.originalEndLineNumber>0?y.originalStartLineNumber-C:y.modifiedStartLineNumber-w:s.getLineCount()-C+1;for(let t=0;to&&x.push({afterLineNumber:i,heightInLines:n-o,domNode:null,marginDomNode:null})}y&&(C=(y.originalEndLineNumber>0?y.originalEndLineNumber:y.originalStartLineNumber)+1,w=(y.modifiedEndLineNumber>0?y.modifiedEndLineNumber:y.modifiedStartLineNumber)+1)}for(;v.current&&v.current.afterLineNumber<=m;){let e;e=v.current.afterLineNumber<=g?u-g+v.current.afterLineNumber:p;let i=null;y&&y.modifiedStartLineNumber<=v.current.afterLineNumber&&v.current.afterLineNumber<=y.modifiedEndLineNumber&&(i=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),S.push({afterLineNumber:e,heightInLines:v.current.height/t,domNode:null,marginDomNode:i}),v.advance()}for(;b.current&&b.current.afterLineNumber<=p;){let t;t=b.current.afterLineNumber<=u?g-u+b.current.afterLineNumber:m,x.push({afterLineNumber:t,heightInLines:b.current.height/e,domNode:null}),b.advance()}if(null!==y&&sL(y)){const e=this._produceOriginalFromDiff(y,h,d);e&&S.push(e)}if(null!==y&&rL(y)){const e=this._produceModifiedFromDiff(y,h,d);e&&x.push(e)}let k=0,D=0;for(S=S.sort(f),x=x.sort(f);k=t.heightInLines?(e.heightInLines-=t.heightInLines,D++):(t.heightInLines-=e.heightInLines,k++)}for(;k(e.domNode||(e.domNode=aL()),e)))}}function QD(e,t,i,n,o){return{range:new ia(e,t,i,n),options:o}}const eL={charDelete:Fx.register({description:"diff-editor-char-delete",className:"char-delete"}),charDeleteWholeLine:Fx.register({description:"diff-editor-char-delete-whole-line",className:"char-delete",isWholeLine:!0}),charInsert:Fx.register({description:"diff-editor-char-insert",className:"char-insert"}),charInsertWholeLine:Fx.register({description:"diff-editor-char-insert-whole-line",className:"char-insert",isWholeLine:!0}),lineInsert:Fx.register({description:"diff-editor-line-insert",className:"line-insert",marginClassName:"gutter-insert",isWholeLine:!0}),lineInsertWithSign:Fx.register({description:"diff-editor-line-insert-with-sign",className:"line-insert",linesDecorationsClassName:"insert-sign "+pr.asClassName(UD),marginClassName:"gutter-insert",isWholeLine:!0}),lineDelete:Fx.register({description:"diff-editor-line-delete",className:"line-delete",marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteWithSign:Fx.register({description:"diff-editor-line-delete-with-sign",className:"line-delete",linesDecorationsClassName:"delete-sign "+pr.asClassName($D),marginClassName:"gutter-delete",isWholeLine:!0}),lineDeleteMargin:Fx.register({description:"diff-editor-line-delete-margin",marginClassName:"gutter-delete"})};class tL extends YD{constructor(e,t){super(e),this._disableSash=!1===t,this._sashRatio=null,this._sashPosition=null,this._startSashPosition=null,this._sash=this._register(new rD(this._dataSource.getContainerDomNode(),this,{orientation:0})),this._disableSash&&(this._sash.state=0),this._sash.onDidStart((()=>this._onSashDragStart())),this._sash.onDidChange((e=>this._onSashDrag(e))),this._sash.onDidEnd((()=>this._onSashDragEnd())),this._sash.onDidReset((()=>this._onSashReset()))}setEnableSplitViewResizing(e){const t=!1===e;this._disableSash!==t&&(this._disableSash=t,this._sash.state=this._disableSash?0:3)}layout(e=this._sashRatio){const t=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?GD.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let i=Math.floor((e||.5)*t);const n=Math.floor(.5*t);return i=this._disableSash?n:i||n,t>2*tL.MINIMUM_EDITOR_WIDTH?(it-tL.MINIMUM_EDITOR_WIDTH&&(i=t-tL.MINIMUM_EDITOR_WIDTH)):i=n,this._sashPosition!==i&&(this._sashPosition=i),this._sash.layout(),this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(e){const t=this._dataSource.getWidth()-(this._dataSource.getOptions().renderOverviewRuler?GD.ENTIRE_DIFF_OVERVIEW_WIDTH:0),i=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=i/t,this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()}getVerticalSashTop(e){return 0}getVerticalSashLeft(e){return this._sashPosition}getVerticalSashHeight(e){return this._dataSource.getHeight()}_getViewZones(e,t,i){const n=this._dataSource.getOriginalEditor(),o=this._dataSource.getModifiedEditor();return new iL(e,t,i,n,o).getViewZones()}_getOriginalEditorDecorations(e,t,i,n){const o=this._dataSource.getOriginalEditor(),s=String(this._removeColor),r={decorations:[],overviewZones:[]},a=o.getModel(),l=o._getViewModel();for(const e of t)if(rL(e)){r.decorations.push({range:new ia(e.originalStartLineNumber,1,e.originalEndLineNumber,1073741824),options:n?eL.lineDeleteWithSign:eL.lineDelete}),sL(e)&&e.charChanges||r.decorations.push(QD(e.originalStartLineNumber,1,e.originalEndLineNumber,1073741824,eL.charDeleteWholeLine));const t=lL(a,l,e.originalStartLineNumber,e.originalEndLineNumber);if(r.overviewZones.push(new Ib(t.startLineNumber,t.endLineNumber,0,s)),e.charChanges)for(const t of e.charChanges)if(rL(t))if(i)for(let e=t.originalStartLineNumber;e<=t.originalEndLineNumber;e++){let i,n;i=e===t.originalStartLineNumber?t.originalStartColumn:a.getLineFirstNonWhitespaceColumn(e),n=e===t.originalEndLineNumber?t.originalEndColumn:a.getLineLastNonWhitespaceColumn(e),r.decorations.push(QD(e,i,e,n,eL.charDelete))}else r.decorations.push(QD(t.originalStartLineNumber,t.originalStartColumn,t.originalEndLineNumber,t.originalEndColumn,eL.charDelete))}return r}_getModifiedEditorDecorations(e,t,i,n){const o=this._dataSource.getModifiedEditor(),s=String(this._insertColor),r={decorations:[],overviewZones:[]},a=o.getModel(),l=o._getViewModel();for(const e of t)if(sL(e)){r.decorations.push({range:new ia(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber,1073741824),options:n?eL.lineInsertWithSign:eL.lineInsert}),rL(e)&&e.charChanges||r.decorations.push(QD(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber,1073741824,eL.charInsertWholeLine));const t=lL(a,l,e.modifiedStartLineNumber,e.modifiedEndLineNumber);if(r.overviewZones.push(new Ib(t.startLineNumber,t.endLineNumber,0,s)),e.charChanges)for(const t of e.charChanges)if(sL(t))if(i)for(let e=t.modifiedStartLineNumber;e<=t.modifiedEndLineNumber;e++){let i,n;i=e===t.modifiedStartLineNumber?t.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(e),n=e===t.modifiedEndLineNumber?t.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(e),r.decorations.push(QD(e,i,e,n,eL.charInsert))}else r.decorations.push(QD(t.modifiedStartLineNumber,t.modifiedStartColumn,t.modifiedEndLineNumber,t.modifiedEndColumn,eL.charInsert))}return r}}tL.MINIMUM_EDITOR_WIDTH=100;class iL extends JD{constructor(e,t,i,n,o){super(e,t,i,n,o)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(e,t,i){return i>t?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:i-t,domNode:null}:null}_produceModifiedFromDiff(e,t,i){return t>i?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-i,domNode:null}:null}}class nL extends YD{constructor(e,t){super(e),this._decorationsLeft=e.getOriginalEditor().getLayoutInfo().decorationsLeft,this._register(e.getOriginalEditor().onDidLayoutChange((t=>{this._decorationsLeft!==t.decorationsLeft&&(this._decorationsLeft=t.decorationsLeft,e.relayoutEditors())})))}setEnableSplitViewResizing(e){}_getViewZones(e,t,i,n){const o=this._dataSource.getOriginalEditor(),s=this._dataSource.getModifiedEditor();return new oL(e,t,i,o,s,n).getViewZones()}_getOriginalEditorDecorations(e,t,i,n){const o=String(this._removeColor),s={decorations:[],overviewZones:[]},r=this._dataSource.getOriginalEditor(),a=r.getModel(),l=r._getViewModel();let c=0;for(const i of t)if(rL(i)){for(s.decorations.push({range:new ia(i.originalStartLineNumber,1,i.originalEndLineNumber,1073741824),options:eL.lineDeleteMargin});c=i.originalStartLineNumber)break;c++}let t=0;if(c0,S=Ol(1e4);let x=0,k=0,D=null;for(let t=_.originalStartLineNumber;t<=_.originalEndLineNumber;t++){const s=t-_.originalStartLineNumber,r=this._originalModel.getLineTokens(t),b=r.getLineContent(),L=m[f++],E=om.filter(w,t,1,b.length+1);if(L){let m=0;for(const e of L.breakOffsets){const t=r.sliceAndInflate(m,e,0),s=b.substring(m,e);x=Math.max(x,this._renderOriginalLine(k++,s,t,om.extractWrapped(E,m,e),y,a,l,n,o,c,d,h,u,g,p,i,S,C)),m=e}for(D||(D=[]);D.lengthe.afterLineNumber-t.afterLineNumber))}_renderOriginalLine(e,t,i,n,o,s,r,a,l,c,d,h,u,g,p,m,f,_){f.appendASCIIString('
    ');const v=Gv.isBasicASCII(t,s),b=Gv.containsRTL(t,v,r),C=gm(new cm(a.isMonospace&&!l,a.canUseHalfwidthRightwardsArrow,t,!1,v,b,0,i,n,m,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,h,u,g,p!==kd.OFF,null),f);if(f.appendASCIIString("
    "),this._renderIndicators){const t=document.createElement("div");t.className=`delete-sign ${pr.asClassName($D)}`,t.setAttribute("style",`position:absolute;top:${e*c}px;width:${d}px;height:${c}px;right:0;`),_.appendChild(t)}return C.characterMapping.getAbsoluteOffset(C.characterMapping.length)}}function sL(e){return e.modifiedEndLineNumber>0}function rL(e){return e.originalEndLineNumber>0}function aL(){const e=document.createElement("div");return e.className="diagonal-fill",e}function lL(e,t,i,n){const o=e.getLineCount();return i=Math.min(o,Math.max(1,i)),n=Math.min(o,Math.max(1,n)),t.coordinatesConverter.convertModelRangeToViewRange(new ia(i,e.getLineMinColumn(i),n,e.getLineMaxColumn(n)))}function cL(e,t){return{enableSplitViewResizing:md(e.enableSplitViewResizing,t.enableSplitViewResizing),renderSideBySide:md(e.renderSideBySide,t.renderSideBySide),maxComputationTime:_d(e.maxComputationTime,t.maxComputationTime,0,1073741824),maxFileSize:_d(e.maxFileSize,t.maxFileSize,0,1073741824),ignoreTrimWhitespace:md(e.ignoreTrimWhitespace,t.ignoreTrimWhitespace),renderIndicators:md(e.renderIndicators,t.renderIndicators),originalEditable:md(e.originalEditable,t.originalEditable),diffCodeLens:md(e.diffCodeLens,t.diffCodeLens),renderOverviewRuler:md(e.renderOverviewRuler,t.renderOverviewRuler),diffWordWrap:(i=e.diffWordWrap,n=t.diffWordWrap,wd(i,n,["off","on","inherit"]))};var i,n}br(((e,t)=>{const i=e.getColor(cg);i&&t.addRule(`.monaco-editor .char-insert, .monaco-diff-editor .char-insert { background-color: ${i}; }`);const n=e.getColor(hg)||i;n&&t.addRule(`.monaco-editor .line-insert, .monaco-diff-editor .line-insert { background-color: ${n}; }`);const o=e.getColor(gg)||n;o&&(t.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${o}; }`),t.addRule(`.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert { background-color: ${o}; }`));const s=e.getColor(dg);s&&t.addRule(`.monaco-editor .char-delete, .monaco-diff-editor .char-delete { background-color: ${s}; }`);const r=e.getColor(ug)||s;r&&t.addRule(`.monaco-editor .line-delete, .monaco-diff-editor .line-delete { background-color: ${r}; }`);const a=e.getColor(pg)||r;a&&(t.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${a}; }`),t.addRule(`.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete { background-color: ${a}; }`));const l=e.getColor(_g);l&&t.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${"hc"===e.type?"dashed":"solid"} ${l}; }`);const c=e.getColor(vg);c&&t.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${"hc"===e.type?"dashed":"solid"} ${c}; }`);const d=e.getColor(su);d&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${d}; }`);const h=e.getColor(bg);h&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${h}; }`);const u=e.getColor(ru);u&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport {\n\t\t\t\tbackground: ${u};\n\t\t\t}\n\t\t`);const g=e.getColor(au);g&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport:hover {\n\t\t\t\tbackground: ${g};\n\t\t\t}\n\t\t`);const p=e.getColor(lu);p&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport:active {\n\t\t\t\tbackground: ${p};\n\t\t\t}\n\t\t`);const m=e.getColor(Cg);t.addRule(`\n\t.monaco-editor .diagonal-fill {\n\t\tbackground-image: linear-gradient(\n\t\t\t-45deg,\n\t\t\t${m} 12.5%,\n\t\t\t#0000 12.5%, #0000 50%,\n\t\t\t${m} 50%, ${m} 62.5%,\n\t\t\t#0000 62.5%, #0000 100%\n\t\t);\n\t\tbackground-size: 8px 8px;\n\t}\n\t`)}));const dL={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0};class hL extends B{constructor(e,t={}){super(),this._onDidUpdate=this._register(new Pe),this._editor=e,this._options=td(t,dL,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=Boolean(this._options.alwaysRevealFirst),this._register(this._editor.onDidDispose((()=>this.dispose()))),this._register(this._editor.onDidUpdateDiff((()=>this._onDiffUpdated()))),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition((e=>{this.ignoreSelectionChange||(this.nextIdx=-1)}))),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel((e=>{this.revealFirst=!0}))),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(e){this.ranges=[],e&&e.forEach((e=>{!this._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((e=>{this.ranges.push({rhs:!0,range:new ia(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):0===e.modifiedEndLineNumber?this.ranges.push({rhs:!0,range:new ia(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new ia(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber+1,1)})})),this.ranges.sort(((e,t)=>ia.compareRangesUsingStarts(e.range,t.range))),this._onDidUpdate.fire(this)}_initIdx(e){let t=!1;const i=this._editor.getPosition();if(i){for(let n=0,o=this.ranges.length;n=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));const i=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{const e=i.range.getStartPosition();this._editor.setPosition(e),this._editor.revealRangeInCenter(i.range,t)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(e=0){this._move(!0,e)}previous(e=0){this._move(!1,e)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}}var uL,gL;class pL{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const e=this._value.charCodeAt(t);if(!(47===e||this._splitOnBackslash&&92===e))break}return this.next()}hasNext(){return this._to!1)){return new bL(new _L(e))}static forStrings(){return new bL(new pL)}static forConfigKeys(){return new bL(new mL)}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let n;this._root||(this._root=new vL,this._root.segment=i.value());const o=[];for(n=this._root;;){const e=i.cmp(n.segment);if(e>0)n.left||(n.left=new vL,n.left.segment=i.value()),o.push([-1,n]),n=n.left;else if(e<0)n.right||(n.right=new vL,n.right.segment=i.value()),o.push([1,n]),n=n.right;else{if(!i.hasNext())break;i.next(),n.mid||(n.mid=new vL,n.mid.segment=i.value()),o.push([0,n]),n=n.mid}}const s=n.value;n.value=t,n.key=e;for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const i=t.balanceFactor();if(i<-1||i>1){const i=o[e][0],n=o[e+1][0];if(1===i&&1===n)o[e][1]=t.rotateLeft();else if(-1===i&&-1===n)o[e][1]=t.rotateRight();else if(1===i&&-1===n)t.right=o[e+1][1]=o[e+1][1].rotateRight(),o[e][1]=t.rotateLeft();else{if(-1!==i||1!==n)throw new Error;t.left=o[e+1][1]=o[e+1][1].rotateLeft(),o[e][1]=t.rotateRight()}if(e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}return s}get(e){var t;return null===(t=this._getNode(e))||void 0===t?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())break;t.next(),i=i.mid}}return i}has(e){const t=this._getNode(e);return!(void 0===(null==t?void 0:t.value)&&void 0===(null==t?void 0:t.mid))}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var i;const n=this._iter.reset(e),o=[];let s=this._root;for(;s;){const e=n.cmp(s.segment);if(e>0)o.push([-1,s]),s=s.left;else if(e<0)o.push([1,s]),s=s.right;else{if(!n.hasNext())break;n.next(),o.push([0,s]),s=s.mid}}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){const e=this._min(s.right),{key:t,value:i,segment:n}=e;this._delete(e.key,!1),s.key=t,s.value=i,s.segment=n}else{const e=null!==(i=s.left)&&void 0!==i?i:s.right;if(o.length>0){const[t,i]=o[o.length-1];switch(t){case-1:i.left=e;break;case 0:i.mid=e;break;case 1:i.right=e}}else this._root=e}for(let e=o.length-1;e>=0;e--){const t=o[e][1];t.updateHeight();const i=t.balanceFactor();if(i>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),o[e][1]=t.rotateLeft()):i<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),o[e][1]=t.rotateRight()),e>0)switch(o[e-1][0]){case-1:o[e-1][1].left=o[e][1];break;case 1:o[e-1][1].right=o[e][1];break;case 0:o[e-1][1].mid=o[e][1]}else this._root=o[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i,n=this._root;for(;n;){const e=t.cmp(n.segment);if(e>0)n=n.left;else if(e<0)n=n.right;else{if(!t.hasNext())break;t.next(),i=n.value||i,n=n.mid}}return n&&n.value||i}findSuperstr(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const e=t.cmp(i.segment);if(e>0)i=i.left;else if(e<0)i=i.right;else{if(!t.hasNext())return i.mid?this._entries(i.mid):void 0;t.next(),i=i.mid}}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}*_entries(e){e&&(e.left&&(yield*this._entries(e.left)),e.value&&(yield[e.key,e.value]),e.mid&&(yield*this._entries(e.mid)),e.right&&(yield*this._entries(e.right)))}}class CL{constructor(e,t){this.uri=e,this.value=t}}class wL{constructor(e,t){this[uL]="ResourceMap",e instanceof wL?(this.map=new Map(e.map),this.toKey=null!=t?t:wL.defaultToKey):(this.map=new Map,this.toKey=null!=e?e:wL.defaultToKey)}set(e,t){return this.map.set(this.toKey(e),new CL(e,t)),this}get(e){var t;return null===(t=this.map.get(this.toKey(e)))||void 0===t?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(let[t,i]of this.map)e(i.value,i.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(uL=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}}wL.defaultToKey=e=>e.toString();class yL{constructor(){this[gL]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return 0!==t&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,0!==i&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:case 2:default:this.addItemLast(n);break;case 1:this.addItemFirst(n)}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.key,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:i.value,done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator]:()=>n,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const e={value:[i.key,i.value],done:!1};return i=i.next,e}return{value:void 0,done:!0}}};return n}[(gL=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,i)=>{e.push([i,t])})),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class SL extends yL{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}function xL(...e){return function(t,i){for(let n=0,o=e.length;n0?[{start:0,end:t.length}]:[]:null}function LL(e,t){const i=t.toLowerCase().indexOf(e.toLowerCase());return-1===i?null:[{start:i,end:i+e.length}]}function EL(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]===t[n]){let o=null;return(o=EL(e,t,i+1,n+1))?OL({start:n,end:n+1},o):null}return EL(e,t,i,n+1)}function NL(e){return 97<=e&&e<=122}function IL(e){return 65<=e&&e<=90}function TL(e){return 48<=e&&e<=57}function ML(e){return 32===e||9===e||10===e||13===e}const RL=new Set;function PL(e){return ML(e)||RL.has(e)}function AL(e){return NL(e)||IL(e)||TL(e)}function OL(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function FL(e,t){for(let i=t;i0&&!AL(e.charCodeAt(i-1)))return i}return e.length}function WL(e,t,i,n){if(i===e.length)return[];if(n===t.length)return null;if(e[i]!==t[n].toLowerCase())return null;{let o=null,s=n+1;for(o=WL(e,t,i+1,n+1);!o&&(s=FL(t,s))60)return null;const i=function(e){let t=0,i=0,n=0,o=0,s=0;for(let r=0;r.2&&t<.8&&n>.6&&o<.2}(i)){if(!function(e){const{upperPercent:t,lowerPercent:i}=e;return 0===i&&t>.6}(i))return null;t=t.toLowerCase()}let n=null,o=0;for(e=e.toLowerCase();o0&&PL(e.charCodeAt(i-1)))return i;return e.length}"()[]{}<>`'\"-/;:,.?!".split("").forEach((e=>RL.add(e.charCodeAt(0))));const zL=xL(kL,BL,LL),jL=xL(kL,BL,(function(e,t){return EL(e.toLowerCase(),t.toLowerCase(),0,0)})),qL=new SL(1e4);function KL(e,t,i=!1){if("string"!=typeof e||"string"!=typeof t)return null;let n=qL.get(e);n||(n=new RegExp(e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),qL.set(e,n));const o=n.exec(t);return o?[{start:o.index,end:o.index+o[0].length}]:i?jL(e,t):zL(e,t)}function UL(e,t,i,n,o,s){const r=Math.min(13,e.length);for(;i1;n--){const o=e[n]+i,s=t[t.length-1];s&&s.end===o?s.end=o+1:t.push({start:o,end:o+1})}return t}const ZL=128;function GL(){const e=[],t=[];for(let e=0;e<=ZL;e++)t[e]=0;for(let i=0;i<=ZL;i++)e.push(t.slice(0));return e}function YL(e){const t=[];for(let i=0;i<=e;i++)t[i]=0;return t}const XL=YL(256),JL=YL(256),QL=GL(),eE=GL(),tE=GL();function iE(e,t){if(t<0||t>=e.length)return!1;const i=e.codePointAt(t);switch(i){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 40:case 91:return!0;case void 0:return!1;default:return!!Ds(i)}}function nE(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function oE(e,t,i){return t[e]!==i[e]}var sE;function rE(e,t,i,n,o,s,r){const a=e.length>ZL?ZL:e.length,l=n.length>ZL?ZL:n.length;if(i>=a||s>=l||a-i>l-s)return;if(!function(e,t,i,n,o,s,r=!1){for(;t=i&&a>=n;)o[r]===s[a]&&(JL[r]=a,r--),a--}(a,l,i,s,t,o);let c=1,d=1,h=i,u=s;const g=[!1];for(c=1,h=i;hr,v=_?eE[c][d-1]+(QL[c][d-1]>0?-5:0):0,b=u>r+1&&QL[c][d-1]>0,C=b?eE[c][d-2]+(QL[c][d-2]>0?-5:0):0;if(b&&(!_||C>=v)&&(!m||C>=f))eE[c][d]=C,tE[c][d]=3,QL[c][d]=0;else if(_&&(!m||v>=f))eE[c][d]=v,tE[c][d]=2,QL[c][d]=0;else{if(!m)throw new Error("not possible");eE[c][d]=f,tE[c][d]=1,QL[c][d]=QL[c-1][d-1]+1}}}if(!g[0]&&!r)return;c--,d--;const p=[eE[c][d],s];let m=0,f=0;for(;c>=1;){let e=d;do{const t=tE[c][e];if(3===t)e-=2;else{if(2!==t)break;e-=1}}while(e>=1);m>1&&t[i+c-1]===o[s+d-1]&&!oE(e+s-1,n,o)&&m+1>QL[c][e]&&(e=d),e===d?m++:m=1,f||(f=e),c--,d=e-1,p.push(d)}l===a&&(p[0]+=2);const _=f-a;return p[0]-=_,p}function aE(e,t,i,n,o,s,r,a,l,c,d){if(t[i]!==s[r])return Number.MIN_SAFE_INTEGER;let h=1,u=!1;return r===i-n?h=e[i]===o[r]?7:5:!oE(r,o,s)||0!==r&&oE(r-1,o,s)?!iE(s,r)||0!==r&&iE(s,r-1)?(iE(s,r-1)||nE(s,r-1))&&(h=5,u=!0):h=5:(h=e[i]===o[r]?7:5,u=!0),h>1&&i===n&&(d[0]=!0),u||(u=oE(r,o,s)||iE(s,r-1)||nE(s,r-1)),i===n?r>l&&(h-=u?3:5):h+=c?u?2:0:u?0:1,r+1===a&&(h-=u?3:5),h}function lE(e,t,i,n,o,s,r){return function(e,t,i,n,o,s,r,a){let l=rE(e,t,i,n,o,s,a);if(e.length>=3){const t=Math.min(7,e.length-1);for(let r=i+1;rl[0])&&(l=e))}}}return l}(e,t,i,n,o,s,0,r)}function cE(e,t){if(t+1>=e.length)return;const i=e[t],n=e[t+1];return i!==n?e.slice(0,t)+n+i+e.slice(t+2):void 0}!function(e){e.Default=[-100,0],e.isDefault=function(e){return!e||2===e.length&&-100===e[0]&&0===e[1]}}(sE||(sE={}));const dE="$(",hE=new RegExp(`\\$\\(${No.iconNameExpression}(?:${No.iconModifierExpression})?\\)`,"g"),uE=new RegExp(No.iconNameCharacter),gE=new RegExp(`(\\\\)?${hE.source}`,"g"),pE=new RegExp(`\\\\${hE.source}`,"g"),mE=new RegExp(`(\\s)?(\\\\)?${hE.source}(\\s)?`,"g");function fE(e){return-1===e.indexOf(dE)?e:e.replace(mE,((e,t,i,n)=>i?e:t||n||""))}function _E(e){const t=e.indexOf(dE);return-1===t?{text:e}:function(e,t){const i=[];let n="";function o(e){if(e){n+=e;for(const t of e)i.push(c)}}let s,r,a=-1,l="",c=0,d=t;const h=e.length;for(o(e.substr(0,t));dt?e:`\\${e}`))):e).replace(/([ \t]+)/g,((e,t)=>" ".repeat(t.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===t?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+="\n```",this.value+=e,this.value+="\n",this.value+=t,this.value+="\n```\n",this}}function CE(e){return wE(e)?!e.value:!Array.isArray(e)||e.every(CE)}function wE(e){return e instanceof bE||!(!e||"object"!=typeof e)&&!("string"!=typeof e.value||"boolean"!=typeof e.isTrusted&&void 0!==e.isTrusted||"boolean"!=typeof e.supportThemeIcons&&void 0!==e.supportThemeIcons)}function yE(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1"):e}var SE=i(8852),xE={};xE.styleTagTransform=p(),xE.setAttributes=d(),xE.insert=l().bind(null,"head"),xE.domAPI=r(),xE.insertStyleElement=u(),o()(SE.Z,xE),SE.Z&&SE.Z.locals&&SE.Z.locals;var kE=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};const DE=new nr("selectionAnchorSet",!1);let LE=class e{constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=DE.bindTo(t),this.modelChangeListener=e.onDidChangeModel((()=>this.selectionAnchorSetContextKey.reset()))}static get(t){return t.getContribution(e.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition(),t=this.decorationId?[this.decorationId]:[],i=this.editor.deltaDecorations(t,[{range:na.fromPositions(e,e),options:{description:"selection-anchor",stickiness:1,hoverMessage:(new bE).appendText(b(0,"Selection Anchor")),className:"selection-anchor"}}]);this.decorationId=i[0],this.selectionAnchorSetContextKey.set(!!this.decorationId),vo(b(0,"Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(na.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){this.decorationId&&(this.editor.deltaDecorations([this.decorationId],[]),this.decorationId=void 0,this.selectionAnchorSetContextKey.set(!1))}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};LE.ID="editor.contrib.selectionAnchorController",LE=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(1,or)],LE),Gr(LE.ID,LE),Ur(class extends zr{constructor(){super({id:"editor.action.setSelectionAnchor",label:b(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:Rc.editorTextFocus,primary:Et(2089,2080),weight:100}})}run(e,t){var i;return kE(this,void 0,void 0,(function*(){null===(i=LE.get(t))||void 0===i||i.setSelectionAnchor()}))}}),Ur(class extends zr{constructor(){super({id:"editor.action.goToSelectionAnchor",label:b(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:DE})}run(e,t){var i;return kE(this,void 0,void 0,(function*(){null===(i=LE.get(t))||void 0===i||i.goToSelectionAnchor()}))}}),Ur(class extends zr{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:b(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:DE,kbOpts:{kbExpr:Rc.editorTextFocus,primary:Et(2089,2089),weight:100}})}run(e,t){var i;return kE(this,void 0,void 0,(function*(){null===(i=LE.get(t))||void 0===i||i.selectFromAnchorToCursor()}))}}),Ur(class extends zr{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:b(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:DE,kbOpts:{kbExpr:Rc.editorTextFocus,primary:9,weight:100}})}run(e,t){var i;return kE(this,void 0,void 0,(function*(){null===(i=LE.get(t))||void 0===i||i.cancelSelectionAnchor()}))}});var EE=i(8070),NE={};NE.styleTagTransform=p(),NE.setAttributes=d(),NE.insert=l().bind(null,"head"),NE.domAPI=r(),NE.insertStyleElement=u(),o()(EE.Z,NE),EE.Z&&EE.Z.locals&&EE.Z.locals;const IE=xh("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},b(0,"Overview ruler marker color for matching brackets."));class TE{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class ME extends B{constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new ri((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(64),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition((e=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModel((e=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(64)&&(this._matchBrackets=this._editor.getOption(64),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(e.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}static get(e){return e.getContribution(ME.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map((t=>{const i=t.getStartPosition(),n=e.bracketPairs.matchBracket(i);let o=null;if(n)n[0].containsPosition(i)?o=n[1].getStartPosition():n[1].containsPosition(i)&&(o=n[0].getStartPosition());else{const t=e.bracketPairs.findEnclosingBrackets(i);if(t)o=t[0].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(o=t.range.getStartPosition())}}return o?new na(o.lineNumber,o.column,o.lineNumber,o.column):new na(i.lineNumber,i.column,i.lineNumber,i.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach((n=>{const o=n.getStartPosition();let s=t.bracketPairs.matchBracket(o);if(!s&&(s=t.bracketPairs.findEnclosingBrackets(o),!s)){const e=t.bracketPairs.findNextBracket(o);e&&e.range&&(s=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let r=null,a=null;if(s){s.sort(ia.compareRangesUsingStarts);const[t,i]=s;if(r=e?t.getStartPosition():t.getEndPosition(),a=e?i.getEndPosition():i.getStartPosition(),i.containsPosition(o)){const e=r;r=a,a=e}}r&&a&&i.push(new na(r.lineNumber,r.column,a.lineNumber,a.column))})),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();let e=[],t=0;for(const i of this._lastBracketsData){let n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const e=this._editor.getSelections();if(e.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);let o=[],s=0;for(let t=0,i=e.length;t1&&o.sort(Do.compare);let r=[],a=0,l=0,c=n.length;for(let e=0,i=o.length;e{const i=e.getColor(xf);i&&t.addRule(`.monaco-editor .bracket-match { background-color: ${i}; }`);const n=e.getColor(kf);n&&t.addRule(`.monaco-editor .bracket-match { border: 1px solid ${n}; }`)})),kr.appendMenuItem(Sr.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:b(0,"Go to &&Bracket")},order:2});class RE{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,o=this._selection.endColumn;if((!this._isMovingLeft||1!==n)&&(this._isMovingLeft||o!==e.getLineMaxColumn(i)))if(this._isMovingLeft){const s=new ia(i,n-1,i,n),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new ia(i,o,i,o),r)}else{const s=new ia(i,o,i,o+1),r=e.getValueInRange(s);t.addEditOperation(s,null),t.addEditOperation(new ia(i,n,i,n),r)}}computeCursorState(e,t){return this._isMovingLeft?new na(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new na(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class PE extends zr{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const e of n)i.push(new RE(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}Ur(class extends PE{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:b(0,"Move Selected Text Left"),alias:"Move Selected Text Left",precondition:Rc.writable})}}),Ur(class extends PE{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:b(0,"Move Selected Text Right"),alias:"Move Selected Text Right",precondition:Rc.writable})}}),Ur(class extends zr{constructor(){super({id:"editor.action.transposeLetters",label:b(0,"Transpose Letters"),alias:"Transpose Letters",precondition:Rc.writable,kbOpts:{kbExpr:Rc.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let i=t.getModel(),n=[],o=t.getSelections();for(let e of o){if(!e.isEmpty())continue;let t=e.startLineNumber,o=e.startColumn,s=i.getLineMaxColumn(t);if(1===t&&(1===o||2===o&&2===s))continue;let r=o===s?e.getPosition():La.rightPosition(i,e.getPosition().lineNumber,e.getPosition().column),a=La.leftPosition(i,r),l=La.leftPosition(i,a),c=i.getValueInRange(ia.fromPositions(l,a)),d=i.getValueInRange(ia.fromPositions(a,r)),h=ia.fromPositions(l,r);n.push(new Ca(h,d+c))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}});const AE="9_cutcopypaste",OE=ge||document.queryCommandSupported("cut"),FE=ge||document.queryCommandSupported("copy"),WE=void 0!==navigator.clipboard&&!Ke||document.queryCommandSupported("paste");function BE(e){return e.register(),e}const VE=OE?BE(new Br({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:ge?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Sr.MenubarEditMenu,group:"2_ccp",title:b(0,"Cu&&t"),order:1},{menuId:Sr.EditorContext,group:AE,title:b(0,"Cut"),when:Rc.writable,order:1},{menuId:Sr.CommandPalette,group:"",title:b(0,"Cut"),order:1},{menuId:Sr.SimpleEditorContext,group:AE,title:b(0,"Cut"),when:Rc.writable,order:1}]})):void 0,HE=FE?BE(new Br({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:ge?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Sr.MenubarEditMenu,group:"2_ccp",title:b(0,"&&Copy"),order:2},{menuId:Sr.EditorContext,group:AE,title:b(0,"Copy"),order:2},{menuId:Sr.CommandPalette,group:"",title:b(0,"Copy"),order:1},{menuId:Sr.SimpleEditorContext,group:AE,title:b(0,"Copy"),order:2}]})):void 0;kr.appendMenuItem(Sr.MenubarEditMenu,{submenu:Sr.MenubarCopy,title:{value:b(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),kr.appendMenuItem(Sr.EditorContext,{submenu:Sr.EditorContextCopy,title:{value:b(0,"Copy As"),original:"Copy As"},group:AE,order:3});const zE=WE?BE(new Br({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:ge?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Sr.MenubarEditMenu,group:"2_ccp",title:b(0,"&&Paste"),order:4},{menuId:Sr.EditorContext,group:AE,title:b(0,"Paste"),when:Rc.writable,order:4},{menuId:Sr.CommandPalette,group:"",title:b(0,"Paste"),order:1},{menuId:Sr.SimpleEditorContext,group:AE,title:b(0,"Paste"),when:Rc.writable,order:4}]})):void 0;function jE(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,i)=>{const n=e.get(ko).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const e=n.getOption(32),i=n.getSelection();return i&&i.isEmpty()&&!e||document.execCommand(t),!0}return!1})),e.addImplementation(0,"generic-dom",((e,i)=>(document.execCommand(t),!0))))}jE(VE,"cut"),jE(HE,"copy"),zE&&(zE.addImplementation(1e4,"code-editor",((e,t)=>{const i=e.get(ko),n=e.get(BD),o=i.getFocusedCodeEditor();return!(!o||!o.hasTextFocus())&&(!(!document.execCommand("paste")&&pe)||function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(void 0,void 0,void 0,(function*(){const e=yield n.readText();if(""!==e){const t=Gm.INSTANCE.get(e);let i=!1,n=null,s=null;t&&(i=o.getOption(32)&&!!t.isFromEmptySelection,n=void 0!==t.multicursorText?t.multicursorText:null,s=t.mode),o.trigger("keyboard","paste",{text:e,pasteOnNewLine:i,multicursorText:n,mode:s})}})))})),zE.addImplementation(0,"generic-dom",((e,t)=>(document.execCommand("paste"),!0)))),FE&&Ur(class extends zr{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:b(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:Rc.textInputFocus,primary:0,weight:100}})}run(e,t){t.hasModel()&&(!t.getOption(32)&&t.getSelection().isEmpty()||(Zm.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),Zm.forceCopyWithSyntaxHighlighting=!1))}});const qE=xo("IWorkspaceEditService");class KE{constructor(e){this.metadata=e}static convert(e){return e.edits.map((e=>{if(tt(t=e)&&qi.isUri(t.resource)&&tt(t.edit))return new UE(e.resource,e.edit,e.modelVersionId,e.metadata);var t;if(function(e){return tt(e)&&(Boolean(e.newUri)||Boolean(e.oldUri))}(e))return new $E(e.oldUri,e.newUri,e.options,e.metadata);throw new Error("Unsupported edit")}))}}class UE extends KE{constructor(e,t,i,n){super(n),this.resource=e,this.textEdit=t,this.versionId=i}}class $E extends KE{constructor(e,t,i,n){super(n),this.oldResource=e,this.newResource=t,this.options=i}}const ZE=xo("IEditorCancelService"),GE=new nr("cancellableOperation",!1,b(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));cc(ZE,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,n=this._tokens.get(e);return n||(n=e.invokeWithinContext((e=>({key:GE.bindTo(e.get(or)),tokens:new q}))),this._tokens.set(e,n)),n.key.set(!0),i=n.tokens.push(t),()=>{i&&(i(),n.key.set(!n.tokens.isEmpty()),i=void 0)}}cancel(e){const t=this._tokens.get(e);if(!t)return;const i=t.tokens.pop();i&&(i.cancel(),t.key.set(!t.tokens.isEmpty()))}},!0);class YE extends Ut{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(ZE).add(e,this)))}dispose(){this._unregister(),super.dispose()}}Kr(new class extends Hr{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:GE})}runEditorCommand(e,t){e.get(ZE).cancel(t)}});class XE{constructor(e,t){if(this.flags=t,0!=(1&this.flags)){const t=e.getModel();this.modelVersionId=t?jo("{0}#{1}",t.uri.toString(),t.getVersionId()):null}else this.modelVersionId=null;0!=(4&this.flags)?this.position=e.getPosition():this.position=null,0!=(2&this.flags)?this.selection=e.getSelection():this.selection=null,0!=(8&this.flags)?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof XE))return!1;const t=e;return this.modelVersionId===t.modelVersionId&&this.scrollLeft===t.scrollLeft&&this.scrollTop===t.scrollTop&&!(!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position))&&!(!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new XE(e,this.flags))}}class JE extends YE{constructor(e,t,i,n){super(e,n),this._listener=new W,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{i&&ia.containsPosition(i,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{i&&ia.containsRange(i,e.selection)||this.cancel()}))),8&t&&this._listener.add(e.onDidScrollChange((e=>this.cancel()))),1&t&&(this._listener.add(e.onDidChangeModel((e=>this.cancel()))),this._listener.add(e.onDidChangeModelContent((e=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class QE extends Ut{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}class eN{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||""===this.value||e.value.startsWith(this.value+eN.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new eN(this.value+eN.sep+e)}}function tN(e,t,i){return!(!t.contains(e)||i&&t.contains(i))}eN.sep=".",eN.None=new eN("@@none@@"),eN.Empty=new eN(""),eN.QuickFix=new eN("quickfix"),eN.Refactor=new eN("refactor"),eN.Source=new eN("source"),eN.SourceOrganizeImports=eN.Source.append("organizeImports"),eN.SourceFixAll=eN.Source.append("fixAll");class iN{constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}static fromUser(e,t){return e&&"object"==typeof e?new iN(iN.getKindFromUser(e,t.kind),iN.getApplyFromUser(e,t.apply),iN.getPreferredUser(e)):new iN(t.kind,t.apply,!1)}static getApplyFromUser(e,t){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return"string"==typeof e.kind?new eN(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}}var nN=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};const oN="editor.action.codeAction",sN="editor.action.refactor",rN="editor.action.sourceAction",aN="editor.action.organizeImports",lN="editor.action.fixAll";class cN{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return nN(this,void 0,void 0,(function*(){if((null===(t=this.provider)||void 0===t?void 0:t.resolveCodeAction)&&!this.action.edit){let t;try{t=yield this.provider.resolveCodeAction(this.action,e)}catch(e){y(e)}t&&(this.action.edit=t.edit)}return this}))}}class dN extends B{constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(dN.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}static codeActionsComparator({action:e},{action:t}){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:rl(e.diagnostics)?rl(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:rl(t.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&eN.QuickFix.contains(new eN(e.kind))&&!!e.isPreferred))}}const hN={actions:[],documentation:void 0};function uN(e,t,i,n,o,s){var r;const a=n.filter||{},l={only:null===(r=a.include)||void 0===r?void 0:r.value,trigger:n.type},c=new QE(t,s),d=function(e,t,i){return e.all(t).filter((e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some((e=>function(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some((i=>tN(t,i,e.include)))||!e.includeSourceActions&&eN.Source.contains(t))}(i,new eN(e))))))}(e,t,a),h=new W,u=d.map((e=>nN(this,void 0,void 0,(function*(){try{o.report(e);const n=yield e.provideCodeActions(t,i,l,c.token);if(n&&h.add(n),c.token.isCancellationRequested)return hN;const s=((null==n?void 0:n.actions)||[]).filter((e=>e&&function(e,t){const i=t.kind?new eN(t.kind):void 0;return!(!(!e.include||i&&e.include.contains(i))||e.excludes&&i&&e.excludes.some((t=>tN(i,t,e.include)))||!e.includeSourceActions&&i&&eN.Source.contains(i)||e.onlyIncludePreferredActions&&!t.isPreferred)}(a,e))),r=function(e,t,i){if(!e.documentation)return;const n=e.documentation.map((e=>({kind:new eN(e.kind),command:e.command})));if(i){let e;for(const t of n)t.kind.contains(i)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return null==e?void 0:e.command}for(const e of t)if(e.kind)for(const t of n)if(t.kind.contains(new eN(e.kind)))return t.command}(e,s,a.include);return{actions:s.map((t=>new cN(t,e))),documentation:r}}catch(e){if(k(e))throw e;return y(e),hN}})))),g=e.onDidChange((()=>{Qa(e.all(t),d)||c.cancel()}));return Promise.all(u).then((e=>{const t=cl(e.map((e=>e.actions))),i=ol(e.map((e=>e.documentation)));return new dN(t,i,h)})).finally((()=>{g.dispose(),c.dispose()}))}Wo.registerCommand("_executeCodeActionProvider",(function(e,t,i,n,o){return nN(this,void 0,void 0,(function*(){if(!(t instanceof qi))throw E();const{codeActionProvider:s}=e.get(Mk),r=e.get(Lo).getModel(t);if(!r)throw E();const a=na.isISelection(i)?na.liftSelection(i):ia.isIRange(i)?r.validateRange(i):void 0;if(!a)throw E();const l="string"==typeof n?new eN(n):void 0,c=yield uN(s,r,a,{type:1,filter:{includeSourceActions:!0,include:l}},VD.None,qt.None),d=[],h=Math.min(c.validActions.length,"number"==typeof o?o:0);for(let e=0;ee.action))}finally{setTimeout((()=>c.dispose()),100)}}))}));var gN=i(3698),pN={};pN.styleTagTransform=p(),pN.setAttributes=d(),pN.insert=l().bind(null,"head"),pN.domAPI=r(),pN.insertStyleElement=u(),o()(gN.Z,pN),gN.Z&&gN.Z.locals&&gN.Z.locals;let mN=class e{constructor(t,i){this._messageWidget=new V,this._messageListeners=new W,this._editor=t,this._visible=e.MESSAGE_VISIBLE.bindTo(i),this._editorListener=this._editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit()))}static get(t){return t.getContribution(e.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let i;vo(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new fN(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(new oi((()=>this.closeMessage()),3e3)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(i?i.containsPosition(e.target.position)||this.closeMessage():i=new ia(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(fN.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(b(0,"Cannot edit in read-only editor"),this._editor.getPosition())}};mN.ID="editor.contrib.messageController",mN.MESSAGE_VISIBLE=new nr("messageVisible",!1,b(0,"Whether the editor is currently showing an inline message")),mN=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(1,or)],mN),Kr(new(Hr.bindToContribution(mN.get))({id:"leaveEditorMessage",precondition:mN.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class fN{constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const o=document.createElement("div");o.classList.add("anchor","top"),this._domNode.appendChild(o);const s=document.createElement("div");s.classList.add("message"),s.textContent=n,this._domNode.appendChild(s);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(e){let t;const i=()=>{e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",i)};return t=setTimeout(i,110),e.getDomNode().addEventListener("animationend",i),e.getDomNode().classList.add("fadeOut"),{dispose:i}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(e){this._domNode.classList.toggle("below",2===e)}}Gr(mN.ID,mN);const _N=xo("keybindingService");var vN=function(e,t){return function(i,n){t(i,n,e)}};class bN extends To{constructor(e,t){super(e.command?e.command.id:e.title,e.title.replace(/\r\n|\r|\n/g," "),void 0,!e.disabled,t),this.action=e}}let CN=class extends B{constructor(e,t,i,n,o){super(),this._editor=e,this._delegate=t,this._contextMenuService=i,this._languageFeaturesService=o,this._visible=!1,this._showingActions=this._register(new V),this._keybindingResolver=new wN({getKeybindings:()=>n.getKeybindings()})}get isVisible(){return this._visible}show(e,t,i,n){return function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){const o=n.includeDisabledActions?t.allActions:t.validActions;if(!o.length)return void(this._visible=!1);if(!this._editor.getDomNode())throw this._visible=!1,L();this._visible=!0,this._showingActions.value=t;const s=this.getMenuActions(e,o,t.documentation),r=Do.isIPosition(i)?this._toCoords(i):i||{x:0,y:0},a=this._keybindingResolver.getResolver(),l=this._editor.getOption(115);this._contextMenuService.showContextMenu({domForShadowRoot:l?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>s,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:e=>e instanceof bN?a(e.action):void 0})}))}getMenuActions(e,t,i){var n,o;const s=e=>new bN(e.action,(()=>this._delegate.onSelectCodeAction(e))),r=t.map(s),a=[...i],l=this._editor.getModel();if(l&&r.length)for(const i of this._languageFeaturesService.codeActionProvider.all(l))i._getAdditionalMenuItems&&a.push(...i._getAdditionalMenuItems({trigger:e.type,only:null===(o=null===(n=e.filter)||void 0===n?void 0:n.include)||void 0===o?void 0:o.value},t.map((e=>e.action))));return a.length&&r.push(new Ro,...a.map((e=>s(new cN({title:e.title,command:e},void 0))))),r}_toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=En(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}};CN=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([vN(2,OD),vN(3,_N),vN(4,Mk)],CN);class wN{constructor(e){this._keybindingProvider=e}getResolver(){const e=new Bo((()=>this._keybindingProvider.getKeybindings().filter((e=>wN.codeActionCommands.indexOf(e.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===aN?t={kind:eN.SourceOrganizeImports.value}:e.command===lN&&(t={kind:eN.SourceFixAll.value}),Object.assign({resolvedKeybinding:e.resolvedKeybinding},iN.fromUser(t,{kind:eN.None,apply:"never"}))}))));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.getValue());return null==i?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new eN(e.kind);return t.filter((e=>e.kind.contains(i))).filter((t=>!t.preferred||e.isPreferred)).reduceRight(((e,t)=>e?e.kind.contains(t.kind)?t:e:t),void 0)}}wN.codeActionCommands=[sN,oN,rN,aN,lN];var yN=i(1199),SN={};SN.styleTagTransform=p(),SN.setAttributes=d(),SN.insert=l().bind(null,"head"),SN.domAPI=r(),SN.insertStyleElement=u(),o()(yN.Z,SN),yN.Z&&yN.Z.locals&&yN.Z.locals;var xN;!function(e){e.Hidden={type:0},e.Showing=class{constructor(e,t,i,n){this.actions=e,this.trigger=t,this.editorPosition=i,this.widgetPosition=n,this.type=1}}}(xN||(xN={}));let kN=class e extends B{constructor(e,t,i,n){super(),this._editor=e,this._quickFixActionId=t,this._preferredFixActionId=i,this._keybindingService=n,this._onClick=this._register(new Pe),this.onClick=this._onClick.event,this._state=xN.Hidden,this._domNode=document.createElement("div"),this._domNode.className=Oo.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((e=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),hh.ignoreTarget(this._domNode),this._register(un(this._domNode,dn((e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=En(this._domNode),n=this._editor.getOption(59);let o=Math.floor(n/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{if(1!=(1&e.buttons))return;this.hide();const t=new gh;t.startMonitoring(e.target,e.buttons,uh,(()=>{}),(()=>{t.dispose()}))}))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(57)&&!this._editor.getOption(57).enabled&&this.hide()}))),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,n){if(t.validActions.length<=0)return this.hide();const o=this._editor.getOptions();if(!o.get(57).enabled)return this.hide();const s=this._editor.getModel();if(!s)return this.hide();const{lineNumber:r,column:a}=s.validatePosition(n),l=s.getOptions().tabSize,c=o.get(44),d=Sv(s.getLineContent(r),l),h=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1);let u=r;if(!(c.spaceWidth*d>22))if(r>1&&!h(r-1))u-=1;else if(h(r+1)){if(a*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new xN.Showing(t,i,n,{position:{lineNumber:u,column:1},preference:e._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=xN.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(1===this.state.type&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...Oo.lightBulb.classNamesArray),this._domNode.classList.add(...Oo.lightbulbAutofix.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(e)return void(this.title=b(0,"Show Code Actions. Preferred Quick Fix Available ({0})",e.getLabel()))}this._domNode.classList.remove(...Oo.lightbulbAutofix.classNamesArray),this._domNode.classList.add(...Oo.lightBulb.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._quickFixActionId);this.title=e?b(0,"Show Code Actions ({0})",e.getLabel()):b(0,"Show Code Actions")}set title(e){this._domNode.title=e}};kN._posPref=[0],kN=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(3,_N)],kN),br(((e,t)=>{var i;const n=null===(i=e.getColor(wu))||void 0===i?void 0:i.transparent(.7),o=e.getColor(sg);o&&t.addRule(`\n\t\t.monaco-editor .contentWidgets ${Oo.lightBulb.cssSelector} {\n\t\t\tcolor: ${o};\n\t\t\tbackground-color: ${n};\n\t\t}`);const s=e.getColor(rg);s&&t.addRule(`\n\t\t.monaco-editor .contentWidgets ${Oo.lightbulbAutofix.cssSelector} {\n\t\t\tcolor: ${s};\n\t\t\tbackground-color: ${n};\n\t\t}`)}));var DN,LN=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};let EN=class extends B{constructor(e,t,i,n,o){super(),this._editor=e,this.delegate=n,this._activeCodeActions=this._register(new V),DN.set(this,!1),this._codeActionWidget=new Bo((()=>this._register(o.createInstance(CN,this._editor,{onSelectCodeAction:e=>LN(this,void 0,void 0,(function*(){this.delegate.applyCodeAction(e,!0)}))})))),this._lightBulbWidget=new Bo((()=>{const e=this._register(o.createInstance(kN,this._editor,t,i));return this._register(e.onClick((e=>this.showCodeActionList(e.trigger,e.actions,e,{includeDisabledActions:!1})))),e}))}dispose(){(function(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,i):o?o.value=i:t.set(e,i)})(this,DN,!0,"f"),super.dispose()}update(e){var t,i,n,o,s;return LN(this,void 0,void 0,(function*(){if(1!==e.type)return void(null===(t=this._lightBulbWidget.rawValue)||void 0===t||t.hide());let r;try{r=yield e.actions}catch(e){return void w(e)}if(!function(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}(this,DN,"f"))if(this._lightBulbWidget.getValue().update(r,e.trigger,e.position),1===e.trigger.type){if(null===(i=e.trigger.filter)||void 0===i?void 0:i.include){const t=this.tryGetValidActionToApply(e.trigger,r);if(t){try{this._lightBulbWidget.getValue().hide(),yield this.delegate.applyCodeAction(t,!1)}finally{r.dispose()}return}if(e.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,r);if(t&&t.action.disabled)return null===(n=mN.get(this._editor))||void 0===n||n.showMessage(t.action.disabled,e.trigger.context.position),void r.dispose()}}const t=!!(null===(o=e.trigger.filter)||void 0===o?void 0:o.include);if(e.trigger.context&&(!r.allActions.length||!t&&!r.validActions.length))return null===(s=mN.get(this._editor))||void 0===s||s.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=r,void r.dispose();this._activeCodeActions.value=r,this._codeActionWidget.getValue().show(e.trigger,r,e.position,{includeDisabledActions:t})}else this._codeActionWidget.getValue().isVisible?r.dispose():this._activeCodeActions.value=r}))}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length)return"first"===e.autoApply&&0===t.validActions.length||"ifSingle"===e.autoApply&&1===t.allActions.length?t.allActions.find((({action:e})=>e.disabled)):void 0}tryGetValidActionToApply(e,t){if(t.validActions.length)return"first"===e.autoApply&&t.validActions.length>0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0}showCodeActionList(e,t,i,n){return LN(this,void 0,void 0,(function*(){this._codeActionWidget.getValue().show(e,t,i,n)}))}};var NN,IN;DN=new WeakMap,EN=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(4,yo)],EN),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(NN||(NN={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=b(0,"Error"),t[e.Warning]=b(0,"Warning"),t[e.Info]=b(0,"Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case lk.Error:return e.Error;case lk.Warning:return e.Warning;case lk.Info:return e.Info;case lk.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return lk.Error;case e.Warning:return lk.Warning;case e.Info:return lk.Info;case e.Hint:return lk.Ignore}}}(NN||(NN={})),function(e){const t="";function i(e,i){let n=[t];return e.source?n.push(e.source.replace("¦","\\¦")):n.push(t),e.code?"string"==typeof e.code?n.push(e.code.replace("¦","\\¦")):n.push(e.code.value.replace("¦","\\¦")):n.push(t),void 0!==e.severity&&null!==e.severity?n.push(NN.toString(e.severity)):n.push(t),e.message&&i?n.push(e.message.replace("¦","\\¦")):n.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?n.push(e.startLineNumber.toString()):n.push(t),void 0!==e.startColumn&&null!==e.startColumn?n.push(e.startColumn.toString()):n.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?n.push(e.endLineNumber.toString()):n.push(t),void 0!==e.endColumn&&null!==e.endColumn?n.push(e.endColumn.toString()):n.push(t),n.push(t),n.join("¦")}e.makeKey=function(e){return i(e,!0)},e.makeKeyOptionalMessage=i}(IN||(IN={}));const TN=xo("markerService");var MN,RN=function(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)};const PN=new nr("supportedCodeAction","");class AN extends B{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new oi),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._onCursorChange())))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some((e=>zy(e,t.uri)))&&this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2})}),this._delay)}_onCursorChange(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2})}),this._delay)}_getRangeOfMarker(e){const t=this._editor.getModel();if(t)for(const i of this._markerService.read({resource:t.uri})){const n=t.validateRange(i);if(ia.intersectRanges(n,e))return ia.lift(n)}}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelection();if(i.isEmpty()&&2===e.type){const{lineNumber:e,column:n}=i.getPosition(),o=t.getLineContent(e);if(0===o.length)return;if(1===n){if(/\s/.test(o[0]))return}else if(n===t.getLineMaxColumn(e)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return i}_createEventAndSignalChange(e,t){const i=this._editor.getModel();if(!t||!i)return void this._signalChange(void 0);const n=this._getRangeOfMarker(t),o=n?n.getStartPosition():t.getStartPosition(),s={trigger:e,selection:t,position:o};return this._signalChange(s),s}}var ON;!function(e){e.Empty={type:0},e.Triggered=class{constructor(e,t,i,n){this.trigger=e,this.rangeOrSelection=t,this.position=i,this._cancellablePromise=n,this.type=1,this.actions=n.catch((e=>{if(k(e))return FN;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(ON||(ON={}));const FN={allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1};class WN extends B{constructor(e,t,i,n,o){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._codeActionOracle=this._register(new V),this._state=ON.Empty,this._onDidChangeState=this._register(new Pe),this.onDidChangeState=this._onDidChangeState.event,MN.set(this,!1),this._supportedCodeActions=PN.bindTo(n),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){RN(this,MN,"f")||(function(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(e,i):o?o.value=i:t.set(e,i)}(this,MN,!0,"f"),super.dispose(),this.setState(ON.Empty,!0))}_update(){if(RN(this,MN,"f"))return;this._codeActionOracle.value=void 0,this.setState(ON.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(81)){const t=[];for(const i of this._registry.all(e))Array.isArray(i.providedCodeActionKinds)&&t.push(...i.providedCodeActionKinds);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new AN(this._editor,this._markerService,(t=>{var i;if(!t)return void this.setState(ON.Empty);const n=Gt((i=>uN(this._registry,e,t.selection,t.trigger,VD.None,i)));1===t.trigger.type&&(null===(i=this._progressService)||void 0===i||i.showWhile(n,250)),this.setState(new ON.Triggered(t.trigger,t.selection,t.position,n))}),void 0),this._codeActionOracle.value.trigger({type:2})}else this._supportedCodeActions.reset()}trigger(e){this._codeActionOracle.value&&this._codeActionOracle.value.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||RN(this,MN,"f")||this._onDidChangeState.fire(e))}}MN=new WeakMap;var BN=function(e,t){return function(i,n){t(i,n,e)}},VN=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};function HN(e){return Fs.regex(PN.keys()[0],new RegExp("(\\s|^)"+Ko(e.value)+"\\b"))}const zN={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:b(0,"Kind of the code action to run.")},apply:{type:"string",description:b(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[b(0,"Always apply the first returned code action."),b(0,"Apply the first returned code action if it is the only one."),b(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:b(0,"Controls if only preferred code actions should be returned.")}}};let jN=class e extends B{constructor(e,t,i,n,o,s){super(),this._instantiationService=o,this._editor=e,this._model=this._register(new WN(this._editor,s.codeActionProvider,t,i,n)),this._register(this._model.onDidChangeState((e=>this.update(e)))),this._ui=new Bo((()=>this._register(new EN(e,UN.Id,$N.Id,{applyCodeAction:(e,t)=>VN(this,void 0,void 0,(function*(){try{yield this._applyCodeAction(e)}finally{t&&this._trigger({type:2,filter:{}})}}))},this._instantiationService))))}static get(t){return t.getContribution(e.ID)}update(e){this._ui.getValue().update(e)}showCodeActions(e,t,i){return this._ui.getValue().showCodeActionList(e,t,i,{includeDisabledActions:!1})}manualTriggerAtCurrentPosition(e,t,i){var n;if(!this._editor.hasModel())return;null===(n=mN.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,filter:t,autoApply:i,context:{notAvailableMessage:e,position:o}})}_trigger(e){return this._model.trigger(e)}_applyCodeAction(e){return this._instantiationService.invokeFunction(qN,e,this._editor)}};function qN(e,t,i){return VN(this,void 0,void 0,(function*(){const n=e.get(qE),o=e.get(Fo),s=e.get(Tr),r=e.get(dk);if(s.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred}),yield t.resolve(qt.None),t.action.edit&&(yield n.apply(KE.convert(t.action.edit),{editor:i,label:t.action.title})),t.action.command)try{yield o.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){const t=function(e){return"string"==typeof e?e:e instanceof Error&&"string"==typeof e.message?e.message:void 0}(e);r.error("string"==typeof t?t:b(0,"An unknown error occurred while applying the code action"))}}))}function KN(e,t,i,n){if(e.hasModel()){const o=jN.get(e);o&&o.manualTriggerAtCurrentPosition(t,i,n)}}jN.ID="editor.contrib.quickFixController",jN=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([BN(1,TN),BN(2,or),BN(3,HD),BN(4,yo),BN(5,Mk)],jN);class UN extends zr{constructor(){super({id:UN.Id,label:b(0,"Quick Fix..."),alias:"Quick Fix...",precondition:Fs.and(Rc.writable,Rc.hasCodeActionsProvider),kbOpts:{kbExpr:Rc.editorTextFocus,primary:2132,weight:100}})}run(e,t){return KN(t,b(0,"No code actions available"),void 0,void 0)}}UN.Id="editor.action.quickFix";class $N extends zr{constructor(){super({id:$N.Id,label:b(0,"Auto Fix..."),alias:"Auto Fix...",precondition:Fs.and(Rc.writable,HN(eN.QuickFix)),kbOpts:{kbExpr:Rc.editorTextFocus,primary:1620,mac:{primary:2644},weight:100}})}run(e,t){return KN(t,b(0,"No auto fixes available"),{include:eN.QuickFix,onlyIncludePreferredActions:!0},"ifSingle")}}function ZN(e){return GN(e,0)}function GN(e,t){switch(typeof e){case"object":return null===e?YN(349,t):Array.isArray(e)?(i=e,n=YN(104579,n=t),i.reduce(((e,t)=>GN(t,e)),n)):function(e,t){return t=YN(181387,t),Object.keys(e).sort().reduce(((t,i)=>(t=XN(i,t),GN(e[i],t))),t)}(e,t);case"string":return XN(e,t);case"boolean":return function(e,t){return YN(e?433:863,t)}(e,t);case"number":return YN(e,t);case"undefined":return YN(937,t);default:return YN(617,t)}var i,n}function YN(e,t){return(t<<5)-t+e|0}function XN(e,t){t=YN(149417,t);for(let i=0,n=e.length;i>>n)>>>0}function QN(e,t=0,i=e.byteLength,n=0){for(let o=0;oe.toString(16).padStart(2,"0"))).join(""):function(e,t,i="0"){for(;e.length>>0).toString(16),t/4)}$N.Id="editor.action.autoFix",Gr(jN.ID,jN),Ur(UN),Ur(class extends zr{constructor(){super({id:sN,label:b(0,"Refactor..."),alias:"Refactor...",precondition:Fs.and(Rc.writable,Rc.hasCodeActionsProvider),kbOpts:{kbExpr:Rc.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Fs.and(Rc.writable,HN(eN.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:zN}]}})}run(e,t,i){const n=iN.fromUser(i,{kind:eN.Refactor,apply:"never"});return KN(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?b(0,"No preferred refactorings for '{0}' available",i.kind):b(0,"No refactorings for '{0}' available",i.kind):n.preferred?b(0,"No preferred refactorings available"):b(0,"No refactorings available"),{include:eN.Refactor.contains(n.kind)?n.kind:eN.None,onlyIncludePreferredActions:n.preferred},n.apply)}}),Ur(class extends zr{constructor(){super({id:rN,label:b(0,"Source Action..."),alias:"Source Action...",precondition:Fs.and(Rc.writable,Rc.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Fs.and(Rc.writable,HN(eN.Source))},description:{description:"Source Action...",args:[{name:"args",schema:zN}]}})}run(e,t,i){const n=iN.fromUser(i,{kind:eN.Source,apply:"never"});return KN(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?b(0,"No preferred source actions for '{0}' available",i.kind):b(0,"No source actions for '{0}' available",i.kind):n.preferred?b(0,"No preferred source actions available"):b(0,"No source actions available"),{include:eN.Source.contains(n.kind)?n.kind:eN.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}),Ur(class extends zr{constructor(){super({id:aN,label:b(0,"Organize Imports"),alias:"Organize Imports",precondition:Fs.and(Rc.writable,HN(eN.SourceOrganizeImports)),kbOpts:{kbExpr:Rc.editorTextFocus,primary:1581,weight:100}})}run(e,t){return KN(t,b(0,"No organize imports action available"),{include:eN.SourceOrganizeImports,includeSourceActions:!0},"ifSingle")}}),Ur($N),Ur(class extends zr{constructor(){super({id:lN,label:b(0,"Fix All"),alias:"Fix All",precondition:Fs.and(Rc.writable,HN(eN.SourceFixAll))})}run(e,t){return KN(t,b(0,"No fix all action available"),{include:eN.SourceFixAll,includeSourceActions:!0},"ifSingle")}}),Kr(new class extends Hr{constructor(){super({id:oN,precondition:Fs.and(Rc.writable,Rc.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:zN}]}})}runEditorCommand(e,t,i){const n=iN.fromUser(i,{kind:eN.Empty,apply:"ifSingle"});return KN(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?b(0,"No preferred code actions for '{0}' available",i.kind):b(0,"No code actions for '{0}' available",i.kind):n.preferred?b(0,"No preferred code actions available"):b(0,"No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}});class tI{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const i=this._buff;let n,o,s=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(n=r,o=-1,r=0):(n=e.charCodeAt(0),o=0);;){let a=n;if(hs(n)){if(!(o+1>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),eI(this._h0)+eI(this._h1)+eI(this._h2)+eI(this._h3)+eI(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,QN(this._buff,this._buffLen),this._buffLen>56&&(this._step(),QN(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=tI._bigBlock32,t=this._buffDV;for(let i=0;i<64;i+=4)e.setUint32(i,t.getUint32(i,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,JN(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let i,n,o,s=this._h0,r=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let t=0;t<80;t++)t<20?(i=r&a|~r&l,n=1518500249):t<40?(i=r^a^l,n=1859775393):t<60?(i=r&a|r&l|a&l,n=2400959708):(i=r^a^l,n=3395469782),o=JN(s,5)+i+c+n+e.getUint32(4*t,!1)&4294967295,c=l,l=a,a=JN(r,30),r=s,s=o;this._h0=this._h0+s&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}tI._bigBlock32=new DataView(new ArrayBuffer(320));var iI=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class nI{constructor(){this.lenses=[],this._disposables=new W}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}function oI(e,t,i){return iI(this,void 0,void 0,(function*(){const n=e.ordered(t),o=new Map,s=new nI,r=n.map(((e,n)=>iI(this,void 0,void 0,(function*(){o.set(e,n);try{const n=yield Promise.resolve(e.provideCodeLenses(t,i));n&&s.add(n,e)}catch(e){y(e)}}))));return yield Promise.all(r),s.lenses=s.lenses.sort(((e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:o.get(e.provider)o.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0)),s}))}Wo.registerCommand("_executeCodeLensProvider",(function(e,...t){let[i,n]=t;lt(qi.isUri(i)),lt("number"==typeof n||!n);const{codeLensProvider:o}=e.get(Mk),s=e.get(Lo).getModel(i);if(!s)throw E();const r=[],a=new W;return oI(o,s,qt.None).then((e=>{a.add(e);let t=[];for(const i of e.lenses)null==n||Boolean(i.symbol.command)?r.push(i.symbol):n-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(s,i.symbol,qt.None)).then((e=>r.push(e||i.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>a.dispose()),100)}))}));var sI,rI=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};!function(e){e[e.None=0]="None",e[e.Initialized=1]="Initialized",e[e.Closed=2]="Closed"}(sI||(sI={}));class aI extends B{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new Pe),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=sI.None,this.cache=new Map,this.flushDelayer=new ei(aI.DEFAULT_FLUSH_DELAY),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){var t,i;null===(t=e.changed)||void 0===t||t.forEach(((e,t)=>this.accept(t,e))),null===(i=e.deleted)||void 0===i||i.forEach((e=>this.accept(e,void 0)))}accept(e,t){if(this.state===sI.Closed)return;let i=!1;at(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire(e)}get(e,t){const i=this.cache.get(e);return at(i)?t:i}getBoolean(e,t){const i=this.get(e);return at(i)?t:"true"===i}getNumber(e,t){const i=this.get(e);return at(i)?t:parseInt(i,10)}set(e,t){return rI(this,void 0,void 0,(function*(){if(this.state===sI.Closed)return;if(at(t))return this.delete(e);const i=String(t);return this.cache.get(e)!==i?(this.cache.set(e,i),this.pendingInserts.set(e,i),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire(e),this.doFlush()):void 0}))}delete(e){return rI(this,void 0,void 0,(function*(){if(this.state!==sI.Closed)return this.cache.delete(e)?(this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire(e),this.doFlush()):void 0}))}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return rI(this,void 0,void 0,(function*(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally((()=>{var e;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(e=this.whenFlushedCallbacks.pop())||void 0===e||e()}))}))}doFlush(e){return rI(this,void 0,void 0,(function*(){return this.flushDelayer.trigger((()=>this.flushPending()),e)}))}dispose(){this.flushDelayer.dispose(),super.dispose()}}aI.DEFAULT_FLUSH_DELAY=100;class lI{constructor(){this.onDidChangeItemsExternal=Ie.None,this.items=new Map}updateItems(e){return rI(this,void 0,void 0,(function*(){e.insert&&e.insert.forEach(((e,t)=>this.items.set(t,e))),e.delete&&e.delete.forEach((e=>this.items.delete(e)))}))}}const cI="__$__targetStorageMarker",dI=xo("storageService");var hI;!function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(hI||(hI={}));class uI extends B{constructor(e={flushInterval:uI.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new Ae),this._onDidChangeTarget=this._register(new Ae),this._onWillSaveState=this._register(new Pe),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._globalKeyTargets=void 0}emitDidChangeValue(e,t){t===cI?(0===e?this._globalKeyTargets=void 0:1===e&&(this._workspaceKeyTargets=void 0),this._onDidChangeTarget.fire({scope:e})):this._onDidChangeValue.fire({scope:e,key:t,target:this.getKeyTargets(e)[t]})}get(e,t,i){var n;return null===(n=this.getStorage(t))||void 0===n?void 0:n.get(e,i)}getBoolean(e,t,i){var n;return null===(n=this.getStorage(t))||void 0===n?void 0:n.getBoolean(e,i)}getNumber(e,t,i){var n;return null===(n=this.getStorage(t))||void 0===n?void 0:n.getNumber(e,i)}store(e,t,i,n){at(t)?this.remove(e,i):this.withPausedEmitters((()=>{var o;this.updateKeyTarget(e,i,n),null===(o=this.getStorage(i))||void 0===o||o.set(e,t)}))}remove(e,t){this.withPausedEmitters((()=>{var i;this.updateKeyTarget(e,t,void 0),null===(i=this.getStorage(t))||void 0===i||i.delete(e)}))}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i){var n,o;const s=this.getKeyTargets(t);"number"==typeof i?s[e]!==i&&(s[e]=i,null===(n=this.getStorage(t))||void 0===n||n.set(cI,JSON.stringify(s))):"number"==typeof s[e]&&(delete s[e],null===(o=this.getStorage(t))||void 0===o||o.set(cI,JSON.stringify(s)))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get globalKeyTargets(){return this._globalKeyTargets||(this._globalKeyTargets=this.loadKeyTargets(0)),this._globalKeyTargets}getKeyTargets(e){return 0===e?this.globalKeyTargets:this.workspaceKeyTargets}loadKeyTargets(e){const t=this.get(cI,e);if(t)try{return JSON.parse(t)}catch(e){}return Object.create(null)}}uI.DEFAULT_FLUSH_INTERVAL=6e4;const gI=xo("ICodeLensCache");class pI{constructor(e,t){this.lineCount=e,this.data=t}}let mI=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new SL(20,.75),ai((()=>e.remove("codelens/cache",1)));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i),I(e.onWillSaveState)((i=>{i.reason===hI.SHUTDOWN&&e.store(t,this._serialize(),1,1)}))}put(e,t){const i=t.lenses.map((e=>{var t;return{range:e.symbol.range,command:e.symbol.command&&{id:"",title:null===(t=e.symbol.command)||void 0===t?void 0:t.title}}})),n=new nI;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new pI(e.getLineCount(),n);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const e of i.data.lenses)n.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],n=[];for(const e of i.lines)n.push({range:new ia(e,1,e,11)});const o=new nI;o.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new pI(i.lineCount,o))}}catch(e){}}};mI=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(0,dI)],mI),cc(gI,mI);const fI=new RegExp(`(\\\\)?\\$\\((${No.iconNameExpression}(?:${No.iconModifierExpression})?)\\)`,"g");function _I(e){const t=new Array;let i,n=0,o=0;for(;null!==(i=fI.exec(e));){o=i.index||0,t.push(e.substring(n,o)),n=(i.index||0)+i[0].length;const[,s,r]=i;t.push(s?`$(${r})`:vI({id:r}))}return n{e.symbol.command&&l.push(e.symbol),n.addDecoration({range:e.symbol.range,options:Fx.EMPTY},(e=>this._decorationIds[t]=e)),a=a?ia.plusRange(a,e.symbol.range):ia.lift(e.symbol.range)})),this._viewZone=new wI(a.startLineNumber-1,s,r),this._viewZoneId=o.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new yI(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t&&t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!(!i||ia.isEmpty(n.range)!==i.isEmpty())}))}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach(((e,i)=>{t.addDecoration({range:e.symbol.range,options:Fx.EMPTY},(e=>this._decorationIds[i]=e))}))}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;tGN(RI.of(t),e)),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?NI(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let n=this._cache.get(i);n||(n=new TI(6),this._cache.set(i,n));const o=NI(n.update(t),this._min,this._max);return this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new II;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return NI(0|this._overall()||this._default,this._min,this._max)}}let AI=class{constructor(e){this._logService=e,this._data=new Map}for(e,t,i){var n,o,s;const r=null!==(n=null==i?void 0:i.min)&&void 0!==n?n:50,a=null!==(o=null==i?void 0:i.max)&&void 0!==o?o:Math.pow(r,2),l=null!==(s=null==i?void 0:i.key)&&void 0!==s?s:void 0,c=`${RI.of(e)},${r}${l?","+l:""}`;let d=this._data.get(c);return d||(d=new PI(this._logService,t,e,0|this._overallAverage()||1.5*r,r,a),this._data.set(c,d)),d}_overallAverage(){let e=new II;for(let t of this._data.values())e.update(t.default());return e.value}};AI=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(0,Mr)],AI),cc(MI,AI,!0);var OI=function(e,t){return function(i,n){t(i,n,e)}};let FI=class{constructor(e,t,i,n,o,s){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=o,this._codeLensCache=s,this._disposables=new W,this._localToDispose=new W,this._lenses=[],this._oldCodeLensModels=new W,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new ri((()=>this._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(44)||e.hasChanged(16)||e.hasChanged(15))&&this._updateLensStyle(),e.hasChanged(14)&&this._onModelChange()}))),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+ZN(this._editor.getId()).toString(16),this._styleElement=Hn(Wn(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose(),this._styleElement.remove()}_getLayoutInfo(){let e,t=this._editor.getOption(16);return!t||t<5?(t=.9*this._editor.getOption(46)|0,e=this._editor.getOption(59)):e=t*Math.max(1.3,this._editor.getOption(59)/this._editor.getOption(46))|0,{codeLensHeight:e,fontSize:t}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(15),n=this._editor.getOption(44),o=`--codelens-font-family${this._styleClassName}`,s=`--codelens-font-features${this._styleClassName}`;let r=`\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${e}px; font-size: ${t}px; padding-right: ${Math.round(.5*t)}px; font-feature-settings: var(${s}) }\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${e}px; font-size: ${t}px; }\n\t\t`;i&&(r+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${o}), ${Bd.fontFamily}}`),this._styleElement.textContent=r,this._editor.getContainerDomNode().style.setProperty(o,null!=i?i:"inherit"),this._editor.getContainerDomNode().style.setProperty(s,n.fontFeatureSettings),this._editor.changeViewZones((t=>{for(let i of this._lenses)i.updateHeight(e,t)}))}_localDispose(){var e,t,i;null===(e=this._getCodeLensModelPromise)||void 0===e||e.cancel(),this._getCodeLensModelPromise=void 0,null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(i=this._currentCodeLensModel)||void 0===i||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(14))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&this._localToDispose.add(ii((()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())}),3e4)));for(const t of this._languageFeaturesService.codeLensProvider.all(e))if("function"==typeof t.onDidChange){let e=t.onDidChange((()=>i.schedule()));this._localToDispose.add(e)}const i=new ri((()=>{var t;const n=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=Gt((t=>oI(this._languageFeaturesService.codeLensProvider,e,t))),this._getCodeLensModelPromise.then((t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t);const o=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=o,this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewportSoon()}),w)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(F((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{let i=[],n=-1;this._lenses.forEach((e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)}));let o=new SI;i.forEach((e=>{e.dispose(o,t),this._lenses.splice(this._lenses.indexOf(e),1)})),o.commit(e)}))})),i.schedule()}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{i.schedule()}))),this._localToDispose.add(this._editor.onDidScrollChange((e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(F((()=>{if(this._editor.getModel()){const e=aD.capture(this._editor);this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{this._disposeAllLenses(e,t)}))})),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===(null==t?void 0:t.tagName)&&(t=t.parentElement),"A"===(null==t?void 0:t.tagName))for(const e of this._lenses){let i=e.getCommand(t);if(i){this._commandService.executeCommand(i.id,...i.arguments||[]).catch((e=>this._notificationService.error(e)));break}}}))),i.schedule()}_disposeAllLenses(e,t){const i=new SI;for(const e of this._lenses)e.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;let t,i=this._editor.getModel().getLineCount(),n=[];for(let o of e.lenses){let e=o.symbol.range.startLineNumber;e<1||e>i||(t&&t[t.length-1].symbol.range.startLineNumber===e?t.push(o):(t=[o],n.push(t)))}const o=aD.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=new SI;let o=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),o++,r++)}for(;othis._resolveCodeLensesInViewportSoon()))),r++;i.commit(e)}))})),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],n=[];if(this._lenses.forEach((e=>{const o=e.computeIfNecessary(t);o&&(i.push(o),n.push(e))})),0===i.length)return;const o=Date.now(),s=Gt((e=>{const o=i.map(((i,o)=>{const s=new Array(i.length),r=i.map(((i,n)=>i.symbol.command||"function"!=typeof i.provider.resolveCodeLens?(s[n]=i.symbol,Promise.resolve(void 0)):Promise.resolve(i.provider.resolveCodeLens(t,i.symbol,e)).then((e=>{s[n]=e}),y)));return Promise.all(r).then((()=>{e.isCancellationRequested||n[o].isDisposed()||n[o].updateCommands(s)}))}));return Promise.all(o)}));this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then((()=>{const e=this._resolveCodeLensesDebounce.update(t,Date.now()-o);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(e=>{w(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}getModel(){return this._currentCodeLensModel}};function WI(e,t,i,n){return Promise.resolve(i.provideColorPresentations(e,t,n))}FI.ID="css.editor.codeLens",FI=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([OI(1,Mk),OI(2,MI),OI(3,Fo),OI(4,dk),OI(5,gI)],FI),Gr(FI.ID,FI),Ur(class extends zr{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:Rc.hasCodeLensProvider,label:b(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){if(!t.hasModel())return;const i=e.get(EI),n=e.get(Fo),o=e.get(dk),s=t.getSelection().positionLineNumber,r=t.getContribution(FI.ID);if(!r)return;const a=r.getModel();if(!a)return;const l=[];for(const e of a.lenses)e.symbol.command&&e.symbol.range.startLineNumber===s&&l.push({label:e.symbol.command.title,command:e.symbol.command});if(0===l.length)return;const c=yield i.pick(l,{canPickMany:!1});if(c){if(a.isDisposed)return yield n.executeCommand(this.id);try{yield n.executeCommand(c.command.id,...c.command.arguments||[])}catch(e){o.error(e)}}}))}}),Wo.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[i]=t;if(!(i instanceof qi))throw E();const{colorProvider:n}=e.get(Mk),o=e.get(Lo).getModel(i);if(!o)throw E();const s=[],r=n.ordered(o).reverse().map((e=>Promise.resolve(e.provideDocumentColors(o,qt.None)).then((e=>{if(Array.isArray(e))for(let t of e)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]})}))));return Promise.all(r).then((()=>s))})),Wo.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[i,n]=t,{uri:o,range:s}=n;if(!(o instanceof qi&&Array.isArray(i)&&4===i.length&&ia.isIRange(s)))throw E();const[r,a,l,c]=i,{colorProvider:d}=e.get(Mk),h=e.get(Lo).getModel(o);if(!h)throw E();const u={range:s,color:{red:r,green:a,blue:l,alpha:c}},g=[],p=d.ordered(h).reverse().map((e=>Promise.resolve(e.provideColorPresentations(h,u,qt.None)).then((e=>{Array.isArray(e)&&g.push(...e)}))));return Promise.all(p).then((()=>g))}));var BI=function(e,t){return function(i,n){t(i,n,e)}};const VI=Object.create({});let HI=class e extends B{constructor(t,i,n,o){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=n,this._localToDispose=this._register(new W),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=new Set,this._ruleFactory=new Kp(this._editor),this._colorDecorationClassRefs=this._register(new W),this._debounceInformation=o.for(n.colorProvider,"Document Colors",{min:e.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isEnabled=this.isEnabled(),this.onModelChanged()}))),this._register(t.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(n.colorProvider.onDidChange((()=>this.onModelChanged()))),this._register(t.onDidChangeConfiguration((()=>{let e=this._isEnabled;this._isEnabled=this.isEnabled(),e!==this._isEnabled&&(this._isEnabled?this.onModelChanged():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&"object"==typeof i){const e=i.colorDecorators;if(e&&void 0!==e.enable&&!e.enable)return e.enable}return this._editor.getOption(17)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}onModelChanged(){if(this.stop(),!this._isEnabled)return;const e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new oi,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}beginCompute(){this._computePromise=Gt((e=>function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){const t=this._editor.getModel();if(!t)return Promise.resolve([]);const i=new Ne(!1),n=yield function(e,t,i){const n=[],o=e.ordered(t).reverse().map((e=>Promise.resolve(e.provideDocumentColors(t,i)).then((t=>{if(Array.isArray(t))for(let i of t)n.push({colorInfo:i,provider:e})}))));return Promise.all(o).then((()=>n))}(this._languageFeaturesService.colorProvider,t,e);return this._debounceInformation.update(t,i.elapsed()),n})))),this._computePromise.then((e=>{this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}),w)}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map((e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:Fx.EMPTY})));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,i)=>this._colorDatas.set(t,e[i])))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[];for(let i=0;ithis._colorDatas.has(e.id)));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecorationId(e){return this._colorDecoratorIds.has(e)}};HI.ID="editor.contrib.colorDetector",HI.RECOMPUTE_TIME=1e3,HI=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([BI(1,ec),BI(2,Mk),BI(3,MI)],HI),Gr(HI.ID,HI);class zI{constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new Pe,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Pe,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Pe,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){for(let e=0;e{this.backgroundColor=e.getColor(Zu)||vh.white}))),this._register(cn(this.pickedColorNode,$n.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(cn(o,$n.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this.pickedColorNode.style.backgroundColor=vh.Format.CSS.format(t.color)||"",this.pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){this.pickedColorNode.style.backgroundColor=vh.Format.CSS.format(e)||"",this.pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:"",this.pickedColorNode.prepend(KI(".codicon.codicon-color-mode"))}}class $I extends B{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this.domNode=KI(".colorpicker-body"),Xn(e,this.domNode),this.saturationBox=new ZI(this.domNode,this.model,this.pixelRatio),this._register(this.saturationBox),this._register(this.saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this.saturationBox.onColorFlushed(this.flushColor,this)),this.opacityStrip=new YI(this.domNode,this.model),this._register(this.opacityStrip),this._register(this.opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this.opacityStrip.onColorFlushed(this.flushColor,this)),this.hueStrip=new XI(this.domNode,this.model),this._register(this.hueStrip),this._register(this.hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this.hueStrip.onColorFlushed(this.flushColor,this))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new vh(new _h(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new vh(new _h(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new vh(new _h(360===i?0:i,t.s,t.v,t.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class ZI extends B{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Pe,this.onColorFlushed=this._onColorFlushed.event,this.domNode=KI(".saturation-wrap"),Xn(e,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",Xn(this.domNode,this.canvas),this.selection=KI(".saturation-selection"),Xn(this.domNode,this.selection),this.layout(),this._register(un(this.domNode,(e=>this.onMouseDown(e)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onMouseDown(e){this.monitor=this._register(new gh);const t=En(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.buttons,uh,(e=>this.onDidChangePosition(e.posx-t.left,e.posy-t.top)),(()=>null));const i=gn(document,(()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new vh(new _h(e.h,1,1,1)),i=this.canvas.getContext("2d"),n=i.createLinearGradient(0,0,this.canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const o=i.createLinearGradient(0,0,0,this.canvas.height);o.addColorStop(0,"rgba(0, 0, 0, 0)"),o.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this.canvas.width,this.canvas.height),i.fillStyle=vh.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=o,i.fill()}paintSelection(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"}onDidChangeColor(){this.monitor&&this.monitor.isMonitoring()||this.paint()}}class GI extends B{constructor(e,t){super(),this.model=t,this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Pe,this.onColorFlushed=this._onColorFlushed.event,this.domNode=Xn(e,KI(".strip")),this.overlay=Xn(this.domNode,KI(".overlay")),this.slider=Xn(this.domNode,KI(".slider")),this.slider.style.top="0px",this._register(un(this.domNode,(e=>this.onMouseDown(e)))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onMouseDown(e){const t=this._register(new gh),i=En(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.buttons,uh,(e=>this.onDidChangeTop(e.posy-i.top)),(()=>null));const n=gn(document,(()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=(1-e)*this.height+"px"}}class YI extends GI{constructor(e,t){super(e,t),this.domNode.classList.add("opacity-strip"),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){const{r:t,g:i,b:n}=e.rgba,o=new vh(new mh(t,i,n,1)),s=new vh(new mh(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class XI extends GI{constructor(e,t){super(e,t),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class JI extends Z_{constructor(e,t,i,n){super(),this.model=t,this.pixelRatio=i,this._register(ze.onDidChange((()=>this.layout())));const o=KI(".colorpicker-widget");e.appendChild(o);const s=new UI(o,this.model,n);this.body=new $I(o,this.model,this.pixelRatio),this._register(s),this._register(this.body)}layout(){this.body.layout()}}var QI=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class eT{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let tT=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=1}computeSync(e,t){return[]}computeAsync(e,t,i){return hi.fromPromise(this._computeAsync(e,t,i))}_computeAsync(e,t,i){return QI(this,void 0,void 0,(function*(){if(!this._editor.hasModel())return[];const e=HI.get(this._editor);if(!e)return[];for(const i of t){if(!e.isColorDecorationId(i.id))continue;const t=e.getColorData(i.range.getStartPosition());if(t)return[yield this._createColorHover(this._editor.getModel(),t.colorInfo,t.provider)]}return[]}))}_createColorHover(e,t,i){return QI(this,void 0,void 0,(function*(){const n=e.getValueInRange(t.range),{red:o,green:s,blue:r,alpha:a}=t.color,l=new mh(Math.round(255*o),Math.round(255*s),Math.round(255*r),a),c=new vh(l),d=yield WI(e,t,i,qt.None),h=new zI(c,[],0);return h.colorPresentations=d||[],h.guessColorPresentation(c,n),new eT(this,ia.lift(t.range),h,i)}))}renderHoverParts(e,t){if(0===t.length||!this._editor.hasModel())return B.None;const i=new W,n=t[0],o=this._editor.getModel(),s=n.model,r=i.add(new JI(e.fragment,s,this._editor.getOption(129),this._themeService));e.setColorPicker(r);let a=new ia(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn);const l=()=>{let t,i;if(s.presentation.textEdit){t=[s.presentation.textEdit],i=new ia(s.presentation.textEdit.range.startLineNumber,s.presentation.textEdit.range.startColumn,s.presentation.textEdit.range.endLineNumber,s.presentation.textEdit.range.endColumn);const e=this._editor.getModel()._setTrackedRange(null,i,3);this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",t),i=this._editor.getModel()._getTrackedRange(e)||i}else t=[{range:a,text:s.presentation.label,forceMoveMarkers:!1}],i=a.setEndPosition(a.endLineNumber,a.startColumn+s.presentation.label.length),this._editor.pushUndoStop(),this._editor.executeEdits("colorpicker",t);s.presentation.additionalTextEdits&&(t=[...s.presentation.additionalTextEdits],this._editor.executeEdits("colorpicker",t),e.hide()),this._editor.pushUndoStop(),a=i},c=e=>WI(o,{range:a,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,qt.None).then((e=>{s.colorPresentations=e||[]}));return i.add(s.onColorFlushed((e=>{c(e).then(l)}))),i.add(s.onDidChangeColor(c)),i}};tT=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([function(e,t){return function(i,n){t(i,n,e)}}(1,ur)],tT);var iT=i(5626),nT={};function oT(e,t){return!!e[t]}nT.styleTagTransform=p(),nT.setAttributes=d(),nT.insert=l().bind(null,"head"),nT.domAPI=r(),nT.insertStyleElement=u(),o()(iT.Z,nT),iT.Z&&iT.Z.locals&&iT.Z.locals;class sT{constructor(e,t){this.target=e.target,this.hasTriggerModifier=oT(e.event,t.triggerModifier),this.hasSideBySideModifier=oT(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class rT{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=oT(e,t.triggerModifier)}}class aT{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function lT(e){return"altKey"===e?he?new aT(57,"metaKey",6,"altKey"):new aT(5,"ctrlKey",6,"altKey"):he?new aT(6,"altKey",57,"metaKey"):new aT(6,"altKey",5,"ctrlKey")}class cT extends B{constructor(e){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Pe),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Pe),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Pe),this.onCancel=this._onCancel.event,this._editor=e,this._opts=lT(this._editor.getOption(70)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(70)){const e=lT(this._editor.getOption(70));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new sT(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new sT(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new sT(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new rT(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new rT(e,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e)))),this._register(this._editor.onDidChangeModel((e=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=e.target.position?e.target.position.lineNumber:0}_onEditorMouseUp(e){const t=e.target.position?e.target.position.lineNumber:0;this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var dT=i(1799),hT={};hT.styleTagTransform=p(),hT.setAttributes=d(),hT.insert=l().bind(null,"head"),hT.domAPI=r(),hT.insertStyleElement=u(),o()(dT.Z,hT),dT.Z&&dT.Z.locals&&dT.Z.locals;var uT=function(e,t){return function(i,n){t(i,n,e)}};let gT=class extends Ok{constructor(e,t,i,n,o,s,r,a,l,c,d,h){super(e,Object.assign(Object.assign({},i.getRawOptions()),{overflowWidgetsDomNode:i.getOverflowWidgetsDomNode()}),{},n,o,s,r,a,l,c,d,h),this._parentEditor=i,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(i.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){td(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};gT=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([uT(3,yo),uT(4,ko),uT(5,Fo),uT(6,or),uT(7,ur),uT(8,dk),uT(9,th),uT(10,gc),uT(11,Mk)],gT);class pT{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const mT=new pT("id#");var fT=i(8209),_T={};_T.styleTagTransform=p(),_T.setAttributes=d(),_T.insert=l().bind(null,"head"),_T.domAPI=r(),_T.insertStyleElement=u(),o()(fT.Z,_T),fT.Z&&fT.Z.locals&&fT.Z.locals;const vT=new vh(new mh(0,122,204)),bT={showArrow:!0,showFrame:!0,className:"",frameColor:vT,arrowColor:vT,keepEditorSelection:!1};class CT{constructor(e,t,i,n,o,s){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this._onDomNodeTop=o,this._onComputedHeight=s}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class wT{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class yT{constructor(e){this._editor=e,this._ruleName=yT._IdGenerator.nextId(),this._decorations=[],this._color=null,this._height=-1}dispose(){this.hide(),Kn(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){Kn(this._ruleName),qn(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(e){1===e.column&&(e={lineNumber:e.lineNumber,column:2}),this._decorations=this._editor.deltaDecorations(this._decorations,[{range:ia.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._editor.deltaDecorations(this._decorations,[])}}yT._IdGenerator=new pT(".arrow-decoration-");var ST=i(5398),xT={};xT.styleTagTransform=p(),xT.setAttributes=d(),xT.insert=l().bind(null,"head"),xT.domAPI=r(),xT.insertStyleElement=u(),o()(ST.Z,xT),ST.Z&&ST.Z.locals&&ST.Z.locals;class kT extends Mo{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Pe),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Xn(e,io(".monaco-dropdown")),this._label=Xn(this._element,io(".dropdown-label"));let i=t.labelRenderer;i||(i=e=>(e.textContent=t.label||"",null));for(const e of[$n.CLICK,$n.MOUSE_DOWN,dh.Tap])this._register(cn(this.element,e,(e=>Zn(e,!0))));for(const e of[$n.MOUSE_DOWN,dh.Tap])this._register(cn(this._label,e,(e=>{e instanceof MouseEvent&&e.detail>1||(this.visible?this.hide():this.show())})));this._register(cn(this._label,$n.KEY_UP,(e=>{const t=new Ot(e);(t.equals(3)||t.equals(10))&&(Zn(e,!0),this.visible?this.hide():this.show())})));const n=i(this._label);n&&this._register(n),this._register(hh.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class DT extends kT{constructor(e,t){super(e,t),this._actions=[],this._contextMenuProvider=t.contextMenuProvider,this.actions=t.actions||[],this.actionProvider=t.actionProvider,this.menuClassName=t.menuClassName||"",this.menuAsChild=!!t.menuAsChild}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this.actionProvider?this.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:e=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this.menuClassName,onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this.menuAsChild?this.element:void 0})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class LT extends mD{constructor(e,t,i,n=Object.create(null)){super(null,e,n),this.actionItem=null,this._onDidChangeVisibility=this._register(new Pe),this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=n,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=Array.isArray(this.menuActionsOrProvider),i={contextMenuProvider:this.contextMenuProvider,labelRenderer:e=>{this.element=Xn(e,io("a.action-label"));let t=[];return"string"==typeof this.options.classNames?t=this.options.classNames.split(/\s+/g).filter((e=>!!e)):this.options.classNames&&(t=this.options.classNames),t.find((e=>"icon"===e))||t.push("codicon"),this.element.classList.add(...t),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:t?this.menuActionsOrProvider:void 0,actionProvider:t?void 0:this.menuActionsOrProvider};if(this.dropdownMenu=this._register(new DT(e,i)),this._register(this.dropdownMenu.onDidChangeVisibility((e=>{var t;null===(t=this.element)||void 0===t||t.setAttribute("aria-expanded",`${e}`),this._onDidChangeVisibility.fire(e)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const e=this;this.dropdownMenu.menuOptions=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return e.options.anchorAlignmentProvider()}})}this.updateEnabled()}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}updateEnabled(){var e,t;const i=!this.getAction().enabled;null===(e=this.actionItem)||void 0===e||e.classList.toggle("disabled",i),null===(t=this.element)||void 0===t||t.classList.toggle("disabled",i)}}class ET{constructor(e,t,i=t){this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=i}toLabel(e,t,i){if(0===t.length)return null;const n=[];for(let o=0,s=t.length;o=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},OT=function(e,t){return function(i,n){t(i,n,e)}},FT=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};let WT=class extends fD{constructor(e,t,i,n,o){super(void 0,e,{icon:!(!e.class&&!e.item.icon),label:!e.class&&!e.item.icon,draggable:null==t?void 0:t.draggable}),this._keybindingService=i,this._notificationService=n,this._contextKeyService=o,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new V),this._altKey=co.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}onClick(e){return FT(this,void 0,void 0,(function*(){e.preventDefault(),e.stopPropagation();try{yield this.actionRunner.run(this._commandAction,this._context)}catch(e){this._notificationService.error(e)}}))}render(e){super.render(e),e.classList.add("menu-entry"),this._updateItemClass(this._menuItemAction.item);let t=!1,i=this._altKey.keyStatus.altKey||(de||ue)&&this._altKey.keyStatus.shiftKey;const n=()=>{const e=t&&i;e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._menuItemAction.alt&&this._register(this._altKey.event((e=>{i=e.altKey||(de||ue)&&e.shiftKey,n()}))),this._register(cn(e,"mouseleave",(e=>{t=!1,n()}))),this._register(cn(e,"mouseenter",(e=>{t=!0,n()})))}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}updateTooltip(){if(this.label){const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let n=t?b(0,"{0} ({1})",i,t):i;if(!this._wantsAltCommand&&this._menuItemAction.alt){const e=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,t=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),i=t&&t.getLabel(),o=i?b(0,"{0} ({1})",e,i):e;n+=`\n[${NT.modifierLabels[Ce].altKey}] ${o}`}this.label.title=n}}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){var t;this._itemClassDispose.value=void 0;const{element:i,label:n}=this;if(!i||!n)return;const o=this._commandAction.checked&&(null===(t=e.toggled)||void 0===t?void 0:t.icon)?e.toggled.icon:e.icon;if(o)if(pr.isThemeIcon(o)){const e=pr.asClassNameArray(o);n.classList.add(...e),this._itemClassDispose.value=F((()=>{n.classList.remove(...e)}))}else o.light&&n.style.setProperty("--menu-entry-icon-light",ao(o.light)),o.dark&&n.style.setProperty("--menu-entry-icon-dark",ao(o.dark)),n.classList.add("icon"),this._itemClassDispose.value=F((()=>{n.classList.remove("icon"),n.style.removeProperty("--menu-entry-icon-light"),n.style.removeProperty("--menu-entry-icon-dark")}))}};WT=AT([OT(2,_N),OT(3,dk),OT(4,or)],WT);let BT=class extends LT{constructor(e,t,i){var n,o;const s=Object.assign({},null!=t?t:Object.create(null),{menuAsChild:null!==(n=null==t?void 0:t.menuAsChild)&&void 0!==n&&n,classNames:null!==(o=null==t?void 0:t.classNames)&&void 0!==o?o:pr.isThemeIcon(e.item.icon)?pr.asClassName(e.item.icon):void 0});super(e,{getActions:()=>e.actions},i,s)}render(e){if(super.render(e),this.element){e.classList.add("menu-entry");const{icon:t}=this._action.item;t&&!pr.isThemeIcon(t)&&(this.element.classList.add("icon"),t.light&&this.element.style.setProperty("--menu-entry-icon-light",ao(t.light)),t.dark&&this.element.style.setProperty("--menu-entry-icon-dark",ao(t.dark)))}}};BT=AT([OT(2,OD)],BT);let VT=class extends mD{constructor(e,t,i,n,o,s,r,a){var l,c,d;let h;super(null,e),this._keybindingService=i,this._notificationService=n,this._contextMenuService=o,this._menuService=s,this._instaService=r,this._storageService=a,this._container=null,this._storageKey=`${e.item.submenu._debugName}_lastActionId`;let u=a.get(this._storageKey,1);u&&(h=e.actions.find((e=>u===e.id))),h||(h=e.actions[0]),this._defaultAction=this._instaService.createInstance(WT,h,void 0);const g=Object.assign({},null!=t?t:Object.create(null),{menuAsChild:null===(l=null==t?void 0:t.menuAsChild)||void 0===l||l,classNames:null!==(c=null==t?void 0:t.classNames)&&void 0!==c?c:["codicon","codicon-chevron-down"],actionRunner:null!==(d=null==t?void 0:t.actionRunner)&&void 0!==d?d:new Mo});this._dropdown=new LT(e,e.actions,this._contextMenuService,g),this._dropdown.actionRunner.onDidRun((e=>{e.action instanceof Lr&&this.update(e.action)}))}update(e){var t,i;this._storageService.store(this._storageKey,e.id,1,0),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(WT,e,void 0),this._defaultAction.actionRunner=new class extends Mo{runAction(e,t){return FT(this,void 0,void 0,(function*(){yield e.run(void 0)}))}},this._container&&this._defaultAction.render((t=this._container,i=io(".action-container"),t.insertBefore(i,t.firstChild),i))}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=io(".action-container");this._defaultAction.render(Xn(this._container,t)),this._register(cn(t,$n.KEY_DOWN,(e=>{const t=new Ot(e);t.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),t.stopPropagation())})));const i=io(".dropdown-action-container");this._dropdown.render(Xn(this._container,i)),this._register(cn(i,$n.KEY_DOWN,(e=>{var t;const i=new Ot(e);i.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(t=this._defaultAction.element)||void 0===t||t.focus(),i.stopPropagation())})))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};function HT(e,t,i){return t instanceof Lr?e.createInstance(WT,t,void 0):t instanceof Dr?t.item.rememberDefaultAction?e.createInstance(VT,t,i):e.createInstance(BT,t,i):void 0}VT=AT([OT(2,_N),OT(3,dk),OT(4,OD),OT(5,xr),OT(6,yo),OT(7,dI)],VT);var zT=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},jT=function(e,t){return function(i,n){t(i,n,e)}};const qT=xo("IPeekViewService");var KT;cc(qT,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){const i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose((()=>{const i=this._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),this._widgets.delete(e))}))})}}),function(e){e.inPeekEditor=new nr("inReferenceSearchEditor",!0,b(0,"Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(KT||(KT={}));let UT=class{constructor(e,t){e instanceof gT&&KT.inPeekEditor.bindTo(t)}dispose(){}};UT.ID="editor.contrib.referenceController",UT=zT([jT(1,or)],UT),Gr(UT.ID,UT);const $T={headerBackgroundColor:vh.white,primaryHeadingColor:vh.fromHex("#333333"),secondaryHeadingColor:vh.fromHex("#6c6c6cb3")};let ZT=class extends class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._positionMarkerId=[],this._viewZone=null,this._disposables=new W,this.container=null,this._isShowing=!1,this.editor=e,this.options=Xc(t),td(this.options,bT,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((e=>{const t=this._getWidth(e);this.domNode.style.width=t+"px",this.domNode.style.left=this._getLeft(e)+"px",this._onWidth(t)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null})),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[],this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new yT(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){let e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&0===e.minimap.minimapLeft?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){let t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}this._resizeSash&&this._resizeSash.layout()}get position(){const[e]=this._positionMarkerId;if(!e)return;const t=this.editor.getModel();if(!t)return;const i=t.getDecorationRange(e);return i?i.getStartPosition():void 0}show(e,t){const i=ia.isIRange(e)?ia.lift(e):ia.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:i,options:Fx.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()}_decoratingElementsHeight(){let e=this.editor.getOption(59),t=0;return this.options.showArrow&&(t+=2*Math.round(e/3)),this.options.showFrame&&(t+=2*Math.round(e/9)),t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),o=this._getWidth(n);this.domNode.style.width=`${o}px`,this.domNode.style.left=this._getLeft(n)+"px";const s=document.createElement("div");s.style.overflow="hidden";const r=this.editor.getOption(59),a=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,a);let l=0,c=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(r/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new CT(s,i.lineNumber,i.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e))),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new wT("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const e=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}let d=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden"),this._doLayout(d,o),this.options.keepEditorSelection||this.editor.setSelection(e);const h=this.editor.getModel();if(h){const t=e.endLineNumber+1;t<=h.getLineCount()?this.revealLine(t,!1):this.revealLine(h.getLineCount(),!0)}}revealLine(e,t){t?this.editor.revealLineInCenter(e,0):this.editor.revealLine(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones((t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let e;this._resizeSash=this._disposables.add(new rD(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{e=void 0}))),this._disposables.add(this._resizeSash.onDidChange((t=>{if(e){let i=(t.currentY-e.startY)/this.editor.getOption(59),n=i<0?Math.ceil(i):Math.floor(i),o=e.heightInLines+n;o>5&&o<35&&this._relayout(o)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Pe,this.onDidClose=this._onDidClose.event,td(this.options,$T,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){let t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();let e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=io(".head"),this._bodyElement=io(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){const i=io(".peekview-title");this.options.supportOnTitleClick&&(i.classList.add("clickable"),hn(i,"click",(e=>this._onTitleClick(e)))),Xn(this._headElement,i),this._fillTitleIcon(i),this._primaryHeading=io("span.filename"),this._secondaryHeading=io("span.dirname"),this._metaHeading=io("span.meta"),Xn(i,this._primaryHeading,this._secondaryHeading,this._metaHeading);const n=io(".peekview-actions");Xn(this._headElement,n);const o=this._getActionBarOptions();this._actionbarWidget=new vD(n,o),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new To("peekview.close",b(0,"Close"),Oo.close.classNames,!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:HT.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:rn(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,no(this._metaHeading)):oo(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const i=Math.ceil(1.2*this.editor.getOption(59)),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};ZT=zT([jT(2,yo)],ZT);const GT=xh("peekViewTitle.background",{dark:Ep(_u,.1),light:Ep(_u,.1),hc:null},b(0,"Background color of the peek view title area.")),YT=xh("peekViewTitleLabel.foreground",{dark:vh.white,light:vh.black,hc:vh.white},b(0,"Color of the peek view title.")),XT=xh("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hc:"#FFFFFF99"},b(0,"Color of the peek view title info.")),JT=xh("peekView.border",{dark:_u,light:_u,hc:Nh},b(0,"Color of the peek view borders and arrow.")),QT=xh("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:vh.black},b(0,"Background color of the peek view result list.")),eM=(xh("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:vh.white},b(0,"Foreground color for line nodes in the peek view result list.")),xh("peekViewResult.fileForeground",{dark:vh.white,light:"#1E1E1E",hc:vh.white},b(0,"Foreground color for file nodes in the peek view result list.")),xh("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},b(0,"Background color of the selected entry in the peek view result list.")),xh("peekViewResult.selectionForeground",{dark:vh.white,light:"#6C6C6C",hc:vh.white},b(0,"Foreground color of the selected entry in the peek view result list.")),xh("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:vh.black},b(0,"Background color of the peek view editor.")));function tM(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===UC.ICodeEditor}function iM(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===UC.IDiffEditor}function nM(e){return tM(e)?e:iM(e)?e.getModifiedEditor():null}xh("peekViewEditorGutter.background",{dark:eM,light:eM,hc:eM},b(0,"Background color of the gutter in the peek view editor.")),xh("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},b(0,"Match highlight color in the peek view result list.")),xh("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},b(0,"Match highlight color in the peek view editor.")),xh("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:Ih},b(0,"Match highlight border in the peek view editor."));var oM,sM=i(2431),rM={};rM.styleTagTransform=p(),rM.setAttributes=d(),rM.insert=l().bind(null,"head"),rM.domAPI=r(),rM.insertStyleElement=u(),o()(sM.Z,rM),sM.Z&&sM.Z.locals&&sM.Z.locals;class aM{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach((n=>n.splice(e,t,i)))}}class lM extends Error{constructor(e,t){super(`ListError [${e}] ${t}`)}}function cM(e,t){const i=[];for(let n of t){if(e.start>=n.range.end)continue;if(e.end=t.end||t.start>=e.end)return{start:0,end:0};const i=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-i<=0?{start:0,end:0}:{start:i,end:n}}function i(e){return e.end-e.start<=0}e.intersect=t,e.isEmpty=i,e.intersects=function(e,n){return!i(t(e,n))},e.relativeComplement=function(e,t){const n=[],o={start:e.start,end:Math.min(t.start,e.end)},s={start:Math.max(t.end,e.start),end:e.end};return i(o)||n.push(o),i(s)||n.push(s),n}}(oM||(oM={}));class hM{constructor(){this.groups=[],this._size=0}splice(e,t,i=[]){const n=i.length-t,o=cM({start:0,end:e},this.groups),s=cM({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((e=>({range:dM(e.range,n),size:e.size}))),r=i.map(((t,i)=>({range:{start:e+i,end:e+i+1},size:t.size})));this.groups=function(...e){return function(e){const t=[];let i=null;for(let n of e){const e=n.range.start,o=n.range.end,s=n.size;i&&s===i.size?i.range.end=o:(i={range:{start:e,end:o},size:s},t.push(i))}return t}(e.reduce(((e,t)=>e.concat(t)),[]))}(o,r,s),this._size=this.groups.reduce(((e,t)=>e+t.size*(t.range.end-t.range.start)),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;let t=0,i=0;for(let n of this.groups){const o=n.range.end-n.range.start,s=i+o*n.size;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null})),this.cache.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error(`No renderer found for ${e}`);return t}}var gM=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r};const pM={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:e=>[e],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class mM{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class fM{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class _M{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;ti,(null==e?void 0:e.getPosInSet)?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(e,t)=>t+1,(null==e?void 0:e.getRole)?this.getRole=e.getRole.bind(e):this.getRole=e=>"listitem",(null==e?void 0:e.isChecked)?this.isChecked=e.isChecked.bind(e):this.isChecked=e=>{}}}class bM{constructor(e,t,i,n=pM){if(this.virtualDelegate=t,this.domId="list_id_"+ ++bM.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Qt(50),this.splicing=!1,this.dragOverAnimationStopDisposable=B.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=B.None,this.onDragLeaveTimeout=B.None,this.disposables=new W,this._onDidChangeContentHeight=new Pe,this._horizontalScrolling=!1,n.horizontalScrolling&&n.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new hM;for(const e of i)this.renderers.set(e.templateId,e);this.cache=this.disposables.add(new uM(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof n.mouseSupport||n.mouseSupport),this._horizontalScrolling=nd(n,(e=>e.horizontalScrolling),pM.horizontalScrolling),this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.additionalScrollHeight=void 0===n.additionalScrollHeight?0:n.additionalScrollHeight,this.accessibilityProvider=new vM(n.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows";const o=nd(n,(e=>e.transformOptimization),pM.transformOptimization);o&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)"),this.disposables.add(hh.addTarget(this.rowsContainer)),this.scrollable=new iv({forceIntegerValues:!0,smoothScrollDuration:nd(n,(e=>e.smoothScrolling),!1)?125:0,scheduleAtNextAnimationFrame:e=>_n(e)}),this.scrollableElement=this.disposables.add(new uv(this.rowsContainer,{alwaysConsumeMouseWheel:nd(n,(e=>e.alwaysConsumeMouseWheel),pM.alwaysConsumeMouseWheel),horizontal:1,vertical:nd(n,(e=>e.verticalScrollMode),pM.verticalScrollMode),useShadows:nd(n,(e=>e.useShadows),pM.useShadows),mouseWheelScrollSensitivity:n.mouseWheelScrollSensitivity,fastScrollSensitivity:n.fastScrollSensitivity},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(cn(this.rowsContainer,dh.Change,(e=>this.onTouchChange(e)))),this.disposables.add(cn(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0))),this.disposables.add(cn(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e))))),this.disposables.add(cn(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e))))),this.disposables.add(cn(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e))))),this.disposables.add(cn(this.domNode,"dragend",(e=>this.onDragEnd(e)))),this.setRowLineHeight=nd(n,(e=>e.setRowLineHeight),pM.setRowLineHeight),this.setRowHeight=nd(n,(e=>e.setRowHeight),pM.setRowHeight),this.supportDynamicHeights=nd(n,(e=>e.supportDynamicHeights),pM.supportDynamicHeights),this.dnd=nd(n,(e=>e.dnd),pM.dnd),this.layout()}get contentHeight(){return this.rangeMap.size}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const e of this.items)this.measureItemWidth(e);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:Tn(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}updateOptions(e){void 0!==e.additionalScrollHeight&&(this.additionalScrollHeight=e.additionalScrollHeight,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==e.smoothScrolling&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),void 0!==e.horizontalScrolling&&(this.horizontalScrolling=e.horizontalScrolling),void 0!==e.mouseWheelScrollSensitivity&&this.scrollableElement.updateOptions({mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),void 0!==e.fastScrollSensitivity&&this.scrollableElement.updateOptions({fastScrollSensitivity:e.fastScrollSensitivity})}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const n=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),o={start:e,end:e+t},s=oM.intersect(n,o),r=new Map;for(let e=s.end-1;e>=s.start;e--){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.row){let i=r.get(t.templateId);i||(i=[],r.set(t.templateId,i));const n=this.renderers.get(t.templateId);n&&n.disposeElement&&n.disposeElement(t.element,e,t.row.templateData,t.size),i.push(t.row)}t.row=null}const a={start:e+t,end:this.items.length},l=oM.intersect(a,n),c=oM.relativeComplement(a,n),d=i.map((e=>({id:String(this.itemId++),element:e,templateId:this.virtualDelegate.getTemplateId(e),size:this.virtualDelegate.getHeight(e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:B.None,checkedDisposable:B.None})));let h;0===e&&t>=this.items.length?(this.rangeMap=new hM,this.rangeMap.splice(0,0,d),h=this.items,this.items=d):(this.rangeMap.splice(e,t,d),h=this.items.splice(e,t,...d));const u=i.length-t,g=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),p=dM(l,u),m=oM.intersect(g,p);for(let e=m.start;edM(e,u))),v=[{start:e,end:e+i.length},..._].map((e=>oM.intersect(g,e))),b=this.getNextToLastElement(v);for(const e of v)for(let t=e.start;te.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=_n((()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)void 0!==t.width&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:0===e?0:e+10})}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}element(e){return this.items[e].element}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){let i={height:"number"==typeof e?e:Mn(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),void 0!==t&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof t?t:Tn(this.domNode)})}render(e,t,i,n,o,s=!1){const r=this.getRenderRange(t,i),a=oM.relativeComplement(r,e),l=oM.relativeComplement(e,r),c=this.getNextToLastElement(a);if(s){const t=oM.intersect(e,r);for(let e=t.start;en.row.domNode.setAttribute("aria-checked",String(!!e));e(s.value),n.checkedDisposable=s.onDidChange(e)}n.row.domNode.parentElement||(t?this.rowsContainer.insertBefore(n.row.domNode,t):this.rowsContainer.appendChild(n.row.domNode)),this.updateItemInDOM(n,e);const r=this.renderers.get(n.templateId);if(!r)throw new Error(`No renderer found for template id ${n.templateId}`);r&&r.renderElement(n.element,e,n.row.templateData,n.size);const a=this.dnd.getDragURI(n.element);n.dragStartDisposable.dispose(),n.row.domNode.draggable=!!a,a&&(n.dragStartDisposable=cn(n.row.domNode,"dragstart",(e=>this.onDragStart(n.element,a,e)))),this.horizontalScrolling&&(this.measureItemWidth(n),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width=Ke?"-moz-fit-content":"fit-content",e.width=Tn(e.row.domNode);const t=window.getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top=`${this.elementTop(t)}px`,this.setRowHeight&&(e.row.domNode.style.height=`${e.size}px`),this.setRowLineHeight&&(e.row.domNode.style.lineHeight=`${e.size}px`),e.row.domNode.setAttribute("data-index",`${t}`),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2==0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.additionalScrollHeight}get onMouseClick(){return Ie.map(this.disposables.add(new Zk(this.domNode,"click")).event,(e=>this.toMouseEvent(e)))}get onMouseDblClick(){return Ie.map(this.disposables.add(new Zk(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)))}get onMouseMiddleClick(){return Ie.filter(Ie.map(this.disposables.add(new Zk(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e))),(e=>1===e.browserEvent.button))}get onMouseDown(){return Ie.map(this.disposables.add(new Zk(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)))}get onContextMenu(){return Ie.any(Ie.map(this.disposables.add(new Zk(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e))),Ie.map(this.disposables.add(new Zk(this.domNode,dh.Contextmenu)).event,(e=>this.toGestureEvent(e))))}get onTouchStart(){return Ie.map(this.disposables.add(new Zk(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)))}get onTap(){return Ie.map(this.disposables.add(new Zk(this.rowsContainer,dh.Tap)).event,(e=>this.toGestureEvent(e)))}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=void 0===t?void 0:this.items[t];return{browserEvent:e,index:t,element:i&&i.element}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){if(!i.dataTransfer)return;const n=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(dD.TEXT,t),i.dataTransfer.setDragImage){let e;this.dnd.getDragLabel&&(e=this.dnd.getDragLabel(n,i)),void 0===e&&(e=String(n.length));const t=io(".monaco-drag-image");t.textContent=e,document.body.appendChild(t),i.dataTransfer.setDragImage(t,-10,-10),setTimeout((()=>document.body.removeChild(t)),0)}this.currentDragData=new mM(n),uD.CurrentDragAndDropData=new fM(n),this.dnd.onDragStart&&this.dnd.onDragStart(this.currentDragData,i)}onDragOver(e){if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),uD.CurrentDragAndDropData&&"vscode-ui"===uD.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(uD.CurrentDragAndDropData)this.currentDragData=uD.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new _M}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.browserEvent);if(this.canDrop="boolean"==typeof t?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let i;if(e.browserEvent.dataTransfer.dropEffect="boolean"!=typeof t&&0===t.effect?"copy":"move",i="boolean"!=typeof t&&t.feedback?t.feedback:void 0===e.index?[-1]:[e.index],i=al(i).filter((e=>e>=-1&&ee-t)),i=-1===i[0]?[-1]:i,n=this.currentDragFeedback,o=i,Array.isArray(n)&&Array.isArray(o)?Qa(n,o):n===o)return!0;var n,o;if(this.currentDragFeedback=i,this.currentDragFeedbackDisposable.dispose(),-1===i[0])this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=F((()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")}));else{for(const e of i){const t=this.items[e];t.dropTarget=!0,t.row&&t.row.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=F((()=>{for(const e of i){const t=this.items[e];t.dropTarget=!1,t.row&&t.row.domNode.classList.remove("drop-target")}}))}return!0}onDragLeave(e){var t,i;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=ii((()=>this.clearDragOverFeedback()),100),this.currentDragData&&(null===(i=(t=this.dnd).onDragLeave)||void 0===i||i.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,uD.CurrentDragAndDropData=void 0,t&&e.browserEvent.dataTransfer&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.browserEvent))}onDragEnd(e){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.currentDragData=void 0,uD.CurrentDragAndDropData=void 0,this.dnd.onDragEnd&&this.dnd.onDragEnd(e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=B.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const e=Ln(this.domNode).top;this.dragOverAnimationDisposable=function(e){const t=()=>{e(),i=_n(t)};let i=_n(t);return F((()=>i.dispose()))}(this.animateDragAndDropScrollTop.bind(this,e))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=ii((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(void 0===this.dragOverMouseY)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;i instanceof HTMLElement&&i!==this.rowsContainer&&t.contains(i);){const e=i.getAttribute("data-index");if(e){const t=Number(e);if(!isNaN(t))return t}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const n=this.getRenderRange(e,t);let o,s;e===this.elementTop(n.start)?(o=n.start,s=0):n.end-n.start>1&&(o=n.start+1,s=this.elementTop(o)-e);let r=0;for(;;){const a=this.getRenderRange(e,t);let l=!1;for(let e=a.start;e=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},yM=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class SM{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(e){return e}renderElement(e,t,i){const n=this.renderedElements.findIndex((e=>e.templateData===i));if(n>=0){const e=this.renderedElements[n];this.trait.unrender(i),e.index=t}else{const e={index:t,templateData:i};this.renderedElements.push(e)}this.trait.renderIndex(t,i)}splice(e,t,i){const n=[];for(const o of this.renderedElements)o.index=e+t&&n.push({index:o.index+i-t,templateData:o.templateData});this.renderedElements=n}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex((t=>t.templateData===e));t<0||this.renderedElements.splice(t,1)}}class xM{constructor(e){this._trait=e,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new Pe,this.onChange=this._onChange.event}get name(){return this._trait}get renderer(){return new SM(this)}splice(e,t,i){var n;t=Math.max(0,Math.min(t,this.length-e));const o=i.length-t,s=e+t,r=[...this.sortedIndexes.filter((t=>tt?i+e:-1)).filter((e=>-1!==e)),...this.sortedIndexes.filter((e=>e>=s)).map((e=>e+o))],a=this.length+o;if(this.sortedIndexes.length>0&&0===r.length&&a>0){const t=null!==(n=this.sortedIndexes.find((t=>t>=e)))&&void 0!==n?n:a-1;r.push(Math.min(t,a-1))}this.renderer.splice(e,t,i.length),this._set(r,r),this.length=a}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(HM),t)}_set(e,t,i){const n=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const s=VM(o,e);return this.renderer.renderIndexes(s),this._onChange.fire({indexes:e,browserEvent:i}),n}get(){return this.indexes}contains(e){return el(this.sortedIndexes,e,HM)>=0}dispose(){A(this._onChange)}}wM([ch],xM.prototype,"renderer",null);class kM extends xM{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class DM{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,i.map((()=>!1)));const n=this.trait.get().map((e=>this.identityProvider.getId(this.view.element(e)).toString())),o=i.map((e=>n.indexOf(this.identityProvider.getId(e).toString())>-1));this.trait.splice(e,t,o)}}function LM(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function EM(e){return!!e.classList.contains("monaco-editor")||!e.classList.contains("monaco-list")&&!!e.parentElement&&EM(e.parentElement)}class NM{constructor(e,t,i){this.list=e,this.view=t,this.disposables=new W,this.multipleSelectionDisposables=new W,this.onKeyDown.filter((e=>3===e.keyCode)).on(this.onEnter,this,this.disposables),this.onKeyDown.filter((e=>16===e.keyCode)).on(this.onUpArrow,this,this.disposables),this.onKeyDown.filter((e=>18===e.keyCode)).on(this.onDownArrow,this,this.disposables),this.onKeyDown.filter((e=>11===e.keyCode)).on(this.onPageUpArrow,this,this.disposables),this.onKeyDown.filter((e=>12===e.keyCode)).on(this.onPageDownArrow,this,this.disposables),this.onKeyDown.filter((e=>9===e.keyCode)).on(this.onEscape,this,this.disposables),!1!==i.multipleSelectionSupport&&this.onKeyDown.filter((e=>(he?e.metaKey:e.ctrlKey)&&31===e.keyCode)).on(this.onCtrlA,this,this.multipleSelectionDisposables)}get onKeyDown(){return Ie.chain(this.disposables.add(new Zk(this.view.domNode,"keydown")).event).filter((e=>!LM(e.target))).map((e=>new Ot(e)))}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionDisposables.clear(),e.multipleSelectionSupport&&this.onKeyDown.filter((e=>(he?e.metaKey:e.ctrlKey)&&31===e.keyCode)).on(this.onCtrlA,this,this.multipleSelectionDisposables))}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(dl(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}wM([ch],NM.prototype,"onKeyDown",null),function(e){e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(CM||(CM={}));const IM=new class{mightProducePrintableCharacter(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90)}};class TM{constructor(e,t,i,n){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.delegate=n,this.enabled=!1,this.state=CM.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new W,this.disposables=new W,this.updateOptions(e.options)}updateOptions(e){void 0===e.enableKeyboardNavigation||e.enableKeyboardNavigation?this.enable():this.disable(),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation)}enable(){if(this.enabled)return;const e=Ie.chain(this.enabledDisposables.add(new Zk(this.view.domNode,"keydown")).event).filter((e=>!LM(e.target))).filter((()=>this.automaticKeyboardNavigation||this.triggered)).map((e=>new Ot(e))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>e.preventDefault())).map((e=>e.browserEvent.key)).event,t=Ie.debounce(e,(()=>null),800),i=Ie.reduce(Ie.any(e,t),((e,t)=>null===t?null:(e||"")+t));i(this.onInput,this,this.enabledDisposables),t(this.onClear,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const i=null===(e=this.list.options.accessibilityProvider)||void 0===e?void 0:e.getAriaLabel(this.list.element(t[0]));i&&vo(i)}this.previouslyFocused=-1}onInput(e){if(!e)return this.state=CM.Idle,void(this.triggered=!1);const t=this.list.getFocus(),i=t.length>0?t[0]:0,n=this.state===CM.Idle?1:0;this.state=CM.Typing;for(let t=0;t!LM(e.target))).map((e=>new Ot(e))).filter((e=>!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey))).on(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(0===t.length)return;const i=this.view.domElement(t[0]);if(!i)return;const n=i.querySelector("[tabIndex]");if(!(n&&n instanceof HTMLElement&&-1!==n.tabIndex))return;const o=window.getComputedStyle(n);"hidden"!==o.visibility&&"none"!==o.display&&(e.preventDefault(),e.stopPropagation(),n.focus())}dispose(){this.disposables.dispose()}}function RM(e){return he?e.browserEvent.metaKey:e.browserEvent.ctrlKey}function PM(e){return e.browserEvent.shiftKey}const AM={isSelectionSingleChangeEvent:RM,isSelectionRangeChangeEvent:PM};class OM{constructor(e){this.list=e,this.disposables=new W,this._onPointer=new Pe,this.onPointer=this._onPointer.event,!1!==e.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||AM),this.mouseSupport=void 0===e.options.mouseSupport||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(hh.addTarget(e.getHTMLElement()))),Ie.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){void 0!==e.multipleSelectionSupport&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||AM))}isSelectionSingleChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(e)}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){EM(e.browserEvent.target)||document.activeElement!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(EM(e.browserEvent.target))return;const t=void 0===e.index?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport)return;if(LM(e.browserEvent.target)||EM(e.browserEvent.target))return;const t=e.index;return void 0===t?(this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionRangeChangeEvent(e)||this.isSelectionChangeEvent(e)?this.changeSelection(e):(this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),function(e){return e instanceof MouseEvent&&2===e.button}(e.browserEvent)||this.list.setSelection([t],e.browserEvent),void this._onPointer.fire(e))}onDoubleClick(e){if(LM(e.browserEvent.target)||EM(e.browserEvent.target))return;if(this.isSelectionChangeEvent(e))return;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(void 0===i){const e=this.list.getFocus()[0];i=null!=e?e:t,this.list.setAnchor(i)}const n=dl(Math.min(i,t),Math.max(i,t)+1),o=this.list.getSelection(),s=function(e,t){const i=e.indexOf(t);if(-1===i)return[];const n=[];let o=i-1;for(;o>=0&&e[o]===t-(i-o);)n.push(e[o--]);for(n.reverse(),o=i;o=e.length)i.push(t[o++]);else if(o>=t.length)i.push(e[n++]);else{if(e[n]===t[o]){n++,o++;continue}e[n]e!==t));this.list.setFocus([t]),this.list.setAnchor(t),i.length===n.length?this.list.setSelection([...n,t],e.browserEvent):this.list.setSelection(n,e.browserEvent)}}dispose(){this.disposables.dispose()}}class FM{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){const t=this.selectorSuffix&&`.${this.selectorSuffix}`,i=[];e.listBackground&&(e.listBackground.isOpaque()?i.push(`.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }`):he||console.warn(`List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.`)),e.listFocusBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }`)),e.listFocusForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }`),e.listActiveSelectionBackground&&(i.push(`.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }`),i.push(`.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }`)),e.listActiveSelectionForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }`),e.listActiveSelectionIconForeground&&i.push(`.monaco-list${t}:focus .monaco-list-row.selected .codicon { color: ${e.listActiveSelectionIconForeground}; }`),e.listFocusAndSelectionBackground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t`),e.listFocusAndSelectionForeground&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t`),e.listInactiveFocusForeground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { color: ${e.listInactiveFocusForeground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { color: ${e.listInactiveFocusForeground}; }`)),e.listInactiveSelectionIconForeground&&i.push(`.monaco-list${t} .monaco-list-row.focused .codicon { color: ${e.listInactiveSelectionIconForeground}; }`),e.listInactiveFocusBackground&&(i.push(`.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }`)),e.listInactiveSelectionBackground&&(i.push(`.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }`),i.push(`.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }`)),e.listInactiveSelectionForeground&&i.push(`.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }`),e.listHoverBackground&&i.push(`.monaco-list${t}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }`),e.listHoverForeground&&i.push(`.monaco-list${t} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }`),e.listSelectionOutline&&i.push(`.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }`),e.listFocusOutline&&i.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${t}.last-focused .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`),e.listInactiveFocusOutline&&i.push(`.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }`),e.listHoverOutline&&i.push(`.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }`),e.listDropBackground&&i.push(`\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropBackground} !important; color: inherit !important; }\n\t\t\t`),e.listFilterWidgetBackground&&i.push(`.monaco-list-type-filter { background-color: ${e.listFilterWidgetBackground} }`),e.listFilterWidgetOutline&&i.push(`.monaco-list-type-filter { border: 1px solid ${e.listFilterWidgetOutline}; }`),e.listFilterWidgetNoMatchesOutline&&i.push(`.monaco-list-type-filter.no-matches { border: 1px solid ${e.listFilterWidgetNoMatchesOutline}; }`),e.listMatchesShadow&&i.push(`.monaco-list-type-filter { box-shadow: 1px 1px 1px ${e.listMatchesShadow}; }`),e.tableColumnsBorder&&i.push(`\n\t\t\t\t.monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${e.tableColumnsBorder};\n\t\t\t}`),e.tableOddRowsBackgroundColor&&i.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${e.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=i.join("\n")}}const WM={listFocusBackground:vh.fromHex("#7FB0D0"),listActiveSelectionBackground:vh.fromHex("#0E639C"),listActiveSelectionForeground:vh.fromHex("#FFFFFF"),listActiveSelectionIconForeground:vh.fromHex("#FFFFFF"),listFocusAndSelectionBackground:vh.fromHex("#094771"),listFocusAndSelectionForeground:vh.fromHex("#FFFFFF"),listInactiveSelectionBackground:vh.fromHex("#3F3F46"),listInactiveSelectionIconForeground:vh.fromHex("#FFFFFF"),listHoverBackground:vh.fromHex("#2A2D2E"),listDropBackground:vh.fromHex("#383B3D"),treeIndentGuidesStroke:vh.fromHex("#a9a9a9"),tableColumnsBorder:vh.fromHex("#cccccc").transparent(.2),tableOddRowsBackgroundColor:vh.fromHex("#cccccc").transparent(.04)},BM={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){}}};function VM(e,t){const i=[];let n=0,o=0;for(;n=e.length)i.push(t[o++]);else if(o>=t.length)i.push(e[n++]);else{if(e[n]===t[o]){i.push(e[n]),n++,o++;continue}e[n]e-t;class zM{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map((t=>t.renderTemplate(e)))}renderElement(e,t,i,n){let o=0;for(const s of this.renderers)s.renderElement(e,t,i[o++],n)}disposeElement(e,t,i,n){let o=0;for(const s of this.renderers)s.disposeElement&&s.disposeElement(e,t,i[o],n),o+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class jM{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return e}renderElement(e,t,i){const n=this.accessibilityProvider.getAriaLabel(e);n?i.setAttribute("aria-label",n):i.removeAttribute("aria-label");const o=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);"number"==typeof o?i.setAttribute("aria-level",`${o}`):i.removeAttribute("aria-level")}disposeTemplate(e){}}class qM{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(e,t)}onDragOver(e,t,i,n){return this.dnd.onDragOver(e,t,i,n)}onDragLeave(e,t,i,n){var o,s;null===(s=(o=this.dnd).onDragLeave)||void 0===s||s.call(o,e,t,i,n)}onDragEnd(e){this.dnd.onDragEnd&&this.dnd.onDragEnd(e)}drop(e,t,i,n){this.dnd.drop(e,t,i,n)}}class KM{constructor(e,t,i,n,o=BM){var s;this.user=e,this._options=o,this.focus=new xM("focused"),this.anchor=new xM("anchor"),this.eventBufferer=new Fe,this._ariaLabel="",this.disposables=new W,this._onDidDispose=new Pe,this.onDidDispose=this._onDidDispose.event;const r=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(s=this._options.accessibilityProvider)||void 0===s?void 0:s.getWidgetRole():"list";this.selection=new kM("listbox"!==r),td(o,WM,!1);const a=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=o.accessibilityProvider,this.accessibilityProvider&&(a.push(new jM(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant&&this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant,this,this.disposables)),n=n.map((e=>new zM(e.templateId,[...a,e])));const l=Object.assign(Object.assign({},o),{dnd:o.dnd&&new qM(this,o.dnd)});if(this.view=new bM(t,i,n,l),this.view.domNode.setAttribute("role",r),o.styleController)this.styleController=o.styleController(this.view.domId);else{const e=Hn(this.view.domNode);this.styleController=new FM(e,this.view.domId)}if(this.spliceable=new aM([new DM(this.focus,this.view,o.identityProvider),new DM(this.selection,this.view,o.identityProvider),new DM(this.anchor,this.view,o.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new MM(this,this.view)),("boolean"!=typeof o.keyboardSupport||o.keyboardSupport)&&(this.keyboardController=new NM(this,this.view,o),this.disposables.add(this.keyboardController)),o.keyboardNavigationLabelProvider){const e=o.keyboardNavigationDelegate||IM;this.typeLabelController=new TM(this,this.view,o.keyboardNavigationLabelProvider,e),this.disposables.add(this.typeLabelController)}this.mouseController=this.createMouseController(o),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}get onDidChangeFocus(){return Ie.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)))}get onDidChangeSelection(){return Ie.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)))}get domId(){return this.view.domId}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=Ie.chain(this.disposables.add(new Zk(this.view.domNode,"keydown")).event).map((e=>new Ot(e))).filter((t=>e=58===t.keyCode||t.shiftKey&&68===t.keyCode)).map(Gk).filter((()=>!1)).event,i=Ie.chain(this.disposables.add(new Zk(this.view.domNode,"keyup")).event).forEach((()=>e=!1)).map((e=>new Ot(e))).filter((e=>58===e.keyCode||e.shiftKey&&68===e.keyCode)).map(Gk).map((({browserEvent:e})=>{const t=this.getFocus(),i=t.length?t[0]:void 0;return{index:i,element:void 0!==i?this.view.element(i):void 0,anchor:void 0!==i?this.view.domElement(i):this.view.domNode,browserEvent:e}})).event,n=Ie.chain(this.view.onContextMenu).filter((t=>!e)).map((({element:e,index:t,browserEvent:i})=>({element:e,index:t,anchor:{x:i.pageX+1,y:i.pageY},browserEvent:i}))).event;return Ie.any(t,i,n)}get onKeyDown(){return this.disposables.add(new Zk(this.view.domNode,"keydown")).event}get onDidFocus(){return Ie.signal(this.disposables.add(new Zk(this.view.domNode,"focus",!0)).event)}createMouseController(e){return new OM(this)}updateOptions(e={}){var t;this._options=Object.assign(Object.assign({},this._options),e),this.typeLabelController&&this.typeLabelController.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),null===(t=this.keyboardController)||void 0===t||t.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new lM(this.user,`Invalid start index: ${e}`);if(t<0)throw new lM(this.user,`Invalid delete count: ${t}`);0===t&&0===i.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(e,t,i)))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const t of e)if(t<0||t>=this.length)throw new lM(this.user,`Invalid index ${t}`);this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((e=>this.view.element(e)))}setAnchor(e){if(void 0!==e){if(e<0||e>=this.length)throw new lM(this.user,`Invalid index ${e}`);this.anchor.set([e])}else this.anchor.set([])}getAnchor(){return ll(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return void 0===e?void 0:this.element(e)}setFocus(e,t){for(const t of e)if(t<0||t>=this.length)throw new lM(this.user,`Invalid index ${t}`);this.focus.set(e,t)}focusNext(e=1,t=!1,i,n){if(0===this.length)return;const o=this.focus.get(),s=this.findNextIndex(o.length>0?o[0]+e:0,t,n);s>-1&&this.setFocus([s],i)}focusPrevious(e=1,t=!1,i,n){if(0===this.length)return;const o=this.focus.get(),s=this.findPreviousIndex(o.length>0?o[0]-e:0,t,n);s>-1&&this.setFocus([s],i)}focusNextPage(e,t){return yM(this,void 0,void 0,(function*(){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;const n=this.view.element(i),o=this.getFocusedElements()[0];if(o!==n){const n=this.findPreviousIndex(i,!1,t);n>-1&&o!==this.view.element(n)?this.setFocus([n],e):this.setFocus([i],e)}else{const n=this.view.getScrollTop();this.view.setScrollTop(n+this.view.renderHeight-this.view.elementHeight(i)),this.view.getScrollTop()!==n&&(this.setFocus([]),yield ti(0),yield this.focusNextPage(e,t))}}))}focusPreviousPage(e,t){return yM(this,void 0,void 0,(function*(){let i;const n=this.view.getScrollTop();i=0===n?this.view.indexAt(n):this.view.indexAfter(n-1);const o=this.view.element(i),s=this.getFocusedElements()[0];if(s!==o){const n=this.findNextIndex(i,!1,t);n>-1&&s!==this.view.element(n)?this.setFocus([n],e):this.setFocus([i],e)}else{const i=n;this.view.setScrollTop(n-this.view.renderHeight),this.view.getScrollTop()!==i&&(this.setFocus([]),yield ti(0),yield this.focusPreviousPage(e,t))}}))}focusLast(e,t){if(0===this.length)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(0===this.length)return;const n=this.findNextIndex(e,!1,i);n>-1&&this.setFocus([n],t)}findNextIndex(e,t=!1,i){for(let n=0;n=this.length&&!t)return-1;if(e%=this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let n=0;nthis.view.element(e)))}reveal(e,t){if(e<0||e>=this.length)throw new lM(this.user,`Invalid index ${e}`);const i=this.view.getScrollTop(),n=this.view.elementTop(e),o=this.view.elementHeight(e);if(it(t)){const e=o-this.view.renderHeight;this.view.setScrollTop(e*NI(t,0,1)+n)}else{const e=n+o,t=i+this.view.renderHeight;n=t||(n=t&&o>=this.view.renderHeight?this.view.setScrollTop(n):e>=t&&this.view.setScrollTop(e-this.view.renderHeight))}}getRelativeTop(e){if(e<0||e>=this.length)throw new lM(this.user,`Invalid index ${e}`);const t=this.view.getScrollTop(),i=this.view.elementTop(e),n=this.view.elementHeight(e);if(it+this.view.renderHeight)return null;const o=n-this.view.renderHeight;return Math.abs((t-i)/o)}getHTMLElement(){return this.view.domNode}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map((e=>this.view.element(e))),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let i;(null===(e=this.accessibilityProvider)||void 0===e?void 0:e.getActiveDescendantId)&&(i=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",i||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===e.length),this.view.domNode.classList.toggle("selection-single",1===e.length),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}wM([ch],KM.prototype,"onDidChangeFocus",null),wM([ch],KM.prototype,"onDidChangeSelection",null),wM([ch],KM.prototype,"onContextMenu",null),wM([ch],KM.prototype,"onKeyDown",null),wM([ch],KM.prototype,"onDidFocus",null);class UM{constructor(e,t){this.renderer=e,this.modelProvider=t}get templateId(){return this.renderer.templateId}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:B.None}}renderElement(e,t,i,n){if(i.disposable&&i.disposable.dispose(),!i.data)return;const o=this.modelProvider();if(o.isResolved(e))return this.renderer.renderElement(o.get(e),e,i.data,n);const s=new Ut,r=o.resolve(e,s.token);i.disposable={dispose:()=>s.cancel()},this.renderer.renderPlaceholder(e,i.data),r.then((t=>this.renderer.renderElement(t,e,i.data,n)))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class $M{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}var ZM=i(2672),GM={};GM.styleTagTransform=p(),GM.setAttributes=d(),GM.insert=l().bind(null,"head"),GM.domAPI=r(),GM.insertStyleElement=u(),o()(ZM.Z,GM),ZM.Z&&ZM.Z.locals&&ZM.Z.locals;const YM={separatorBorder:vh.transparent};class XM{constructor(e,t,i,n){this.container=e,this.view=t,this.disposable=n,this._cachedVisibleSize=void 0,"number"==typeof i?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}set size(e){this._size=e}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(e,t){e!==this.visible&&(e?(this.size=NI(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof t?t:this.size,this.size=0),this.container.classList.toggle("visible",e),this.view.setVisible&&this.view.setVisible(e))}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}layout(e,t){this.layoutContainer(e),this.view.layout(this.size,e,t)}dispose(){return this.disposable.dispose(),this.view}}class JM extends XM{layoutContainer(e){this.container.style.top=`${e}px`,this.container.style.height=`${this.size}px`}}class QM extends XM{layoutContainer(e){this.container.style.left=`${e}px`,this.container.style.width=`${this.size}px`}}var eR,tR;!function(e){e[e.Idle=0]="Idle",e[e.Busy=1]="Busy"}(eR||(eR={})),function(e){e.Distribute={type:"distribute"},e.Split=function(e){return{type:"split",index:e}},e.Invisible=function(e){return{type:"invisible",cachedVisibleSize:e}}}(tR||(tR={}));class iR extends B{constructor(e,t={}){var i,n,o,s,r;super(),this.size=0,this.contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=eR.Idle,this._onDidSashChange=this._register(new Pe),this._onDidSashReset=this._register(new Pe),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(i=t.orientation)&&void 0!==i?i:0,this.inverseAltBehavior=null!==(n=t.inverseAltBehavior)&&void 0!==n&&n,this.proportionalLayout=null===(o=t.proportionalLayout)||void 0===o||o,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=Xn(this.el,io(".sash-container")),this.viewContainer=io(".split-view-container"),this.scrollable=new iv({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:_n}),this.scrollableElement=this._register(new uv(this.viewContainer,{vertical:0===this.orientation?null!==(s=t.scrollbarVisibility)&&void 0!==s?s:1:2,horizontal:1===this.orientation?null!==(r=t.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable)),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((e=>{this.viewContainer.scrollTop=e.scrollTop,this.viewContainer.scrollLeft=e.scrollLeft}))),Xn(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||YM),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach(((e,t)=>{const i=st(e.visible)||e.visible?e.size:{type:"invisible",cachedVisibleSize:e.size},n=e.view;this.doAddView(n,i,t,!0)})),this.contentSize=this.viewItems.reduce(((e,t)=>e+t.size),0),this.saveProportions())}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,n){this.doAddView(e,t,i,n)}layout(e,t){const i=Math.max(this.size,this.contentSize);if(this.size=e,this.layoutContext=t,this.proportions)for(let t=0;t1===this.viewItems[e].priority)),o=t.filter((e=>2===this.viewItems[e].priority));this.resize(this.viewItems.length-1,e-i,void 0,n,o)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this.contentSize>0&&(this.proportions=this.viewItems.map((e=>e.size/this.contentSize)))}onSashStart({sash:e,start:t,alt:i}){for(const e of this.viewItems)e.enabled=!1;const n=this.sashItems.findIndex((t=>t.sash===e)),o=O(cn(document.body,"keydown",(e=>s(this.sashDragState.current,e.altKey))),cn(document.body,"keyup",(()=>s(this.sashDragState.current,!1)))),s=(e,t)=>{const i=this.viewItems.map((e=>e.size));let s,r,a=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(t=!t),t)if(n===this.sashItems.length-1){const e=this.viewItems[n];a=(e.minimumSize-e.size)/2,l=(e.maximumSize-e.size)/2}else{const e=this.viewItems[n+1];a=(e.size-e.maximumSize)/2,l=(e.size-e.minimumSize)/2}if(!t){const e=dl(n,-1),t=dl(n+1,this.viewItems.length),o=e.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),a=e.reduce(((e,t)=>e+(this.viewItems[t].viewMaximumSize-i[t])),0),l=0===t.length?Number.POSITIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),c=0===t.length?Number.NEGATIVE_INFINITY:t.reduce(((e,t)=>e+(i[t]-this.viewItems[t].viewMaximumSize)),0),d=Math.max(o,c),h=Math.min(l,a),u=this.findFirstSnapIndex(e),g=this.findFirstSnapIndex(t);if("number"==typeof u){const e=this.viewItems[u],t=Math.floor(e.viewMinimumSize/2);s={index:u,limitDelta:e.visible?d-t:d+t,size:e.size}}if("number"==typeof g){const e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);r={index:g,limitDelta:e.visible?h+t:h-t,size:e.size}}}this.sashDragState={start:e,current:e,index:n,sizes:i,minDelta:a,maxDelta:l,alt:t,snapBefore:s,snapAfter:r,disposable:o}};s(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:n,alt:o,minDelta:s,maxDelta:r,snapBefore:a,snapAfter:l}=this.sashDragState;this.sashDragState.current=e;const c=e-i,d=this.resize(t,c,n,void 0,void 0,s,r,a,l);if(o){const e=t===this.sashItems.length-1,i=this.viewItems.map((e=>e.size)),n=e?t:t+1,o=this.viewItems[n],s=o.size-o.maximumSize,r=o.size-o.minimumSize,a=e?t-1:t+1;this.resize(a,-d,i,void 0,void 0,s,r)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const e of this.viewItems)e.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=NI(t="number"==typeof t?t:e.size,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(this.state!==eR.Idle)throw new Error("Cant modify splitview");if(this.state=eR.Busy,e<0||e>=this.viewItems.length)return;const i=dl(this.viewItems.length).filter((t=>t!==e)),n=[...i.filter((e=>1===this.viewItems[e].priority)),e],o=i.filter((e=>2===this.viewItems[e].priority)),s=this.viewItems[e];t=NI(t=Math.round(t),s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(n,o),this.state=eR.Idle}distributeViewSizes(){const e=[];let t=0;for(const i of this.viewItems)i.maximumSize-i.minimumSize>0&&(e.push(i),t+=i.size);const i=Math.floor(t/e.length);for(const t of e)t.size=NI(i,t.minimumSize,t.maximumSize);const n=dl(this.viewItems.length),o=n.filter((e=>1===this.viewItems[e].priority)),s=n.filter((e=>2===this.viewItems[e].priority));this.relayout(o,s)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,n){if(this.state!==eR.Idle)throw new Error("Cant modify splitview");this.state=eR.Busy;const o=io(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(o):this.viewContainer.insertBefore(o,this.viewContainer.children.item(i));const s=e.onDidChange((e=>this.onViewChange(l,e))),r=O(s,F((()=>this.viewContainer.removeChild(o))));let a;a="number"==typeof t?t:"split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;const l=0===this.orientation?new JM(o,e,a,r):new QM(o,e,a,r);if(this.viewItems.splice(i,0,l),this.viewItems.length>1){let e={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash};const t=0===this.orientation?new rD(this.sashContainer,{getHorizontalSashTop:e=>this.getSashPosition(e),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},e),{orientation:1})):new rD(this.sashContainer,{getVerticalSashLeft:e=>this.getSashPosition(e),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},e),{orientation:0})),n=0===this.orientation?e=>({sash:t,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:t,start:e.startX,current:e.currentX,alt:e.altKey}),o=Ie.map(t.onDidStart,n)(this.onSashStart,this),s=Ie.map(t.onDidChange,n)(this.onSashChange,this),r=Ie.map(t.onDidEnd,(()=>this.sashItems.findIndex((e=>e.sash===t)))),a=r(this.onSashEnd,this),l=t.onDidReset((()=>{const e=this.sashItems.findIndex((e=>e.sash===t)),i=dl(e,-1),n=dl(e+1,this.viewItems.length),o=this.findFirstSnapIndex(i),s=this.findFirstSnapIndex(n);("number"!=typeof o||this.viewItems[o].visible)&&("number"!=typeof s||this.viewItems[s].visible)&&this._onDidSashReset.fire(e)})),c=O(o,s,a,l,t),d={sash:t,disposable:c};this.sashItems.splice(i-1,0,d)}let c;o.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(c=[t.index]),n||this.relayout([i],c),this.state=eR.Idle,n||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()}relayout(e,t){const i=this.viewItems.reduce(((e,t)=>e+t.size),0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map((e=>e.size)),n,o,s=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,a,l){if(e<0||e>=this.viewItems.length)return 0;const c=dl(e,-1),d=dl(e+1,this.viewItems.length);if(o)for(const e of o)ul(c,e),ul(d,e);if(n)for(const e of n)gl(c,e),gl(d,e);const h=c.map((e=>this.viewItems[e])),u=c.map((e=>i[e])),g=d.map((e=>this.viewItems[e])),p=d.map((e=>i[e])),m=c.reduce(((e,t)=>e+(this.viewItems[t].minimumSize-i[t])),0),f=c.reduce(((e,t)=>e+(this.viewItems[t].maximumSize-i[t])),0),_=0===d.length?Number.POSITIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].minimumSize)),0),v=0===d.length?Number.NEGATIVE_INFINITY:d.reduce(((e,t)=>e+(i[t]-this.viewItems[t].maximumSize)),0),b=Math.max(m,v,s),C=Math.min(_,f,r);let w=!1;if(a){const e=this.viewItems[a.index],i=t>=a.limitDelta;w=i!==e.visible,e.setVisible(i,a.size)}if(!w&&l){const e=this.viewItems[l.index],i=te+t.size),0);let i=this.size-t;const n=dl(this.viewItems.length-1,-1),o=n.filter((e=>1===this.viewItems[e].priority)),s=n.filter((e=>2===this.viewItems[e].priority));for(const e of s)ul(n,e);for(const e of o)gl(n,e);"number"==typeof e&&gl(n,e);for(let e=0;0!==i&&ee+t.size),0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach((e=>e.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){0===this.orientation?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this.contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this.contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map((t=>e=t.size-t.minimumSize>0||e));e=!1;const i=this.viewItems.map((t=>e=t.maximumSize-t.size>0||e)),n=[...this.viewItems].reverse();e=!1;const o=n.map((t=>e=t.size-t.minimumSize>0||e)).reverse();e=!1;const s=n.map((t=>e=t.maximumSize-t.size>0||e)).reverse();let r=0;for(let e=0;e0||this.startSnappingEnabled)?n.state=1:d&&t[e]&&(r0)return;if(!e.visible&&e.snap)return t}}dispose(){super.dispose(),A(this.viewItems),this.viewItems=[],this.sashItems.forEach((e=>e.disposable.dispose())),this.sashItems=[]}}var nR,oR=i(9237),sR={};sR.styleTagTransform=p(),sR.setAttributes=d(),sR.insert=l().bind(null,"head"),sR.domAPI=r(),sR.insertStyleElement=u(),o()(oR.Z,sR),oR.Z&&oR.Z.locals&&oR.Z.locals;class rR{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=rR.TemplateId,this.renderedTemplates=new Set;const n=new Map(t.map((e=>[e.templateId,e])));this.renderers=[];for(const t of e){const e=n.get(t.templateId);if(!e)throw new Error(`Table cell renderer for template id ${t.templateId} not found.`);this.renderers.push(e)}}renderTemplate(e){const t=Xn(e,io(".monaco-table-tr")),i=[],n=[];for(let e=0;enew aR(e,t))),a={size:r.reduce(((e,t)=>e+t.column.weight),0),views:r.map((e=>({size:e.column.weight,view:e})))};this.splitview=this.disposables.add(new iR(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:a})),this.splitview.el.style.height=`${i.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${i.headerRowHeight}px`;const l=new rR(n,o,(e=>this.splitview.getViewSize(e)));var c;this.list=this.disposables.add(new KM(e,this.domNode,(c=i,{getHeight:e=>c.getHeight(e),getTemplateId:()=>rR.TemplateId}),[l],s)),Ie.any(...r.map((e=>e.onDidLayout)))((([e,t])=>l.layoutColumn(e,t)),null,this.disposables),this.splitview.onDidSashReset((e=>{const t=n.reduce(((e,t)=>e+t.weight),0),i=n[e].weight/t*this.cachedWidth;this.splitview.resizeView(e,i)}),null,this.disposables),this.styleElement=Hn(this.domNode),this.style({})}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}lR.InstanceCount=0,function(e){e[e.Unknown=0]="Unknown",e[e.Twistie=1]="Twistie",e[e.Element=2]="Element"}(nR||(nR={}));class cR extends Error{constructor(e,t){super(`TreeError [${e}] ${t}`)}}class dR{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}class hR{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class uR{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new hR(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class _R{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,o,s]=_R._getElements(e),[r,a,l]=_R._getElements(t);this._hasStrings=s&&l,this._originalStringElements=n,this._originalElementsOrHash=o,this._modifiedStringElements=r,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(_R._isStringArray(t)){const e=new Int32Array(t.length);for(let i=0,n=t.length;i=e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let o;return i<=n?(pR.Assert(e===t+1,"originalStart should only be one more than originalEnd"),o=[new hR(e,0,i,n-i+1)]):e<=t?(pR.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),o=[new hR(e,t-e+1,i,0)]):(pR.Assert(e===t+1,"originalStart should only be one more than originalEnd"),pR.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),o=[]),o}const s=[0],r=[0],a=this.ComputeRecursionPoint(e,t,i,n,s,r,o),l=s[0],c=r[0];if(null!==a)return a;if(!o[0]){const s=this.ComputeDiffRecursive(e,l,i,c,o);let r=[];return r=o[0]?[new hR(l+1,t-(l+1)+1,c+1,n-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,n,o),this.ConcatenateChanges(s,r)}return[new hR(e,t-e+1,i,n-i+1)]}WALKTRACE(e,t,i,n,o,s,r,a,l,c,d,h,u,g,p,m,f,_){let v=null,b=null,C=new fR,w=t,y=i,S=u[0]-m[0]-n,x=-1073741824,k=this.m_forwardHistory.length-1;do{const t=S+e;t===w||t=0&&(e=(l=this.m_forwardHistory[k])[0],w=1,y=l.length-1)}while(--k>=-1);if(v=C.getReverseChanges(),_[0]){let e=u[0]+1,t=m[0]+1;if(null!==v&&v.length>0){const i=v[v.length-1];e=Math.max(e,i.getOriginalEnd()),t=Math.max(t,i.getModifiedEnd())}b=[new hR(e,h-e+1,t,p-t+1)]}else{C=new fR,w=s,y=r,S=u[0]-m[0]-a,x=1073741824,k=f?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=S+o;e===w||e=c[e+1]?(g=(d=c[e+1]-1)-S-a,d>x&&C.MarkNextChange(),x=d+1,C.AddOriginalElement(d+1,g+1),S=e+1-o):(g=(d=c[e-1])-S-a,d>x&&C.MarkNextChange(),x=d,C.AddModifiedElement(d+1,g+1),S=e-1-o),k>=0&&(o=(c=this.m_reverseHistory[k])[0],w=1,y=c.length-1)}while(--k>=-1);b=C.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(e,t,i,n,o,s,r){let a=0,l=0,c=0,d=0,h=0,u=0;e--,i--,o[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const g=t-e+(n-i),p=g+1,m=new Int32Array(p),f=new Int32Array(p),_=n-i,v=t-e,b=e-i,C=t-n,w=(v-_)%2==0;m[_]=e,f[v]=t,r[0]=!1;for(let y=1;y<=g/2+1;y++){let g=0,S=0;c=this.ClipDiagonalBound(_-y,y,_,p),d=this.ClipDiagonalBound(_+y,y,_,p);for(let e=c;e<=d;e+=2){a=e===c||eg+S&&(g=a,S=l),!w&&Math.abs(e-v)<=y-1&&a>=f[e])return o[0]=a,s[0]=l,i<=f[e]&&y<=1448?this.WALKTRACE(_,c,d,b,v,h,u,C,m,f,a,t,o,l,n,s,w,r):null}const x=(g-e+(S-i)-y)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(g,x))return r[0]=!0,o[0]=g,s[0]=S,x>0&&y<=1448?this.WALKTRACE(_,c,d,b,v,h,u,C,m,f,a,t,o,l,n,s,w,r):(e++,i++,[new hR(e,t-e+1,i,n-i+1)]);h=this.ClipDiagonalBound(v-y,y,v,p),u=this.ClipDiagonalBound(v+y,y,v,p);for(let g=h;g<=u;g+=2){a=g===h||g=f[g+1]?f[g+1]-1:f[g-1],l=a-(g-v)-C;const p=a;for(;a>e&&l>i&&this.ElementsAreEqual(a,l);)a--,l--;if(f[g]=a,w&&Math.abs(g-_)<=y&&a<=m[g])return o[0]=a,s[0]=l,p>=m[g]&&y<=1448?this.WALKTRACE(_,c,d,b,v,h,u,C,m,f,a,t,o,l,n,s,w,r):null}if(y<=1447){let e=new Int32Array(d-c+2);e[0]=_-c+1,mR.Copy2(m,c,e,1,d-c+1),this.m_forwardHistory.push(e),e=new Int32Array(u-h+2),e[0]=v-h+1,mR.Copy2(f,h,e,1,u-h+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,c,d,b,v,h,u,C,m,f,a,t,o,l,n,s,w,r)}PrettifyChanges(e){for(let t=0;t0,r=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let n=0,o=0;if(t>0){const i=e[t-1];n=i.originalStart+i.originalLength,o=i.modifiedStart+i.modifiedLength}const s=i.originalLength>0,r=i.modifiedLength>0;let a=0,l=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let e=1;;e++){const t=i.originalStart-e,c=i.modifiedStart-e;if(tl&&(l=d,a=e)}i.originalStart-=a,i.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,i=e.length;t0&&i>a&&(a=i,l=t,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let o=0;o=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(i,n)?1:0)}ConcatenateChanges(e,t){let i=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return mR.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],mR.Copy(t,1,n,e.length,t.length-1),n}{const i=new Array(e.length+t.length);return mR.Copy(e,0,i,0,e.length),mR.Copy(t,0,i,e.length,t.length),i}}ChangesOverlap(e,t,i){if(pR.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),pR.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const n=e.originalStart;let o=e.originalLength;const s=e.modifiedStart;let r=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(r=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new hR(n,o,s,r),!0}return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&ea.lastDiffIds},{getElements:()=>[...a.children.slice(0,c),...l,...a.children.slice(c+i)].map((t=>e.getId(t.element).toString()))}).ComputeDiff(!1);if(d.quitEarly)return a.lastDiffIds=void 0,this.spliceSimple(t,i,l,o);const h=t.slice(0,-1),u=(t,i,n)=>{if(s>0)for(let r=0;rt.originalStart-e.originalStart)))u(g,p,g-(e.originalStart+e.originalLength)),g=e.originalStart,p=e.modifiedStart-c,this.spliceSimple([...h,g],e.originalLength,T.slice(l,p,p+e.modifiedLength),o);u(g,p,g)}spliceSimple(e,t,i=T.empty(),{onDidCreateNode:n,onDidDeleteNode:o,diffIdentityProvider:s}){const{parentNode:r,listIndex:a,revealed:l,visible:c}=this.getParentNodeWithListIndex(e),d=[],h=T.map(i,(e=>this.createTreeNode(e,r,r.visible?1:0,l,d,n))),u=e[e.length-1],g=r.children.length>0;let p=0;for(let e=u;e>=0&&es.getId(e.element).toString()))):r.lastDiffIds=r.children.map((e=>s.getId(e.element).toString())):r.lastDiffIds=void 0;let b=0;for(const e of v)e.visible&&b++;if(0!==b)for(let e=u+m.length;ee+(t.visible?t.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,_-e),this.list.splice(a,e,d)}if(v.length>0&&o){const e=t=>{o(t),t.children.forEach(e)};v.forEach(e)}this._onDidSplice.fire({insertedNodes:m,deletedNodes:v});const C=r.children.length>0;g!==C&&this.setCollapsible(e.slice(0,-1),C);let w=r;for(;w;){if(2===w.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}w=w.parent}}rerender(e){if(0===e.length)throw new cR(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:n}=this.getTreeNodeWithListIndex(e);t.visible&&n&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:n}=this.getTreeNodeWithListIndex(e);return i&&n?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);void 0===t&&(t=!i.collapsible);const n={collapsible:t};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,n)))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const n=this.getTreeNode(e);void 0===t&&(t=!n.collapsed);const o={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(e,o)))}_setCollapseState(e,t){const{node:i,listIndex:n,revealed:o}=this.getTreeNodeWithListIndex(e),s=this._setListNodeCollapseState(i,n,o,t);if(i!==this.root&&this.autoExpandSingleChildren&&s&&!CR(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let n=-1;for(let e=0;e-1){n=-1;break}n=e}n>-1&&this._setCollapseState([...e,n],t)}return s}_setListNodeCollapseState(e,t,i,n){const o=this._setNodeCollapseState(e,n,!1);if(!i||!e.visible||!o)return o;const s=e.renderNodeCount,r=this.updateNodeAfterCollapseChange(e),a=s-(-1===t?0:1);return this.list.splice(t+1,a,r.slice(1)),o}_setNodeCollapseState(e,t,i){let n;if(e===this.root?n=!1:(CR(t)?(n=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(n=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):n=!1,n&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!CR(t)&&t.recursive)for(const i of e.children)n=this._setNodeCollapseState(i,t,!0)||n;return n}expandTo(e){this.eventBufferer.bufferEvents((()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})}))}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,n,o,s){const r={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof e.collapsible?e.collapsible:void 0!==e.collapsed,collapsed:void 0===e.collapsed?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},a=this._filterNode(r,i);r.visibility=a,n&&o.push(r);const l=e.children||T.empty(),c=n&&0!==a&&!r.collapsed,d=T.map(l,(e=>this.createTreeNode(e,r,a,c,o,s)));let h=0,u=1;for(const e of d)r.children.push(e),u+=e.renderNodeCount,e.visible&&(e.visibleChildIndex=h++);return r.collapsible=r.collapsible||r.children.length>0,r.visibleChildrenCount=h,r.visible=2===a?h>0:1===a,r.visible?r.collapsed||(r.renderNodeCount=u):(r.renderNodeCount=0,n&&o.pop()),s&&s(r),r}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(!1===e.visible)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,n=!0){let o;if(e!==this.root){if(o=this._filterNode(e,t),0===o)return e.visible=!1,e.renderNodeCount=0,!1;n&&i.push(e)}const s=i.length;e.renderNodeCount=e===this.root?0:1;let r=!1;if(e.collapsed&&0===o)e.visibleChildrenCount=0;else{let t=0;for(const s of e.children)r=this._updateNodeAfterFilterChange(s,o,i,n&&!e.collapsed)||r,s.visible&&(s.visibleChildIndex=t++);e.visibleChildrenCount=t}return e!==this.root&&(e.visible=2===o?r:1===o,e.visibility=o),e.visible?e.collapsed||(e.renderNodeCount+=i.length-s):(e.renderNodeCount=0,n&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(0!==t)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return"boolean"==typeof i?(e.filterData=void 0,i?1:0):vR(i)?(e.filterData=i.data,bR(i.visibility)):(e.filterData=void 0,bR(i))}hasTreeNode(e,t=this.root){if(!e||0===e.length)return!0;const[i,...n]=e;return!(i<0||i>t.children.length)&&this.hasTreeNode(n,t.children[i])}getTreeNode(e,t=this.root){if(!e||0===e.length)return t;const[i,...n]=e;if(i<0||i>t.children.length)throw new cR(this.user,"Invalid tree location");return this.getTreeNode(n,t.children[i])}getTreeNodeWithListIndex(e){if(0===e.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:n,visible:o}=this.getParentNodeWithListIndex(e),s=e[e.length-1];if(s<0||s>t.children.length)throw new cR(this.user,"Invalid tree location");const r=t.children[s];return{node:r,listIndex:i,revealed:n,visible:o&&r.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,n=!0,o=!0){const[s,...r]=e;if(s<0||s>t.children.length)throw new cR(this.user,"Invalid tree location");for(let e=0;ee.element))),this.data=e}}function DR(e){return e instanceof mM?new kR(e):e}class LR{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=B.None}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(DR(e),t)}onDragOver(e,t,i,n,o=!0){const s=this.dnd.onDragOver(DR(e),t&&t.element,i,n),r=this.autoExpandNode!==t;if(r&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),void 0===t)return s;if(r&&"boolean"!=typeof s&&s.autoExpand&&(this.autoExpandDisposable=ii((()=>{const e=this.modelProvider(),i=e.getNodeLocation(t);e.isCollapsed(i)&&e.setCollapsed(i,!1),this.autoExpandNode=void 0}),500)),"boolean"==typeof s||!s.accept||void 0===s.bubble||s.feedback)return o?s:{accept:"boolean"==typeof s?s:s.accept,effect:"boolean"==typeof s?void 0:s.effect,feedback:[i]};if(1===s.bubble){const i=this.modelProvider(),o=i.getNodeLocation(t),s=i.getParentNodeLocation(o),r=i.getNode(s),a=s&&i.getListIndex(s);return this.onDragOver(e,r,a,n,!1)}const a=this.modelProvider(),l=a.getNodeLocation(t),c=a.getListIndex(l),d=a.getListRenderCount(l);return Object.assign(Object.assign({},s),{feedback:dl(c,c+d)})}drop(e,t,i,n){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(DR(e),t&&t.element,i,n)}onDragEnd(e){this.dnd.onDragEnd&&this.dnd.onDragEnd(e)}}class ER{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){this.delegate.setDynamicHeight&&this.delegate.setDynamicHeight(e.element,t)}}!function(e){e.None="none",e.OnHover="onHover",e.Always="always"}(yR||(yR={}));class NR{constructor(e,t=[]){this._elements=t,this.onDidChange=Ie.forEach(e,(e=>this._elements=e))}get elements(){return this._elements}}class IR{constructor(e,t,i,n,o={}){this.renderer=e,this.modelProvider=t,this.activeNodes=n,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=IR.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.renderedIndentGuides=new Qd,this.activeIndentNodes=new Set,this.indentGuidesDisposable=B.None,this.disposables=new W,this.templateId=e.templateId,this.updateOptions(o),Ie.map(i,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables),e.onDidChangeTwistieState&&e.onDidChangeTwistieState(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(void 0!==e.indent&&(this.indent=NI(e.indent,0,40)),void 0!==e.renderIndentGuides){const t=e.renderIndentGuides!==yR.None;if(t!==this.shouldRenderIndentGuides&&(this.shouldRenderIndentGuides=t,this.indentGuidesDisposable.dispose(),t)){const e=new W;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,e),this.indentGuidesDisposable=e,this._onDidChangeActiveNodes(this.activeNodes.elements)}}void 0!==e.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=Xn(e,io(".monaco-tl-row")),i=Xn(t,io(".monaco-tl-indent")),n=Xn(t,io(".monaco-tl-twistie")),o=Xn(t,io(".monaco-tl-contents")),s=this.renderer.renderTemplate(o);return{container:e,indent:i,twistie:n,indentGuidesDisposable:B.None,templateData:s}}renderElement(e,t,i,n){"number"==typeof n&&(this.renderedNodes.set(e,{templateData:i,height:n}),this.renderedElements.set(e.element,e));const o=IR.DefaultIndent+(e.depth-1)*this.indent;i.twistie.style.paddingLeft=`${o}px`,i.indent.style.width=o+this.indent-16+"px",this.renderTwistie(e,i),"number"==typeof n&&this.renderIndentGuides(e,i),this.renderer.renderElement(e,t,i.templateData,n)}disposeElement(e,t,i,n){i.indentGuidesDisposable.dispose(),this.renderer.disposeElement&&this.renderer.disposeElement(e,t,i.templateData,n),"number"==typeof n&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this.renderTwistie(e,t.templateData),this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderIndentGuides(e,t.templateData))}renderTwistie(e,t){t.twistie.classList.remove(...Oo.treeItemExpanded.classNamesArray);let i=!1;this.renderer.renderTwistie&&(i=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(i||t.twistie.classList.add(...Oo.treeItemExpanded.classNamesArray),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded")}renderIndentGuides(e,t){if(rn(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new W,n=this.modelProvider();let o=e;for(;;){const e=n.getNodeLocation(o),s=n.getParentNodeLocation(e);if(!s)break;const r=n.getNode(s),a=io(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&a.classList.add("active"),0===t.indent.childElementCount?t.indent.appendChild(a):t.indent.insertBefore(a,t.indent.firstElementChild),this.renderedIndentGuides.add(r,a),i.add(F((()=>this.renderedIndentGuides.delete(r,a)))),o=r}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach((e=>{const n=i.getNodeLocation(e);try{const o=i.getParentNodeLocation(n);e.collapsible&&e.children.length>0&&!e.collapsed?t.add(e):o&&t.add(i.getNode(o))}catch(e){}})),this.activeIndentNodes.forEach((e=>{t.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.remove("active")))})),t.forEach((e=>{this.activeIndentNodes.has(e)||this.renderedIndentGuides.forEach(e,(e=>e.classList.add("active")))})),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),A(this.disposables)}}IR.DefaultIndent=8;class TR{constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new W,e.onWillRefilter(this.reset,this,this.disposables)}get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set pattern(e){this._pattern=e,this._lowercasePattern=e.toLowerCase()}filter(e,t){if(this._filter){const i=this._filter.filter(e,t);if(this.tree.options.simpleKeyboardNavigation)return i;let n;if(n="boolean"==typeof i?i?1:0:vR(i)?bR(i.visibility):i,0===n)return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:sE.Default,visibility:!0};const i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),n=Array.isArray(i)?i:[i];for(const e of n){const t=e&&e.toString();if(void 0===t)return{data:sE.Default,visibility:!0};const i=rE(this._pattern,this._lowercasePattern,0,t,t.toLowerCase(),0,!0);if(i)return this._matchCount++,1===n.length?{data:i,visibility:!0}:{data:{label:t,score:i},visibility:!0}}return this.tree.options.filterOnType?2:{data:sE.Default,visibility:!0}}reset(){this._totalCount=0,this._matchCount=0}dispose(){A(this.disposables)}}class MR{constructor(e,t,i,n,o){this.tree=e,this.view=i,this.filter=n,this.keyboardNavigationDelegate=o,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new Pe,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new Pe,this.enabledDisposables=new W,this.disposables=new W,this.domNode=io(`.monaco-list-type-filter.${this.positionClassName}`),this.domNode.draggable=!0,this.disposables.add(cn(this.domNode,"dragstart",(()=>this.onDragStart()))),this.messageDomNode=Xn(i.getHTMLElement(),io(".monaco-list-type-filter-message")),this.labelDomNode=Xn(this.domNode,io("span.label"));const s=Xn(this.domNode,io(".controls"));this._filterOnType=!!e.options.filterOnType,this.filterOnTypeDomNode=Xn(s,io("input.filter")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitleAndIcon(),this.disposables.add(cn(this.filterOnTypeDomNode,"input",(()=>this.onDidChangeFilterOnType()))),this.clearDomNode=Xn(s,io("button.clear"+Oo.treeFilterClear.cssSelector)),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=b(0,"Clear"),this.keyboardNavigationEventFilter=e.options.keyboardNavigationEventFilter,t.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(e.options)}get enabled(){return this._enabled}get pattern(){return this._pattern}get filterOnType(){return this._filterOnType}updateOptions(e){e.simpleKeyboardNavigation?this.disable():this.enable(),void 0!==e.filterOnType&&(this._filterOnType=!!e.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType,this.updateFilterOnTypeTitleAndIcon()),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")}enable(){if(this._enabled)return;const e=this.enabledDisposables.add(new Zk(this.view.getHTMLElement(),"keydown")),t=Ie.chain(e.event).filter((e=>!LM(e.target)||e.target===this.filterOnTypeDomNode)).filter((e=>"Dead"!==e.key&&!/^Media/.test(e.key))).map((e=>new Ot(e))).filter(this.keyboardNavigationEventFilter||(()=>!0)).filter((()=>this.automaticKeyboardNavigation||this.triggered)).filter((e=>this.keyboardNavigationDelegate.mightProducePrintableCharacter(e)&&!(18===e.keyCode||16===e.keyCode||15===e.keyCode||17===e.keyCode)||(this.pattern.length>0||this.triggered)&&(9===e.keyCode||1===e.keyCode)&&!e.altKey&&!e.ctrlKey&&!e.metaKey||1===e.keyCode&&(he?e.altKey&&!e.metaKey:e.ctrlKey)&&!e.shiftKey)).forEach((e=>{e.stopPropagation(),e.preventDefault()})).event,i=this.enabledDisposables.add(new Zk(this.clearDomNode,"click"));Ie.chain(Ie.any(t,i.event)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}disable(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.clear(),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)}onEventOrInput(e){"string"==typeof e?this.onInput(e):e instanceof MouseEvent||9===e.keyCode||1===e.keyCode&&(he?e.altKey:e.ctrlKey)?this.onInput(""):1===e.keyCode?this.onInput(0===this.pattern.length?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+e.browserEvent.key)}onInput(e){const t=this.view.getHTMLElement();e&&!this.domNode.parentElement?t.append(this.domNode):!e&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=e,this._onDidChangePattern.fire(e),this.filter.pattern=e,this.tree.refilter(),e&&this.tree.focusNext(0,!0,void 0,(e=>!sE.isDefault(e.filterData)));const i=this.tree.getFocus();if(i.length>0){const e=i[0];null===this.tree.getRelativeTop(e)&&this.tree.reveal(e,.5)}this.render(),e||(this.triggered=!1)}onDragStart(){const e=this.view.getHTMLElement(),{left:t}=En(e),i=e.clientWidth,n=i/2,o=this.domNode.clientWidth,s=new W;let r=this.positionClassName;const a=()=>{switch(r){case"nw":this.domNode.style.top="4px",this.domNode.style.left="4px";break;case"ne":this.domNode.style.top="4px",this.domNode.style.left=i-o-6+"px"}},l=()=>{this.positionClassName=r,this.domNode.className=`monaco-list-type-filter ${this.positionClassName}`,this.domNode.style.top="",this.domNode.style.left="",A(s)};a(),this.domNode.classList.remove(r),this.domNode.classList.add("dragging"),s.add(F((()=>this.domNode.classList.remove("dragging")))),s.add(cn(document,"dragover",(e=>(e=>{e.preventDefault();const i=e.clientX-t;e.dataTransfer&&(e.dataTransfer.dropEffect="none"),r=il()))),uD.CurrentDragAndDropData=new hD("vscode-ui"),s.add(F((()=>uD.CurrentDragAndDropData=void 0)))}onDidSpliceModel(){this._enabled&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}onDidChangeFilterOnType(){this.tree.updateOptions({filterOnType:this.filterOnTypeDomNode.checked}),this.tree.refilter(),this.tree.domFocus(),this.render(),this.updateFilterOnTypeTitleAndIcon()}updateFilterOnTypeTitleAndIcon(){this.filterOnType?(this.filterOnTypeDomNode.classList.remove(...Oo.treeFilterOnTypeOff.classNamesArray),this.filterOnTypeDomNode.classList.add(...Oo.treeFilterOnTypeOn.classNamesArray),this.filterOnTypeDomNode.title=b(0,"Disable Filter on Type")):(this.filterOnTypeDomNode.classList.remove(...Oo.treeFilterOnTypeOn.classNamesArray),this.filterOnTypeDomNode.classList.add(...Oo.treeFilterOnTypeOff.classNamesArray),this.filterOnTypeDomNode.title=b(0,"Enable Filter on Type"))}render(){const e=this.filter.totalCount>0&&0===this.filter.matchCount;this.pattern&&this.tree.options.filterOnType&&e?(this.messageDomNode.textContent=b(0,"No elements found"),this._empty=!0):(this.messageDomNode.innerText="",this._empty=!1),this.domNode.classList.toggle("no-matches",e),this.domNode.title=b(0,"Matched {0} out of {1} elements",this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"…"+this.pattern.substr(this.pattern.length-16):this.pattern,this._onDidChangeEmptyState.fire(this._empty)}shouldAllowFocus(e){return!(this.enabled&&this.pattern&&!this.filterOnType)||this.filter.totalCount>0&&this.filter.matchCount<=1||!sE.isDefault(e.filterData)}dispose(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.dispose(),this._enabled=!1,this.triggered=!1),this._onDidChangePattern.dispose(),A(this.disposables)}}function RR(e){let t=nR.Unknown;return On(e.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?t=nR.Twistie:On(e.browserEvent.target,"monaco-tl-contents","monaco-tl-row")&&(t=nR.Element),{browserEvent:e.browserEvent,element:e.element?e.element.element:null,target:t}}function PR(e,t){t(e),e.children.forEach((e=>PR(e,t)))}class AR{constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event}get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}set(e,t){!(null==t?void 0:t.__forceEvent)&&Qa(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const e=this;this._onDidChange.fire({get elements(){return e.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map((e=>e.element))),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const e=this.createNodeSet(),i=t=>e.delete(t);return t.forEach((e=>PR(e,i))),void this.set([...e.values()])}const i=new Set,n=e=>i.add(this.identityProvider.getId(e.element).toString());t.forEach((e=>PR(e,n)));const o=new Map,s=e=>o.set(this.identityProvider.getId(e.element).toString(),e);e.forEach((e=>PR(e,s)));const r=[];for(const e of this.nodes){const t=this.identityProvider.getId(e.element).toString();if(i.has(t)){const e=o.get(t);e&&r.push(e)}else r.push(e)}if(this.nodes.length>0&&0===r.length){const e=this.getFirstViewElementWithTrait();e&&r.push(e)}this._set(r,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class OR extends OM{constructor(e,t){super(e),this.tree=t}onViewPointer(e){if(LM(e.browserEvent.target)||EM(e.browserEvent.target))return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,n=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16;let o=!1;if(o="function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(t.element):!!this.tree.expandOnlyOnTwistieClick,o&&!n&&2!==e.browserEvent.detail)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&2===e.browserEvent.detail)return super.onViewPointer(e);if(t.collapsible){const i=this.tree.model,s=i.getNodeLocation(t),r=e.browserEvent.altKey;if(this.tree.setFocus([s]),i.setCollapsed(s,void 0,r),o&&n)return}super.onViewPointer(e)}onDoubleClick(e){!e.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&super.onDoubleClick(e)}}class FR extends KM{constructor(e,t,i,n,o,s,r,a){super(e,t,i,n,a),this.focusTrait=o,this.selectionTrait=s,this.anchorTrait=r}createMouseController(e){return new OR(this,e.tree)}splice(e,t,i=[]){if(super.splice(e,t,i),0===i.length)return;const n=[],o=[];let s;i.forEach(((t,i)=>{this.focusTrait.has(t)&&n.push(e+i),this.selectionTrait.has(t)&&o.push(e+i),this.anchorTrait.has(t)&&(s=e+i)})),n.length>0&&super.setFocus(al([...super.getFocus(),...n])),o.length>0&&super.setSelection(al([...super.getSelection(),...o])),"number"==typeof s&&super.setAnchor(s)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map((e=>this.element(e))),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map((e=>this.element(e))),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(void 0===e?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class WR{constructor(e,t,i,n,o={}){this._user=e,this._options=o,this.eventBufferer=new Fe,this.disposables=new W,this._onWillRefilter=new Pe,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Pe;const s=new ER(i),r=new We,a=new We,l=new NR(a.event);this.renderers=n.map((e=>new IR(e,(()=>this.model),r.event,l,o)));for(let e of this.renderers)this.disposables.add(e);let c;o.keyboardNavigationLabelProvider&&(c=new TR(this,o.keyboardNavigationLabelProvider,o.filter),o=Object.assign(Object.assign({},o),{filter:c}),this.disposables.add(c)),this.focus=new AR((()=>this.view.getFocusedElements()[0]),o.identityProvider),this.selection=new AR((()=>this.view.getSelectedElements()[0]),o.identityProvider),this.anchor=new AR((()=>this.view.getAnchorElement()),o.identityProvider),this.view=new FR(e,t,s,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},function(e,t){return t&&Object.assign(Object.assign({},t),{identityProvider:t.identityProvider&&{getId:e=>t.identityProvider.getId(e.element)},dnd:t.dnd&&new LR(e,t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:e=>t.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},e),{element:e.element})),isSelectionRangeChangeEvent:e=>t.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))},accessibilityProvider:t.accessibilityProvider&&Object.assign(Object.assign({},t.accessibilityProvider),{getSetSize(t){const i=e(),n=i.getNodeLocation(t),o=i.getParentNodeLocation(n);return i.getNode(o).visibleChildrenCount},getPosInSet:e=>e.visibleChildIndex+1,isChecked:t.accessibilityProvider&&t.accessibilityProvider.isChecked?e=>t.accessibilityProvider.isChecked(e.element):void 0,getRole:t.accessibilityProvider&&t.accessibilityProvider.getRole?e=>t.accessibilityProvider.getRole(e.element):()=>"treeitem",getAriaLabel:e=>t.accessibilityProvider.getAriaLabel(e.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider&&t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider&&t.accessibilityProvider.getAriaLevel?e=>t.accessibilityProvider.getAriaLevel(e.element):e=>e.depth,getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(e=>t.accessibilityProvider.getActiveDescendantId(e.element))}),keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},t.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel:e=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}),enableKeyboardNavigation:t.simpleKeyboardNavigation})}((()=>this.model),o)),{tree:this})),this.model=this.createModel(e,this.view,o),r.input=this.model.onDidChangeCollapseState;const d=Ie.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e),this.selection.onDidModelSplice(e)}))}));if(d((()=>null),null,this.disposables),a.input=Ie.chain(Ie.any(d,this.focus.onDidChange,this.selection.onDidChange)).debounce((()=>null),0).map((()=>{const e=new Set;for(const t of this.focus.getNodes())e.add(t);for(const t of this.selection.getNodes())e.add(t);return[...e.values()]})).event,!1!==o.keyboardSupport){const e=Ie.chain(this.view.onKeyDown).filter((e=>!LM(e.target))).map((e=>new Ot(e)));e.filter((e=>15===e.keyCode)).on(this.onLeftArrow,this,this.disposables),e.filter((e=>17===e.keyCode)).on(this.onRightArrow,this,this.disposables),e.filter((e=>10===e.keyCode)).on(this.onSpace,this,this.disposables)}if(o.keyboardNavigationLabelProvider){const e=o.keyboardNavigationDelegate||IM;this.typeFilterController=new MR(this,this.model,this.view,c,e),this.focusNavigationFilter=e=>this.typeFilterController.shouldAllowFocus(e),this.disposables.add(this.typeFilterController)}this.styleElement=Hn(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===yR.Always)}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Ie.map(this.view.onMouseDblClick,RR)}get onPointer(){return Ie.map(this.view.onPointer,RR)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Ie.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}updateOptions(e={}){this._options=Object.assign(Object.assign({},this._options),e);for(const t of this.renderers)t.updateOptions(e);this.view.updateOptions(Object.assign(Object.assign({},this._options),{enableKeyboardNavigation:this._options.simpleKeyboardNavigation})),this.typeFilterController&&this.typeFilterController.updateOptions(this._options),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===yR.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}domFocus(){this.view.domFocus()}layout(e,t){this.view.layout(e,t)}style(e){const t=`.${this.view.domId}`,i=[];e.treeIndentGuidesStroke&&(i.push(`.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeIndentGuidesStroke.transparent(.4)}; }`),i.push(`.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }`)),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){const i=e.map((e=>this.model.getNode(e)));this.selection.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setSelection(n,t,!0)}getSelection(){return this.selection.get()}setFocus(e,t){const i=e.map((e=>this.model.getNode(e)));this.focus.set(i,t);const n=e.map((e=>this.model.getListIndex(e))).filter((e=>e>-1));this.view.setFocus(n,t,!0)}focusNext(e=1,t=!1,i,n=this.focusNavigationFilter){this.view.focusNext(e,t,i,n)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);-1!==i&&this.view.reveal(i,t)}getRelativeTop(e){const t=this.model.getListIndex(e);return-1===t?null:this.view.getRelativeTop(t)}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!0)){const e=this.model.getParentNodeLocation(n);if(!e)return;const t=this.model.getListIndex(e);this.view.reveal(t),this.view.setFocus([t])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i);if(!this.model.setCollapsed(n,!1)){if(!i.children.some((e=>e.visible)))return;const[e]=this.view.getFocus(),t=e+1;this.view.reveal(t),this.view.setFocus([t])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(0===t.length)return;const i=t[0],n=this.model.getNodeLocation(i),o=e.browserEvent.altKey;this.model.setCollapsed(n,void 0,o)}dispose(){A(this.disposables),this.view.dispose()}}class BR{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new wR(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare:(e,t)=>i.sorter.compare(e.element,t.element)}),this.identityProvider=i.identityProvider}setChildren(e,t=T.empty(),i={}){const n=this.getElementLocation(e);this._setChildren(n,this.preserveCollapseState(t),i)}_setChildren(e,t=T.empty(),i){const n=new Set,o=new Set;this.model.splice([...e,0],Number.MAX_VALUE,t,Object.assign(Object.assign({},i),{onDidCreateNode:e=>{var t;if(null===e.element)return;const s=e;if(n.add(s.element),this.nodes.set(s.element,s),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.add(e),this.nodesByIdentity.set(e,s)}null===(t=i.onDidCreateNode)||void 0===t||t.call(i,s)},onDidDeleteNode:e=>{var t;if(null===e.element)return;const s=e;if(n.has(s.element)||this.nodes.delete(s.element),this.identityProvider){const e=this.identityProvider.getId(s.element).toString();o.has(e)||this.nodesByIdentity.delete(e)}null===(t=i.onDidDeleteNode)||void 0===t||t.call(i,s)}}))}preserveCollapseState(e=T.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),T.map(e,(e=>{let t=this.nodes.get(e.element);if(!t&&this.identityProvider){const i=this.identityProvider.getId(e.element).toString();t=this.nodesByIdentity.get(i)}if(!t)return Object.assign(Object.assign({},e),{children:this.preserveCollapseState(e.children)});const i="boolean"==typeof e.collapsible?e.collapsible:t.collapsible,n=void 0!==e.collapsed?e.collapsed:t.collapsed;return Object.assign(Object.assign({},e),{collapsible:i,collapsed:n,children:this.preserveCollapseState(e.children)})}))}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getElementLocation(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(null===e)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new cR(this.user,`Tree element not found: ${e}`);return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(null===e)throw new cR(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new cR(this.user,`Tree element not found: ${e}`);const i=this.model.getNodeLocation(t),n=this.model.getParentNodeLocation(i);return this.model.getNode(n).element}getElementLocation(e){if(null===e)return[];const t=this.nodes.get(e);if(!t)throw new cR(this.user,`Tree element not found: ${e}`);return this.model.getNodeLocation(t)}}function VR(e){return{element:{elements:[e.element],incompressible:e.incompressible||!1},children:T.map(T.from(e.children),VR),collapsible:e.collapsible,collapsed:e.collapsed}}function HR(e){const t=[e.element],i=e.incompressible||!1;let n,o;for(;[o,n]=T.consume(T.from(e.children),2),1===o.length&&!o[0].incompressible;)e=o[0],t.push(e.element);return{element:{elements:t,incompressible:i},children:T.map(T.concat(o,n),HR),collapsible:e.collapsible,collapsed:e.collapsed}}function zR(e,t=0){let i;return i=tzR(e,0))),0===t&&e.element.incompressible?{element:e.element.elements[t],children:i,incompressible:!0,collapsible:e.collapsible,collapsed:e.collapsed}:{element:e.element.elements[t],children:i,collapsible:e.collapsible,collapsed:e.collapsed}}function jR(e){return zR(e,0)}function qR(e,t,i){return e.element===t?Object.assign(Object.assign({},e),{children:i}):Object.assign(Object.assign({},e),{children:T.map(T.from(e.children),(e=>qR(e,t,i)))})}class KR{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new BR(e,t,i),this.enabled=void 0===i.compressionEnabled||i.compressionEnabled,this.identityProvider=i.identityProvider}get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}setChildren(e,t=T.empty(),i){const n=i.diffIdentityProvider&&(o=i.diffIdentityProvider,{getId:e=>e.elements.map((e=>o.getId(e).toString())).join("\0")});var o;if(null===e){const e=T.map(t,this.enabled?HR:VR);return void this._setChildren(null,e,{diffIdentityProvider:n,diffDepth:1/0})}const s=this.nodes.get(e);if(!s)throw new Error("Unknown compressed tree node");const r=this.model.getNode(s),a=this.model.getParentNodeLocation(s),l=this.model.getNode(a),c=qR(jR(r),e,t),d=(this.enabled?HR:VR)(c),h=l.children.map((e=>e===r?d:e));this._setChildren(l.element,h,{diffIdentityProvider:n,diffDepth:r.depth-l.depth})}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const t=this.model.getNode().children,i=T.map(t,jR),n=T.map(i,e?HR:VR);this._setChildren(null,n,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const n=new Set;this.model.setChildren(e,t,Object.assign(Object.assign({},i),{onDidCreateNode:e=>{for(const t of e.element.elements)n.add(t),this.nodes.set(t,e.element)},onDidDeleteNode:e=>{for(const t of e.element.elements)n.has(t)||this.nodes.delete(t)}}))}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(void 0===e)return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return null===t?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const n=this.getCompressedNode(e);return this.model.setCollapsed(n,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(null===e)return null;const t=this.nodes.get(e);if(!t)throw new cR(this.user,`Tree element not found: ${e}`);return t}}const UR=e=>e[e.length-1];class $R{constructor(e,t){this.unwrapper=e,this.node=t}get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((e=>new $R(this.unwrapper,e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class ZR{constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||UR;const n=e=>this.elementMapper(e.elements);this.nodeMapper=new dR((e=>new $R(n,e))),this.model=new KR(e,function(e,t){return{splice(i,n,o){t.splice(i,n,o.map((t=>e.map(t))))},updateElementHeight(e,i){t.updateElementHeight(e,i)}}}(this.nodeMapper,t),function(e,t){return Object.assign(Object.assign({},t),{identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(e(i))},sorter:t.sorter&&{compare:(e,i)=>t.sorter.compare(e.elements[0],i.elements[0])},filter:t.filter&&{filter:(i,n)=>t.filter.filter(e(i),n)}})}(n,i))}get onDidSplice(){return Ie.map(this.model.onDidSplice,(({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map((e=>this.nodeMapper.map(e))),deletedNodes:t.map((e=>this.nodeMapper.map(e)))})))}get onDidChangeCollapseState(){return Ie.map(this.model.onDidChangeCollapseState,(({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t})))}get onDidChangeRenderNodeCount(){return Ie.map(this.model.onDidChangeRenderNodeCount,(e=>this.nodeMapper.map(e)))}setChildren(e,t=T.empty(),i={}){this.model.setChildren(e,t,i)}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return null==t?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}class GR extends WR{constructor(e,t,i,n,o={}){super(e,t,i,n,o),this.user=e}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}setChildren(e,t=T.empty(),i){this.model.setChildren(e,t,i)}rerender(e){void 0!==e?this.model.rerender(e):this.view.rerender()}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new BR(e,t,i)}}class YR{constructor(e,t){this._compressedTreeNodeProvider=e,this.renderer=t,this.templateId=t.templateId,t.onDidChangeTwistieState&&(this.onDidChangeTwistieState=t.onDidChangeTwistieState)}get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){const o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element);1===o.element.elements.length?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,n)):(i.compressedTreeNode=o,this.renderer.renderCompressedElements(o,t,i.data,n))}disposeElement(e,t,i,n){i.compressedTreeNode?this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(i.compressedTreeNode,t,i.data,n):this.renderer.disposeElement&&this.renderer.disposeElement(e,t,i.data,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)}}!function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);s>3&&r&&Object.defineProperty(t,i,r)}([ch],YR.prototype,"compressedTreeNodeProvider",null);class XR extends GR{constructor(e,t,i,n,o={}){const s=()=>this,r=n.map((e=>new YR(s,e)));super(e,t,i,r,function(e,t){return t&&Object.assign(Object.assign({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(i){let n;try{n=e().getCompressedTreeNode(i)}catch(e){return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i)}return 1===n.element.elements.length?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(n.element.elements)}}})}(s,o))}setChildren(e,t=T.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new ZR(e,t,i)}updateOptions(e={}){super.updateOptions(e),void 0!==e.compressionEnabled&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}var JR=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};function QR(e){return Object.assign(Object.assign({},e),{children:[],refreshPromise:void 0,stale:!0,slow:!1,collapsedByDefault:void 0})}function eP(e,t){return!!t.parent&&(t.parent===e||eP(e,t.parent))}class tP{constructor(e){this.node=e}get element(){return this.node.element.element}get children(){return this.node.children.map((e=>new tP(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class iP{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...Oo.treeItemLoading.classNamesArray),!0):(t.classList.remove(...Oo.treeItemLoading.classNamesArray),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function nP(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e=>e.element))}}function oP(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}class sP extends mM{constructor(e){super(e.elements.map((e=>e.element))),this.data=e}}function rP(e){return e instanceof mM?new sP(e):e}class aP{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map((e=>e.element)),t)}onDragStart(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(rP(e),t)}onDragOver(e,t,i,n,o=!0){return this.dnd.onDragOver(rP(e),t&&t.element,i,n)}drop(e,t,i,n){this.dnd.drop(rP(e),t&&t.element,i,n)}onDragEnd(e){this.dnd.onDragEnd&&this.dnd.onDragEnd(e)}}function lP(e){return e&&Object.assign(Object.assign({},e),{collapseByDefault:!0,identityProvider:e.identityProvider&&{getId:t=>e.identityProvider.getId(t.element)},dnd:e.dnd&&new aP(e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>e.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},t),{element:t.element})),isSelectionRangeChangeEvent:t=>e.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},t),{element:t.element}))},accessibilityProvider:e.accessibilityProvider&&Object.assign(Object.assign({},e.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",isChecked:e.accessibilityProvider.isChecked?t=>{var i;return!!(null===(i=e.accessibilityProvider)||void 0===i?void 0:i.isChecked(t.element))}:void 0,getAriaLabel:t=>e.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>e.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider.getAriaLevel&&(t=>e.accessibilityProvider.getAriaLevel(t.element)),getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))}),filter:e.filter&&{filter:(t,i)=>e.filter.filter(t.element,i)},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},e.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}),sorter:void 0,expandOnlyOnTwistieClick:void 0===e.expandOnlyOnTwistieClick?void 0:"function"!=typeof e.expandOnlyOnTwistieClick?e.expandOnlyOnTwistieClick:t=>e.expandOnlyOnTwistieClick(t.element),additionalScrollHeight:e.additionalScrollHeight})}function cP(e,t){t(e),e.children.forEach((e=>cP(e,t)))}class dP{constructor(e,t,i,n,o,s={}){this.user=e,this.dataSource=o,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Pe,this._onDidChangeNodeSlowState=new Pe,this.nodeMapper=new dR((e=>new tP(e))),this.disposables=new W,this.identityProvider=s.identityProvider,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.sorter=s.sorter,this.collapseByDefault=s.collapseByDefault,this.tree=this.createTree(e,t,i,n,s),this.root=QR({element:void 0,parent:null,hasChildren:!0}),this.identityProvider&&(this.root=Object.assign(Object.assign({},this.root),{id:null})),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}get onDidChangeFocus(){return Ie.map(this.tree.onDidChangeFocus,nP)}get onDidChangeSelection(){return Ie.map(this.tree.onDidChangeSelection,nP)}get onMouseDblClick(){return Ie.map(this.tree.onMouseDblClick,oP)}get onPointer(){return Ie.map(this.tree.onPointer,oP)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidDispose(){return this.tree.onDidDispose}createTree(e,t,i,n,o){const s=new ER(i),r=n.map((e=>new iP(e,this.nodeMapper,this._onDidChangeNodeSlowState.event))),a=lP(o)||{};return new GR(e,t,s,r,a)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}setInput(e,t){return JR(this,void 0,void 0,(function*(){this.refreshPromises.forEach((e=>e.cancel())),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};yield this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&"number"==typeof t.scrollTop&&(this.scrollTop=t.scrollTop)}))}_updateChildren(e=this.root.element,t=!0,i=!1,n,o){return JR(this,void 0,void 0,(function*(){if(void 0===this.root.element)throw new cR(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield Ie.toPromise(this._onDidRender.event));const s=this.getDataNode(e);if(yield this.refreshAndRenderNode(s,t,n,o),i)try{this.tree.rerender(s)}catch(e){}}))}rerender(e){if(void 0===e||e===this.root.element)return void this.tree.rerender();const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}expand(e,t=!1){return JR(this,void 0,void 0,(function*(){if(void 0===this.root.element)throw new cR(this.user,"Tree input not set");this.root.refreshPromise&&(yield this.root.refreshPromise,yield Ie.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i))return!1;if(i.refreshPromise&&(yield this.root.refreshPromise,yield Ie.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i))return!1;const n=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(yield this.root.refreshPromise,yield Ie.toPromise(this._onDidRender.event)),n}))}setSelection(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map((e=>e.element))}setFocus(e,t){const i=e.map((e=>this.getDataNode(e)));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map((e=>e.element))}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new cR(this.user,`Data tree node not found: ${e}`);return t}refreshAndRenderNode(e,t,i,n){return JR(this,void 0,void 0,(function*(){yield this.refreshNode(e,t,i),this.render(e,i,n)}))}refreshNode(e,t,i){return JR(this,void 0,void 0,(function*(){let n;return this.subTreeRefreshPromises.forEach(((o,s)=>{!n&&function(e,t){return e===t||eP(e,t)||eP(t,e)}(s,e)&&(n=o.then((()=>this.refreshNode(e,t,i))))})),n||this.doRefreshSubTree(e,t,i)}))}doRefreshSubTree(e,t,i){return JR(this,void 0,void 0,(function*(){let n;e.refreshPromise=new Promise((e=>n=e)),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally((()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)}));try{const o=yield this.doRefreshNode(e,t,i);e.stale=!1,yield di.settled(o.map((e=>this.doRefreshSubTree(e,t,i))))}finally{n()}}))}doRefreshNode(e,t,i){return JR(this,void 0,void 0,(function*(){let n;if(e.hasChildren=!!this.dataSource.hasChildren(e.element),e.hasChildren){const t=this.doGetChildren(e);if(nt(t))n=Promise.resolve(t);else{const i=ti(800);i.then((()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)}),(e=>null)),n=t.finally((()=>i.cancel()))}}else n=Promise.resolve(T.empty());try{const o=yield n;return this.setChildren(e,o,t,i)}catch(t){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),k(t))return[];throw t}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}))}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return nt(i)?this.processChildren(i):(t=Gt((()=>JR(this,void 0,void 0,(function*(){return this.processChildren(yield i)})))),this.refreshPromises.set(e,t),t.finally((()=>{this.refreshPromises.delete(e)})))}_onDidChangeCollapseState({node:e,deep:t}){null!==e.element&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(w))}setChildren(e,t,i,n){const o=[...t];if(0===e.children.length&&0===o.length)return[];const s=new Map,r=new Map;for(const t of e.children)if(s.set(t.element,t),this.identityProvider){const e=this.tree.isCollapsed(t);r.set(t.id,{node:t,collapsed:e})}const a=[],l=o.map((t=>{const o=!!this.dataSource.hasChildren(t);if(!this.identityProvider){const i=QR({element:t,parent:e,hasChildren:o});return o&&this.collapseByDefault&&!this.collapseByDefault(t)&&(i.collapsedByDefault=!1,a.push(i)),i}const l=this.identityProvider.getId(t).toString(),c=r.get(l);if(c){const e=c.node;return s.delete(e.element),this.nodes.delete(e.element),this.nodes.set(t,e),e.element=t,e.hasChildren=o,i?c.collapsed?(e.children.forEach((e=>cP(e,(e=>this.nodes.delete(e.element))))),e.children.splice(0,e.children.length),e.stale=!0):a.push(e):o&&this.collapseByDefault&&!this.collapseByDefault(t)&&(e.collapsedByDefault=!1,a.push(e)),e}const d=QR({element:t,parent:e,id:l,hasChildren:o});return n&&n.viewState.focus&&n.viewState.focus.indexOf(l)>-1&&n.focus.push(d),n&&n.viewState.selection&&n.viewState.selection.indexOf(l)>-1&&n.selection.push(d),n&&n.viewState.expanded&&n.viewState.expanded.indexOf(l)>-1?a.push(d):o&&this.collapseByDefault&&!this.collapseByDefault(t)&&(d.collapsedByDefault=!1,a.push(d)),d}));for(const e of s.values())cP(e,(e=>this.nodes.delete(e.element)));for(const e of l)this.nodes.set(e.element,e);return e.children.splice(0,e.children.length,...l),e!==this.root&&this.autoExpandSingleChildren&&1===l.length&&0===a.length&&(l[0].collapsedByDefault=!1,a.push(l[0])),a}render(e,t,i){const n=e.children.map((e=>this.asTreeElement(e,t))),o=i&&Object.assign(Object.assign({},i),{diffIdentityProvider:i.diffIdentityProvider&&{getId:e=>i.diffIdentityProvider.getId(e.element)}});this.tree.setChildren(e===this.root?null:e,n,o),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return i=!(t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1)&&e.collapsedByDefault,e.collapsedByDefault=void 0,{element:e,children:e.hasChildren?T.map(e.children,(e=>this.asTreeElement(e,t))):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose()}}class hP{constructor(e){this.node=e}get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((e=>new hP(e)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}}class uP{constructor(e,t,i,n){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=n,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,n){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,n)}renderCompressedElements(e,t,i,n){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}renderTwistie(e,t){return e.slow?(t.classList.add(...Oo.treeItemLoading.classNamesArray),!0):(t.classList.remove(...Oo.treeItemLoading.classNamesArray),!1)}disposeElement(e,t,i,n){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(e),t,i.templateData,n)}disposeCompressedElements(e,t,i,n){this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,n)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=A(this.disposables)}}class gP extends dP{constructor(e,t,i,n,o,s,r={}){super(e,t,i,o,s,r),this.compressionDelegate=n,this.compressibleNodeMapper=new dR((e=>new hP(e))),this.filter=r.filter}createTree(e,t,i,n,o){const s=new ER(i),r=n.map((e=>new uP(e,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),a=function(e){const t=e&&lP(e);return t&&Object.assign(Object.assign({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},t.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel:t=>e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((e=>e.element)))})})}(o)||{};return new XR(e,t,s,r,a)}asTreeElement(e,t){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(e.element)},super.asTreeElement(e,t))}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t){if(!this.identityProvider)return super.render(e,t);const i=e=>this.identityProvider.getId(e).toString(),n=e=>{const t=new Set;for(const n of e){const e=this.tree.getCompressedTreeNode(n===this.root?null:n);if(e.element)for(const n of e.element.elements)t.add(i(n.element))}return t},o=n(this.tree.getSelection()),s=n(this.tree.getFocus());super.render(e,t);const r=this.getSelection();let a=!1;const l=this.getFocus();let c=!1;const d=e=>{const t=e.element;if(t)for(let e=0;e{const t="boolean"==typeof(i=this.filter.filter(e,1))?i?1:0:vR(i)?bR(i.visibility):bR(i);var i;if(2===t)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===t}))),super.processChildren(e)}}class pP extends WR{constructor(e,t,i,n,o,s={}){super(e,t,i,n,s),this.user=e,this.dataSource=o,this.identityProvider=s.identityProvider}createModel(e,t,i){return new BR(e,t,i)}}new nr("isMac",he,b(0,"Whether the operating system is macOS")),new nr("isLinux",ue,b(0,"Whether the operating system is Linux"));const mP=new nr("isWindows",de,b(0,"Whether the operating system is Windows")),fP=(new nr("isWeb",pe,b(0,"Whether the platform is a web browser")),new nr("isMacNative",he&&!pe,b(0,"Whether the operating system is macOS on a non-browser platform")),new nr("isIOS",fe,b(0,"Whether the operating system is iOS")),new nr("isDevelopment",!1,!0),"inputFocus");function _P(e,t){const i=Object.create(null);for(let n in t){const o=t[n];o&&(i[n]=Tp(o,e))}return i}function vP(e,t,i){function n(){const n=_P(e.getColorTheme(),t);"function"==typeof i?i(n):i.style(n)}return n(),e.onDidColorThemeChange(n)}function bP(e,t,i){return vP(t,Object.assign(Object.assign({},CP),i||{}),e)}new nr(fP,!1,b(0,"Whether keyboard focus is inside an input box"));const CP={listFocusBackground:wg,listFocusForeground:yg,listFocusOutline:Sg,listActiveSelectionBackground:xg,listActiveSelectionForeground:kg,listActiveSelectionIconForeground:Dg,listFocusAndSelectionBackground:xg,listFocusAndSelectionForeground:kg,listInactiveSelectionBackground:Lg,listInactiveSelectionIconForeground:Ng,listInactiveSelectionForeground:Eg,listInactiveFocusBackground:Ig,listInactiveFocusOutline:Tg,listHoverBackground:Mg,listHoverForeground:Rg,listDropBackground:Pg,listSelectionOutline:Ih,listHoverOutline:Ih,listFilterWidgetBackground:Bg,listFilterWidgetOutline:Vg,listFilterWidgetNoMatchesOutline:Hg,listMatchesShadow:Ph,treeIndentGuidesStroke:zg,tableColumnsBorder:jg,tableOddRowsBackgroundColor:qg},wP={shadowColor:Ph,borderColor:Gg,foregroundColor:Yg,backgroundColor:Xg,selectionForegroundColor:Jg,selectionBackgroundColor:Qg,selectionBorderColor:ep,separatorColor:tp,scrollbarShadow:su,scrollbarSliderBackground:ru,scrollbarSliderHoverBackground:au,scrollbarSliderActiveBackground:lu};var yP=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},SP=function(e,t){return function(i,n){t(i,n,e)}};const xP=xo("listService");let kP=class{constructor(e){this._themeService=e,this.disposables=new W,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}get lastFocusedList(){return this._lastFocusedWidget}setLastFocusedList(e){var t,i;e!==this._lastFocusedWidget&&(null===(t=this._lastFocusedWidget)||void 0===t||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,null===(i=this._lastFocusedWidget)||void 0===i||i.getHTMLElement().classList.add("last-focused"))}register(e,t){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=!0;const e=new FM(Hn(),"");this.disposables.add(bP(e,this._themeService))}if(this.lists.some((t=>t.widget===e)))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),e.getHTMLElement()===document.activeElement&&this.setLastFocusedList(e),O(e.onDidFocus((()=>this.setLastFocusedList(e))),F((()=>this.lists.splice(this.lists.indexOf(i),1))),e.onDidDispose((()=>{this.lists=this.lists.filter((e=>e!==i)),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}};kP=yP([SP(0,ur)],kP);const DP=new nr("listFocus",!0),LP=new nr("listSupportsMultiselect",!0),EP=Fs.and(DP,Fs.not(fP)),NP=new nr("listHasSelectionOrFocus",!1),IP=new nr("listDoubleSelection",!1),TP=new nr("listMultiSelection",!1),MP=new nr("listSelectionNavigation",!1),RP=new nr("treeElementCanCollapse",!1),PP=new nr("treeElementHasParent",!1),AP=new nr("treeElementCanExpand",!1),OP=new nr("treeElementHasChild",!1),FP="listAutomaticKeyboardNavigation";function WP(e,t){const i=e.createScoped(t.getHTMLElement());return DP.bindTo(i),i}const BP="workbench.list.multiSelectModifier",VP="workbench.list.openMode",HP="workbench.list.horizontalScrolling",zP="workbench.list.keyboardNavigation",jP="workbench.list.automaticKeyboardNavigation",qP="workbench.tree.indent",KP="workbench.tree.renderIndentGuides",UP="workbench.list.smoothScrolling",$P="workbench.list.mouseWheelScrollSensitivity",ZP="workbench.list.fastScrollSensitivity",GP="workbench.tree.expandMode";function YP(e){return"alt"===e.getValue(BP)}class XP extends B{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=YP(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(BP)&&(this.useAltAsMultipleSelectionModifier=YP(this.configurationService))})))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:RM(e)}isSelectionRangeChangeEvent(e){return PM(e)}}function JP(e,t,i){var n;const o=new W;return[Object.assign(Object.assign({},e),{keyboardNavigationDelegate:{mightProducePrintableCharacter:e=>i.mightProducePrintableCharacter(e)},smoothScrolling:Boolean(t.getValue(UP)),mouseWheelScrollSensitivity:t.getValue($P),fastScrollSensitivity:t.getValue(ZP),multipleSelectionController:null!==(n=e.multipleSelectionController)&&void 0!==n?n:o.add(new XP(t))}),o]}let QP=class extends KM{constructor(e,t,i,n,o,s,r,a,l,c){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(HP)),[h,u]=JP(o,l,c);super(e,t,i,n,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},_P(a.getColorTheme(),CP)),h),{horizontalScrolling:d})),this.disposables.add(u),this.contextKeyService=WP(s,this),this.themeService=a,this.listSupportsMultiSelect=LP.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),MP.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=NP.bindTo(this.contextKeyService),this.listDoubleSelection=IP.bindTo(this.contextKeyService),this.listMultiSelection=TP.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=YP(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),o.overrideStyles&&this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(BP)&&(this._useAltAsMultipleSelectionModifier=YP(l));let t={};if(e.affectsConfiguration(HP)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(HP));t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(UP)){const e=Boolean(l.getValue(UP));t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration($P)){const e=l.getValue($P);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(ZP)){const e=l.getValue(ZP);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new nA(this,Object.assign({configurationService:l},o)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;null===(t=this._styler)||void 0===t||t.dispose(),this._styler=bP(this,this.themeService,e)}dispose(){var e;null===(e=this._styler)||void 0===e||e.dispose(),super.dispose()}};QP=yP([SP(5,or),SP(6,xP),SP(7,ur),SP(8,ec),SP(9,_N)],QP);let eA=class extends class{constructor(e,t,i,n,o={}){const s=()=>this.model,r=n.map((e=>new UM(e,s)));this.list=new KM(e,t,i,r,function(e,t){return Object.assign(Object.assign({},t),{accessibilityProvider:t.accessibilityProvider&&new $M(e,t.accessibilityProvider)})}(s,o))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Ie.map(this.list.onMouseDblClick,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onPointer(){return Ie.map(this.list.onPointer,(({element:e,index:t,browserEvent:i})=>({element:void 0===e?void 0:this._model.get(e),index:t,browserEvent:i})))}get onDidChangeSelection(){return Ie.map(this.list.onDidChangeSelection,(({elements:e,indexes:t,browserEvent:i})=>({elements:e.map((e=>this._model.get(e))),indexes:t,browserEvent:i})))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,dl(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((e=>this.model.get(e)))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}{constructor(e,t,i,n,o,s,r,a,l,c){const d=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(l.getValue(HP)),[h,u]=JP(o,l,c);super(e,t,i,n,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},_P(a.getColorTheme(),CP)),h),{horizontalScrolling:d})),this.disposables=new W,this.disposables.add(u),this.contextKeyService=WP(s,this),this.themeService=a,this.horizontalScrolling=o.horizontalScrolling,this.listSupportsMultiSelect=LP.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),MP.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this._useAltAsMultipleSelectionModifier=YP(l),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),o.overrideStyles&&this.updateStyles(o.overrideStyles),o.overrideStyles&&this.disposables.add(bP(this,a,o.overrideStyles)),this.disposables.add(l.onDidChangeConfiguration((e=>{e.affectsConfiguration(BP)&&(this._useAltAsMultipleSelectionModifier=YP(l));let t={};if(e.affectsConfiguration(HP)&&void 0===this.horizontalScrolling){const e=Boolean(l.getValue(HP));t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(UP)){const e=Boolean(l.getValue(UP));t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration($P)){const e=l.getValue($P);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(ZP)){const e=l.getValue(ZP);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new nA(this,Object.assign({configurationService:l},o)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;null===(t=this._styler)||void 0===t||t.dispose(),this._styler=bP(this,this.themeService,e)}dispose(){var e;null===(e=this._styler)||void 0===e||e.dispose(),this.disposables.dispose(),super.dispose()}};eA=yP([SP(5,or),SP(6,xP),SP(7,ur),SP(8,ec),SP(9,_N)],eA);let tA=class extends lR{constructor(e,t,i,n,o,s,r,a,l,c,d){const h=void 0!==s.horizontalScrolling?s.horizontalScrolling:Boolean(c.getValue(HP)),[u,g]=JP(s,c,d);super(e,t,i,n,o,Object.assign(Object.assign(Object.assign({keyboardSupport:!1},_P(l.getColorTheme(),CP)),u),{horizontalScrolling:h})),this.disposables.add(g),this.contextKeyService=WP(r,this),this.themeService=l,this.listSupportsMultiSelect=LP.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==s.multipleSelectionSupport),MP.bindTo(this.contextKeyService).set(Boolean(s.selectionNavigation)),this.listHasSelectionOrFocus=NP.bindTo(this.contextKeyService),this.listDoubleSelection=IP.bindTo(this.contextKeyService),this.listMultiSelection=TP.bindTo(this.contextKeyService),this.horizontalScrolling=s.horizontalScrolling,this._useAltAsMultipleSelectionModifier=YP(c),this.disposables.add(this.contextKeyService),this.disposables.add(a.register(this)),s.overrideStyles&&this.updateStyles(s.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const e=this.getSelection(),t=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(e.length>0||t.length>0),this.listMultiSelection.set(e.length>1),this.listDoubleSelection.set(2===e.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const e=this.getSelection(),t=this.getFocus();this.listHasSelectionOrFocus.set(e.length>0||t.length>0)}))),this.disposables.add(c.onDidChangeConfiguration((e=>{e.affectsConfiguration(BP)&&(this._useAltAsMultipleSelectionModifier=YP(c));let t={};if(e.affectsConfiguration(HP)&&void 0===this.horizontalScrolling){const e=Boolean(c.getValue(HP));t=Object.assign(Object.assign({},t),{horizontalScrolling:e})}if(e.affectsConfiguration(UP)){const e=Boolean(c.getValue(UP));t=Object.assign(Object.assign({},t),{smoothScrolling:e})}if(e.affectsConfiguration($P)){const e=c.getValue($P);t=Object.assign(Object.assign({},t),{mouseWheelScrollSensitivity:e})}if(e.affectsConfiguration(ZP)){const e=c.getValue(ZP);t=Object.assign(Object.assign({},t),{fastScrollSensitivity:e})}Object.keys(t).length>0&&this.updateOptions(t)}))),this.navigator=new oA(this,Object.assign({configurationService:c},s)),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles&&this.updateStyles(e.overrideStyles),void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){var t;null===(t=this._styler)||void 0===t||t.dispose(),this._styler=bP(this,this.themeService,e)}dispose(){var e;null===(e=this._styler)||void 0===e||e.dispose(),this.disposables.dispose(),super.dispose()}};tA=yP([SP(6,or),SP(7,xP),SP(8,ur),SP(9,ec),SP(10,_N)],tA);class iA extends B{constructor(e,t){var i;super(),this.widget=e,this._onDidOpen=this._register(new Pe),this.onDidOpen=this._onDidOpen.event,this._register(Ie.filter(this.widget.onDidChangeSelection,(e=>e.browserEvent instanceof KeyboardEvent))((e=>this.onSelectionFromKeyboard(e)))),this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent)))),this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent)))),"boolean"!=typeof(null==t?void 0:t.openOnSingleClick)&&(null==t?void 0:t.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(VP)),this._register(null==t?void 0:t.configurationService.onDidChangeConfiguration((()=>{this.openOnSingleClick="doubleClick"!==(null==t?void 0:t.configurationService.getValue(VP))})))):this.openOnSingleClick=null===(i=null==t?void 0:t.openOnSingleClick)||void 0===i||i}onSelectionFromKeyboard(e){if(1!==e.elements.length)return;const t=e.browserEvent,i="boolean"!=typeof t.preserveFocus||t.preserveFocus,n="boolean"==typeof t.pinned?t.pinned:!i;this._open(this.getSelectedElement(),i,n,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick)return;if(2===t.detail)return;const i=1===t.button,n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!0,i,n,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const n=t.ctrlKey||t.metaKey||t.altKey;this._open(e,!1,!0,n,t)}_open(e,t,i,n,o){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:n,element:e,browserEvent:o})}}class nA extends iA{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class oA extends iA{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class sA extends iA{constructor(e,t){super(e,t)}getSelectedElement(){var e;return null!==(e=this.widget.getSelection()[0])&&void 0!==e?e:void 0}}function rA(e,t){let i=!1;return n=>{if(n.toKeybinding().isModifierKey())return!1;if(i)return i=!1,!1;const o=t.softDispatch(n,e);return o&&o.enterChord?(i=!0,!1):(i=!1,!0)}}let aA=class extends GR{constructor(e,t,i,n,o,s,r,a,l,c,d){const{options:h,getAutomaticKeyboardNavigation:u,disposable:g}=uA(t,o,s,l,c,d);super(e,t,i,n,h),this.disposables.add(g),this.internals=new gA(this,o,u,o.overrideStyles,s,r,a,l,d),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};aA=yP([SP(5,or),SP(6,xP),SP(7,ur),SP(8,ec),SP(9,_N),SP(10,th)],aA);let lA=class extends XR{constructor(e,t,i,n,o,s,r,a,l,c,d){const{options:h,getAutomaticKeyboardNavigation:u,disposable:g}=uA(t,o,s,l,c,d);super(e,t,i,n,h),this.disposables.add(g),this.internals=new gA(this,o,u,o.overrideStyles,s,r,a,l,d),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};lA=yP([SP(5,or),SP(6,xP),SP(7,ur),SP(8,ec),SP(9,_N),SP(10,th)],lA);let cA=class extends pP{constructor(e,t,i,n,o,s,r,a,l,c,d,h){const{options:u,getAutomaticKeyboardNavigation:g,disposable:p}=uA(t,s,r,c,d,h);super(e,t,i,n,o,u),this.disposables.add(p),this.internals=new gA(this,s,g,s.overrideStyles,r,a,l,c,h),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};cA=yP([SP(6,or),SP(7,xP),SP(8,ur),SP(9,ec),SP(10,_N),SP(11,th)],cA);let dA=class extends dP{constructor(e,t,i,n,o,s,r,a,l,c,d,h){const{options:u,getAutomaticKeyboardNavigation:g,disposable:p}=uA(t,s,r,c,d,h);super(e,t,i,n,o,u),this.disposables.add(p),this.internals=new gA(this,s,g,s.overrideStyles,r,a,l,c,h),this.disposables.add(this.internals)}get onDidOpen(){return this.internals.onDidOpen}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};dA=yP([SP(6,or),SP(7,xP),SP(8,ur),SP(9,ec),SP(10,_N),SP(11,th)],dA);let hA=class extends gP{constructor(e,t,i,n,o,s,r,a,l,c,d,h,u){const{options:g,getAutomaticKeyboardNavigation:p,disposable:m}=uA(t,r,a,d,h,u);super(e,t,i,n,o,s,g),this.disposables.add(m),this.internals=new gA(this,r,p,r.overrideStyles,a,l,c,d,u),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};function uA(e,t,i,n,o,s){var r;const a=()=>{let e=Boolean(i.getContextKeyValue(FP));return e&&(e=Boolean(n.getValue(jP))),e},l=s.isScreenReaderOptimized(),c=t.simpleKeyboardNavigation||l?"simple":n.getValue(zP),d=void 0!==t.horizontalScrolling?t.horizontalScrolling:Boolean(n.getValue(HP)),[h,u]=JP(t,n,o),g=t.additionalScrollHeight;return{getAutomaticKeyboardNavigation:a,disposable:u,options:Object.assign(Object.assign({keyboardSupport:!1},h),{indent:"number"==typeof n.getValue(qP)?n.getValue(qP):void 0,renderIndentGuides:n.getValue(KP),smoothScrolling:Boolean(n.getValue(UP)),automaticKeyboardNavigation:a(),simpleKeyboardNavigation:"simple"===c,filterOnType:"filter"===c,horizontalScrolling:d,keyboardNavigationEventFilter:rA(e,o),additionalScrollHeight:g,hideTwistiesOfChildlessElements:t.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(r=t.expandOnlyOnTwistieClick)&&void 0!==r?r:"doubleClick"===n.getValue(GP)})}}hA=yP([SP(7,or),SP(8,xP),SP(9,ur),SP(10,ec),SP(11,_N),SP(12,th)],hA);let gA=class{constructor(e,t,i,n,o,s,r,a,l){this.tree=e,this.themeService=r,this.disposables=[],this.contextKeyService=WP(o,e),this.listSupportsMultiSelect=LP.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==t.multipleSelectionSupport),MP.bindTo(this.contextKeyService).set(Boolean(t.selectionNavigation)),this.hasSelectionOrFocus=NP.bindTo(this.contextKeyService),this.hasDoubleSelection=IP.bindTo(this.contextKeyService),this.hasMultiSelection=TP.bindTo(this.contextKeyService),this.treeElementCanCollapse=RP.bindTo(this.contextKeyService),this.treeElementHasParent=PP.bindTo(this.contextKeyService),this.treeElementCanExpand=AP.bindTo(this.contextKeyService),this.treeElementHasChild=OP.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=YP(a);const c=new Set;c.add(FP);const d=()=>{const t=l.isScreenReaderOptimized()?"simple":a.getValue(zP);e.updateOptions({simpleKeyboardNavigation:"simple"===t,filterOnType:"filter"===t})};this.updateStyleOverrides(n);const h=()=>{const t=e.getFocus()[0];if(!t)return;const i=e.getNode(t);this.treeElementCanCollapse.set(i.collapsible&&!i.collapsed),this.treeElementHasParent.set(!!e.getParentElement(t)),this.treeElementCanExpand.set(i.collapsible&&i.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(t))};this.disposables.push(this.contextKeyService,s.register(e),e.onDidChangeSelection((()=>{const t=e.getSelection(),i=e.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(t.length>0||i.length>0),this.hasMultiSelection.set(t.length>1),this.hasDoubleSelection.set(2===t.length)}))})),e.onDidChangeFocus((()=>{const t=e.getSelection(),i=e.getFocus();this.hasSelectionOrFocus.set(t.length>0||i.length>0),h()})),e.onDidChangeCollapseState(h),e.onDidChangeModel(h),a.onDidChangeConfiguration((n=>{let o={};if(n.affectsConfiguration(BP)&&(this._useAltAsMultipleSelectionModifier=YP(a)),n.affectsConfiguration(qP)){const e=a.getValue(qP);o=Object.assign(Object.assign({},o),{indent:e})}if(n.affectsConfiguration(KP)){const e=a.getValue(KP);o=Object.assign(Object.assign({},o),{renderIndentGuides:e})}if(n.affectsConfiguration(UP)){const e=Boolean(a.getValue(UP));o=Object.assign(Object.assign({},o),{smoothScrolling:e})}if(n.affectsConfiguration(zP)&&d(),n.affectsConfiguration(jP)&&(o=Object.assign(Object.assign({},o),{automaticKeyboardNavigation:i()})),n.affectsConfiguration(HP)&&void 0===t.horizontalScrolling){const e=Boolean(a.getValue(HP));o=Object.assign(Object.assign({},o),{horizontalScrolling:e})}if(n.affectsConfiguration(GP)&&void 0===t.expandOnlyOnTwistieClick&&(o=Object.assign(Object.assign({},o),{expandOnlyOnTwistieClick:"doubleClick"===a.getValue(GP)})),n.affectsConfiguration($P)){const e=a.getValue($P);o=Object.assign(Object.assign({},o),{mouseWheelScrollSensitivity:e})}if(n.affectsConfiguration(ZP)){const e=a.getValue(ZP);o=Object.assign(Object.assign({},o),{fastScrollSensitivity:e})}Object.keys(o).length>0&&e.updateOptions(o)})),this.contextKeyService.onDidChangeContext((t=>{t.affectsSome(c)&&e.updateOptions({automaticKeyboardNavigation:i()})})),l.onDidChangeScreenReaderOptimized((()=>d()))),this.navigator=new sA(e,Object.assign({configurationService:a},t)),this.disposables.push(this.navigator)}get onDidOpen(){return this.navigator.onDidOpen}updateOptions(e){void 0!==e.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){A(this.styler),this.styler=e?bP(this.tree,this.themeService,e):B.None}dispose(){this.disposables=A(this.disposables),A(this.styler),this.styler=void 0}};gA=yP([SP(4,or),SP(5,xP),SP(6,ur),SP(7,ec),SP(8,th)],gA),dr.as($C).registerConfiguration({id:"workbench",order:7,title:b(0,"Workbench"),type:"object",properties:{[BP]:{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[b(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),b(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:b(0,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[VP]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:b(0,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[HP]:{type:"boolean",default:!1,description:b(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[qP]:{type:"number",default:8,minimum:4,maximum:40,description:b(0,"Controls tree indentation in pixels.")},[KP]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:b(0,"Controls whether the tree should render indent guides.")},[UP]:{type:"boolean",default:!1,description:b(0,"Controls whether lists and trees have smooth scrolling.")},[$P]:{type:"number",default:1,description:b(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[ZP]:{type:"number",default:5,description:b(0,"Scrolling speed multiplier when pressing `Alt`.")},[zP]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[b(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),b(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),b(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:b(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.")},[jP]:{type:"boolean",default:!0,markdownDescription:b(0,"Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.")},[GP]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:b(0,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")}}});class pA{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=mT.nextId()}get uri(){return this.link.uri}get range(){var e,t;return null!==(t=null!==(e=this._range)&&void 0!==e?e:this.link.targetSelectionRange)&&void 0!==t?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=null===(e=this.parent.getPreview(this))||void 0===e?void 0:e.preview(this.range);return t?b(0,"symbol in {0} on line {1} at column {2}, {3}",qy(this.uri),this.range.startLineNumber,this.range.startColumn,t.value):b(0,"symbol in {0} on line {1} at column {2}",qy(this.uri),this.range.startLineNumber,this.range.startColumn)}}class mA{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:o,endLineNumber:s,endColumn:r}=e,a=i.getWordUntilPosition({lineNumber:n,column:o-t}),l=new ia(n,a.startColumn,n,o),c=new ia(s,r,s,1073741824),d=i.getValueInRange(l).replace(/^\s+/,""),h=i.getValueInRange(e);return{value:d+h+i.getValueInRange(c).replace(/\s+$/,""),highlight:{start:d.length,end:d.length+h.length}}}}class fA{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new wL}dispose(){A(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?b(0,"1 symbol in {0}, full path {1}",qy(this.uri),this.uri.fsPath):b(0,"{0} symbols in {1}, full path {2}",e,qy(this.uri),this.uri.fsPath)}resolve(e){return function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){if(0!==this._previews.size)return this;for(let t of this.children)if(!this._previews.has(t.uri))try{const i=yield e.createModelReference(t.uri);this._previews.set(t.uri,new mA(i))}catch(e){w(e)}return this}))}}class _A{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Pe,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let n;e.sort(_A._compareReferences);for(let t of e)if(n&&Hy.isEqual(n.uri,t.uri,!0)||(n=new fA(this,t.uri),this.groups.push(n)),0===n.children.length||0!==_A._compareReferences(t,n.children[n.children.length-1])){const e=new pA(i===t,n,t,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),n.children.push(e)}}dispose(){A(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new _A(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?b(0,"No results found"):1===this.references.length?b(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?b(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):b(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){let{parent:i}=e,n=i.children.indexOf(e),o=i.children.length,s=i.parent.groups.length;return 1===s||t&&n+10?(n=t?(n+1)%o:(n+o-1)%o,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%s,i.parent.groups[n].children[0]):(n=(n+s-1)%s,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map(((i,n)=>({idx:n,prefixLen:cs(i.uri.toString(),e.toString()),offsetDist:100*Math.abs(i.range.startLineNumber-t.lineNumber)+Math.abs(i.range.startColumn-t.column)}))).sort(((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0))[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&ia.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return Hy.compare(e.uri,t.uri)||ia.compareRangesUsingStarts(e.range,t.range)}}var vA=i(6941),bA={};bA.styleTagTransform=p(),bA.setAttributes=d(),bA.insert=l().bind(null,"head"),bA.domAPI=r(),bA.insertStyleElement=u(),o()(vA.Z,bA),vA.Z&&vA.Z.locals&&vA.Z.locals;var CA=i(9907),wA={};wA.styleTagTransform=p(),wA.setAttributes=d(),wA.insert=l().bind(null,"head"),wA.domAPI=r(),wA.insertStyleElement=u(),o()(CA.Z,wA),CA.Z&&CA.Z.locals&&CA.Z.locals;const yA={badgeBackground:vh.fromHex("#4D4D4D"),badgeForeground:vh.fromHex("#FFFFFF")};class SA{constructor(e,t){this.count=0,this.options=t||Object.create(null),td(this.options,yA,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Xn(e,io(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){this.element.textContent=jo(this.countFormat,this.count),this.element.title=jo(this.titleFormat,this.count),this.applyStyles()}style(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()}applyStyles(){if(this.element){const e=this.badgeBackground?this.badgeBackground.toString():"",t=this.badgeForeground?this.badgeForeground.toString():"",i=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=i?"1px":"",this.element.style.borderStyle=i?"solid":"",this.element.style.borderColor=i}}}class xA{constructor(e,t){var i;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(i=null==t?void 0:t.supportIcons)&&void 0!==i&&i,this.domNode=Xn(e,io("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",n){e||(e=""),n&&(e=xA.escapeNewLines(e,t)),this.didEverRender&&this.text===e&&this.title===i&&id(this.highlights,t)||(this.text=e,this.title=i,this.highlights=t,this.render())}render(){const e=[];let t=0;for(const i of this.highlights){if(i.end===i.start)continue;if(t{n="\r\n"===e?-1:0,o+=i;for(const e of t)e.end<=o||(e.start>=o&&(e.start+=n),e.end>=o&&(e.end+=n));return i+=n,"⏎"}))}}var kA=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class DA{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}update(e,t){var i;return kA(this,void 0,void 0,(function*(){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===e||et(e)||e instanceof HTMLElement)n=e;else if(dt(e.markdown)){this._hoverWidget||this.show(b(0,"Loading..."),t),this._cancellationTokenSource=new Ut;const i=this._cancellationTokenSource.token;if(n=yield e.markdown(i),void 0===n&&(n=e.markdownNotSupportedFallback),this.isDisposed||i.isCancellationRequested)return}else n=null!==(i=e.markdown)&&void 0!==i?i:e.markdownNotSupportedFallback;this.show(n,t)}))}show(e,t){const i=this._hoverWidget;if(this.hasContent(e)){const n={content:e,target:this.target,showPointer:"element"===this.hoverDelegate.placement,hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!i};this._hoverWidget=this.hoverDelegate.showHover(n,t)}null==i||i.dispose()}hasContent(e){return!(!e||wE(e)&&!e.value)}get isDisposed(){var e;return null===(e=this._hoverWidget)||void 0===e?void 0:e.isDisposed}dispose(){var e,t;null===(e=this._hoverWidget)||void 0===e||e.dispose(),null===(t=this._cancellationTokenSource)||void 0===t||t.dispose(!0),this._cancellationTokenSource=void 0}}var LA=i(4306),EA={};EA.styleTagTransform=p(),EA.setAttributes=d(),EA.insert=l().bind(null,"head"),EA.domAPI=r(),EA.insertStyleElement=u(),o()(LA.Z,EA),LA.Z&&LA.Z.locals&&LA.Z.locals;class NA{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class IA extends B{constructor(e,t){super(),this.customHovers=new Map,this.domNode=this._register(new NA(Xn(e,io(".monaco-icon-label")))),this.labelContainer=Xn(this.domNode.element,io(".monaco-icon-label-container"));const i=Xn(this.labelContainer,io("span.monaco-icon-name-container"));this.descriptionContainer=this._register(new NA(Xn(this.labelContainer,io("span.monaco-icon-description-container")))),(null==t?void 0:t.supportHighlights)||(null==t?void 0:t.supportIcons)?this.nameNode=new MA(i,!!t.supportIcons):this.nameNode=new TA(i),(null==t?void 0:t.supportDescriptionHighlights)?this.descriptionNodeFactory=()=>new xA(Xn(this.descriptionContainer.element,io("span.label-description")),{supportIcons:!!t.supportIcons}):this.descriptionNodeFactory=()=>this._register(new NA(Xn(this.descriptionContainer.element,io("span.label-description")))),this.hoverDelegate=null==t?void 0:t.hoverDelegate}get element(){return this.domNode.element}setLabel(e,t,i){const n=["monaco-icon-label"];i&&(i.extraClasses&&n.push(...i.extraClasses),i.italic&&n.push("italic"),i.strikethrough&&n.push("strikethrough")),this.domNode.className=n.join(" "),this.setupHover((null==i?void 0:i.descriptionTitle)?this.labelContainer:this.element,null==i?void 0:i.title),this.nameNode.setLabel(e,i),(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof xA?(this.descriptionNode.set(t||"",i?i.descriptionMatches:void 0),this.setupHover(this.descriptionNode.element,null==i?void 0:i.descriptionTitle)):(this.descriptionNode.textContent=t||"",this.setupHover(this.descriptionNode.element,(null==i?void 0:i.descriptionTitle)||""),this.descriptionNode.empty=!t))}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),t)if(this.hoverDelegate){const i=function(e,t,i){let n,o;const s=(t,i)=>{var s;t&&(null==o||o.dispose(),o=void 0),i&&(null==n||n.dispose(),n=void 0),null===(s=e.onDidHideHover)||void 0===s||s.call(e)},r=(n,s,r)=>new oi((()=>kA(this,void 0,void 0,(function*(){o&&!o.isDisposed||(o=new DA(e,r||t,n>0),yield o.update(i,s))}))),n),a=cn(t,$n.MOUSE_OVER,(()=>{if(n)return;const i=new W;i.add(cn(t,$n.MOUSE_LEAVE,(e=>s(!1,e.fromElement===t)),!0)),i.add(cn(t,$n.MOUSE_DOWN,(()=>s(!0,!0)),!0));const o={targetElements:[t],dispose:()=>{}};if(void 0===e.placement||"mouse"===e.placement){const e=e=>o.x=e.x+10;i.add(cn(t,$n.MOUSE_MOVE,e,!0))}i.add(r(e.delay,!1,o)),n=i}),!0);return{show:e=>{s(!1,!0),r(0,e)},hide:()=>{s(!0,!0)},update:e=>kA(this,void 0,void 0,(function*(){i=e,yield null==o?void 0:o.update(i)})),dispose:()=>{a.dispose(),s(!0,!0)}}}(this.hoverDelegate,e,t);i&&this.customHovers.set(e,i)}else!function(e,t){et(t)?e.title=fE(t):(null==t?void 0:t.markdownNotSupportedFallback)?e.title=t.markdownNotSupportedFallback:e.removeAttribute("title")}(e,t);else e.removeAttribute("title")}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}}class TA{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(this.label!==e||!id(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Xn(this.container,io("a.label-name",{id:null==t?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const o={start:n,end:n+e.length},s=i.map((e=>oM.intersect(o,e))).filter((e=>!oM.isEmpty(e))).map((({start:e,end:t})=>({start:e-n,end:t-n})));return n=o.end+t.length,s}))}(e,i,null==t?void 0:t.matches);for(let o=0;o3)&&Wy(t)&&(2===e.length||92===t.charCodeAt(2)):t===Ni.sep}(t)?PA(t):t}function PA(e,t){return Wy(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}Object.create(null);const AA=xo("labelService");var OA=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},FA=function(e,t){return function(i,n){t(i,n,e)}};let WA=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof _A||e instanceof fA}getChildren(e){if(e instanceof _A)return e.groups;if(e instanceof fA)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};WA=OA([FA(0,Eo)],WA);class BA{getHeight(){return 23}getTemplateId(e){return e instanceof fA?jA.id:KA.id}}let VA=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof pA){const i=null===(t=e.parent.getPreview(e))||void 0===t?void 0:t.preview(e.range);if(i)return i.value}return qy(e.uri)}};VA=OA([FA(0,_N)],VA);class HA{getId(e){return e instanceof pA?e.id:e.uri}}let zA=class extends B{constructor(e,t,i){super(),this._uriLabel=t;const n=document.createElement("div");n.classList.add("reference-file"),this.file=this._register(new IA(n,{supportHighlights:!0})),this.badge=new SA(Xn(n,io(".count"))),this._register(function(e,t,i){return vP(t,{badgeBackground:nu,badgeForeground:ou,badgeBorder:Nh},e)}(this.badge,i)),e.appendChild(n)}set(e,t){let i=Uy(e.uri);this.file.setLabel(RA(e.uri),this._uriLabel.getUriLabel(i,{relative:!0}),{title:this._uriLabel.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(b(0,"{0} references",n)):this.badge.setTitleFormat(b(0,"{0} reference",n))}};zA=OA([FA(1,AA),FA(2,ur)],zA);let jA=class e{constructor(t){this._instantiationService=t,this.templateId=e.id}renderTemplate(e){return this._instantiationService.createInstance(zA,e)}renderElement(e,t,i){i.set(e.element,$L(e.filterData))}disposeTemplate(e){e.dispose()}};jA.id="FileReferencesRenderer",jA=OA([FA(0,yo)],jA);class qA{constructor(e){this.label=new xA(e)}set(e,t){var i;const n=null===(i=e.parent.getPreview(e))||void 0===i?void 0:i.preview(e.range);if(n&&n.value){const{value:e,highlight:i}=n;t&&!sE.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,$L(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[i]))}else this.label.set(`${qy(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class KA{constructor(){this.templateId=KA.id}renderTemplate(e){return new qA(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(){}}KA.id="OneReferenceRenderer";class UA{getWidgetAriaLabel(){return b(0,"References")}getAriaLabel(e){return e.ariaMessage}}var $A=function(e,t){return function(i,n){t(i,n,e)}},ZA=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};class GA{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new W,this._callOnModelChange=new W,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e)for(let t of this._model.references)if(t.uri.toString()===e.uri.toString())return void this._addDecorations(t.parent)}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const t=[],i=[];for(let n=0,o=e.children.length;n{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(YA,"ReferencesWidget",this._treeContainer,new BA,[this._instantiationService.createInstance(jA),this._instantiationService.createInstance(KA)],this._instantiationService.createInstance(WA),t),this._splitView.addView({onDidChange:Ie.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},tR.Distribute),this._splitView.addView({onDidChange:Ie.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},tR.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));let i=(e,t)=>{e instanceof pA&&("show"===t&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:"tree"}))};this._tree.onDidOpen((e=>{e.sideBySide?i(e.element,"side"):e.editorOptions.pinned?i(e.element,"goto"):i(e.element,"show")})),oo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Dn(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then((()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))}))}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=b(0,"No results"),no(this._messageContainer),Promise.resolve(void 0)):(oo(this._messageContainer),this._decorationsManager=new GA(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((e=>this._tree.rerender(e)))),this._disposeOnNewModel.add(this._preview.onMouseDown((e=>{const{event:t,target:i}=e;if(2!==t.detail)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),no(this._treeContainer),no(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();return e instanceof pA?e:e instanceof fA&&e.children.length>0?e.children[0]:void 0}revealReference(e){return ZA(this,void 0,void 0,(function*(){yield this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}))}_revealReference(e,t){return ZA(this,void 0,void 0,(function*(){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==tn.inMemory?this.setTitle(jy(e.uri),this._uriLabel.getUriLabel(Uy(e.uri))):this.setTitle(b(0,"References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),yield this._tree.expand(e.parent)),this._tree.reveal(e);const n=yield i;if(!this._model)return void n.dispose();A(this._previewModelReference);const o=n.object;if(o){const t=this._preview.getModel()===o.textEditorModel?0:1,i=ia.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(o.textEditorModel),this._preview.setSelection(i),this._preview.revealRangeInCenter(i,t)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}))}};XA=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([$A(3,ur),$A(4,Eo),$A(5,yo),$A(6,qT),$A(7,AA),$A(8,bx),$A(9,_N),$A(10,rc),$A(11,gc)],XA);var JA=function(e,t){return function(i,n){t(i,n,e)}},QA=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};const eO=new nr("referenceSearchVisible",!1,b(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let tO=class e{constructor(e,t,i,n,o,s,r,a){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=o,this._instantiationService=s,this._storageService=r,this._configurationService=a,this._disposables=new W,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=eO.bindTo(i)}static get(t){return t.getContribution(e.ID)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(e=this._widget)||void 0===e||e.dispose(),null===(t=this._model)||void 0===t||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const o="peekViewLayout",s=class{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch(e){}return{ratio:t||.7,heightInLines:i||18}}}.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(XA,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(b(0,"Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose((()=>{t.cancel(),this._widget&&(this._storageService.store(o,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((e=>{let{element:t,kind:n}=e;if(t)switch(n){case"open":"editor"===e.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(t,!1,!1);break;case"side":this.openReference(t,!0,!1);break;case"goto":i?this._gotoReference(t):this.openReference(t,!1,!0)}})));const r=++this._requestIdPool;t.then((t=>{var i;if(r===this._requestIdPool&&this._widget)return null===(i=this._model)||void 0===i||i.dispose(),this._model=t,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(b(0,"{0} ({1})",this._model.title,this._model.references.length));let t=this._editor.getModel().uri,i=new Do(e.startLineNumber,e.startColumn),n=this._model.nearestReference(t,i);if(n)return this._widget.setSelection(n).then((()=>{this._widget&&"editor"===this._editor.getOption(77)&&this._widget.focusOnPreviewEditor()}))}}));t.dispose()}),(e=>{this._notificationService.error(e)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}goToNextOrPreviousReference(e){return QA(this,void 0,void 0,(function*(){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),o=this._editor.hasTextFocus(),s=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(n),yield this._gotoReference(n),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}))}revealReference(e){return QA(this,void 0,void 0,(function*(){this._editor.hasModel()&&this._model&&this._widget&&(yield this._widget.revealReference(e))}))}closeWidget(e=!0){var t,i;null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t){this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;const i=ia.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:i,selectionSource:"code.jump"}},this._editor).then((t=>{var n;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(i),this._widget.focusOnReferenceTree();else{const o=e.get(t),s=this._model.clone();this.closeWidget(),t.focus(),null==o||o.toggleWidget(i,Gt((e=>Promise.resolve(s))),null!==(n=this._peekMode)&&void 0!==n&&n)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,w(e)}))}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:o}=e;this._editorService.openCodeEditor({resource:n,options:{selection:o,selectionSource:"code.jump",pinned:i}},this._editor,t)}};function iO(e,t){const i=function(e){let t=e.get(ko).getFocusedCodeEditor();return t instanceof gT?t.getParentEditor():t}(e);if(!i)return;const n=tO.get(i);n&&t(n)}tO.ID="editor.contrib.referencesController",tO=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([JA(2,or),JA(3,ko),JA(4,dk),JA(5,yo),JA(6,dI),JA(7,ec)],tO),Nr.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Et(2089,60),when:Fs.or(eO,KT.inPeekEditor),handler(e){iO(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),Nr.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Fs.or(eO,KT.inPeekEditor),handler(e){iO(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),Nr.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Fs.or(eO,KT.inPeekEditor),handler(e){iO(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),Wo.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Wo.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Wo.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Wo.registerCommand("closeReferenceSearch",(e=>iO(e,(e=>e.closeWidget())))),Nr.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Fs.and(KT.inPeekEditor,Fs.not("config.editor.stablePeek"))}),Nr.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Fs.and(eO,Fs.not("config.editor.stablePeek"))}),Nr.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Fs.and(eO,EP,RP.negate(),AP.negate()),handler(e){var t;const i=null===(t=e.get(xP).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof pA&&iO(e,(e=>e.revealReference(i[0])))}}),Nr.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Fs.and(eO,EP,RP.negate(),AP.negate()),handler(e){var t;const i=null===(t=e.get(xP).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof pA&&iO(e,(e=>e.openReference(i[0],!0,!0)))}}),Wo.registerCommand("openReference",(e=>{var t;const i=null===(t=e.get(xP).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof pA&&iO(e,(e=>e.openReference(i[0],!1,!0)))}));var nO=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},oO=function(e,t){return function(i,n){t(i,n,e)}};const sO=new nr("hasSymbols",!1,b(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),rO=xo("ISymbolNavigationService");let aO=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=sO.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),null===(e=this._currentState)||void 0===e||e.dispose(),null===(t=this._currentMessage)||void 0===t||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1)return void this.reset();this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new lO(this._editorService),n=i.onDidChange((e=>{if(this._ignoreEditorChange)return;const i=this._editorService.getActiveCodeEditor();if(!i)return;const n=i.getModel(),o=i.getPosition();if(!n||!o)return;let s=!1,r=!1;for(const e of t.references)if(zy(e.uri,n.uri))s=!0,r=r||ia.containsPosition(e.range,o);else if(s)break;s&&r||this.reset()}));this._currentState=O(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:ia.collapseToStart(t.range),selectionRevealType:3}},e).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var e;null===(e=this._currentMessage)||void 0===e||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?b(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):b(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};aO=nO([oO(0,or),oO(1,ko),oO(2,dk),oO(3,_N)],aO),cc(rO,aO,!0),Kr(new class extends Hr{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:sO,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(rO).revealNext(t)}}),Nr.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:sO,primary:9,handler(e){e.get(rO).reset()}});let lO=class{constructor(e){this._listener=new Map,this._disposables=new W,this._onDidChange=new Pe,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),A(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,O(e.onDidChangeCursorPosition((t=>this._onDidChange.fire({editor:e}))),e.onDidChangeModelContent((t=>this._onDidChange.fire({editor:e})))))}_onDidRemoveEditor(e){var t;null===(t=this._listener.get(e))||void 0===t||t.dispose(),this._listener.delete(e)}};lO=nO([oO(0,ko)],lO);var cO=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};function dO(e,t,i,n){const o=i.ordered(e).map((i=>Promise.resolve(n(i,e,t)).then(void 0,(e=>{y(e)}))));return Promise.all(o).then((e=>{const t=[];for(let i of e)Array.isArray(i)?t.push(...i):i&&t.push(i);return t}))}function hO(e,t,i,n){return dO(t,i,e,((e,t,i)=>e.provideDefinition(t,i,n)))}function uO(e,t,i,n){return dO(t,i,e,((e,t,i)=>e.provideDeclaration(t,i,n)))}function gO(e,t,i,n){return dO(t,i,e,((e,t,i)=>e.provideImplementation(t,i,n)))}function pO(e,t,i,n){return dO(t,i,e,((e,t,i)=>e.provideTypeDefinition(t,i,n)))}function mO(e,t,i,n,o){return dO(t,i,e,((e,t,i)=>cO(this,void 0,void 0,(function*(){const s=yield e.provideReferences(t,i,{includeDeclaration:!0},o);if(!n||!s||2!==s.length)return s;const r=yield e.provideReferences(t,i,{includeDeclaration:!1},o);return r&&1===r.length?r:s}))))}function fO(e){return cO(this,void 0,void 0,(function*(){const t=yield e(),i=new _A(t,""),n=i.references.map((e=>e.link));return i.dispose(),n}))}qr("_executeDefinitionProvider",((e,t,i)=>{const n=hO(e.get(Mk).definitionProvider,t,i,qt.None);return fO((()=>n))})),qr("_executeTypeDefinitionProvider",((e,t,i)=>{const n=pO(e.get(Mk).typeDefinitionProvider,t,i,qt.None);return fO((()=>n))})),qr("_executeDeclarationProvider",((e,t,i)=>{const n=uO(e.get(Mk).declarationProvider,t,i,qt.None);return fO((()=>n))})),qr("_executeReferenceProvider",((e,t,i)=>{const n=mO(e.get(Mk).referenceProvider,t,i,!1,qt.None);return fO((()=>n))})),qr("_executeImplementationProvider",((e,t,i)=>{const n=gO(e.get(Mk).implementationProvider,t,i,qt.None);return fO((()=>n))}));var _O,vO,bO,CO,wO,yO,SO,xO,kO=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};kr.appendMenuItem(Sr.EditorContext,{submenu:Sr.EditorContextPeek,title:b(0,"Peek"),group:"navigation",order:100});const DO=new Set;function LO(e){const t=new e;return Zr(t),DO.add(t.id),t}class EO{constructor(e,t){this.model=e,this.position=t}static is(e){return!(!e||"object"!=typeof e)&&(e instanceof EO||!(!Do.isIPosition(e.position)||!e.model))}}class NO extends zr{constructor(e,t){super(t),this.configuration=e}run(e,t,i){if(!t.hasModel())return Promise.resolve(void 0);const n=e.get(dk),o=e.get(ko),s=e.get(HD),r=e.get(rO),a=e.get(Mk),l=t.getModel(),c=t.getPosition(),d=EO.is(i)?i:new EO(l,c),h=new JE(t,5),u=Yt(this._getLocationModel(a,d.model,d.position,h.token),h.token).then((e=>kO(this,void 0,void 0,(function*(){var i;if(!e||h.token.isCancellationRequested)return;let n;if(vo(e.ariaMessage),e.referenceAt(l.uri,c)){const e=this._getAlternativeCommand(t);e!==this.id&&DO.has(e)&&(n=t.getAction(e))}const s=e.references.length;if(0===s){if(!this.configuration.muteMessage){const e=l.getWordAtPosition(c);null===(i=mN.get(t))||void 0===i||i.showMessage(this._getNoResultFoundMessage(e),c)}}else{if(1!==s||!n)return this._onResult(o,r,t,e);n.run()}}))),(e=>{n.error(e)})).finally((()=>{h.dispose()}));return s.showWhile(u,250),u}_onResult(e,t,i,n){return kO(this,void 0,void 0,(function*(){const o=this._getGoToPreference(i);if(i instanceof gT||!(this.configuration.openInPeek||"peek"===o&&n.references.length>1)){const s=n.firstReference(),r=n.references.length>1&&"gotoAndPeek"===o,a=yield this._openReference(i,e,s,this.configuration.openToSide,!r);r&&a?this._openInPeek(a,n):n.dispose(),"goto"===o&&t.put(s)}else this._openInPeek(i,n)}))}_openReference(e,t,i,n,o){return kO(this,void 0,void 0,(function*(){let s;var r;if((r=i)&&qi.isUri(r.uri)&&ia.isIRange(r.range)&&(ia.isIRange(r.originSelectionRange)||ia.isIRange(r.targetSelectionRange))&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const a=yield t.openCodeEditor({resource:i.uri,options:{selection:ia.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(o){const e=a.getModel(),t=a.deltaDecorations([],[{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{a.getModel()===e&&a.deltaDecorations(t,[])}),350)}return a}}))}_openInPeek(e,t){const i=tO.get(e);i&&e.hasModel()?i.toggleWidget(e.getSelection(),Gt((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}class IO extends NO{_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield hO(e.definitionProvider,t,i,n),b(0,"Definitions"))}))}_getNoResultFoundMessage(e){return e&&e.word?b(0,"No definition found for '{0}'",e.word):b(0,"No definition found")}_getAlternativeCommand(e){return e.getOption(51).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(51).multipleDefinitions}}const TO=pe&&!Je?2118:70;LO(((_O=class e extends IO{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,label:b(0,"Go to Definition"),alias:"Go to Definition",precondition:Fs.and(Rc.hasDefinitionProvider,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:TO,weight:100},contextMenuOpts:{group:"navigation",order:1.1}}),Wo.registerCommandAlias("editor.action.goToDeclaration",e.id)}}).id="editor.action.revealDefinition",_O)),LO(((vO=class e extends IO{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,label:b(0,"Open Definition to the Side"),alias:"Open Definition to the Side",precondition:Fs.and(Rc.hasDefinitionProvider,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:Et(2089,TO),weight:100}}),Wo.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}).id="editor.action.revealDefinitionAside",vO)),LO(((bO=class e extends IO{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,label:b(0,"Peek Definition"),alias:"Peek Definition",precondition:Fs.and(Rc.hasDefinitionProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:582,linux:{primary:3140},weight:100},contextMenuOpts:{menuId:Sr.EditorContextPeek,group:"peek",order:2}}),Wo.registerCommandAlias("editor.action.previewDeclaration",e.id)}}).id="editor.action.peekDefinition",bO));class MO extends NO{_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield uO(e.declarationProvider,t,i,n),b(0,"Declarations"))}))}_getNoResultFoundMessage(e){return e&&e.word?b(0,"No declaration found for '{0}'",e.word):b(0,"No declaration found")}_getAlternativeCommand(e){return e.getOption(51).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(51).multipleDeclarations}}LO(((CO=class e extends MO{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,label:b(0,"Go to Declaration"),alias:"Go to Declaration",precondition:Fs.and(Rc.hasDeclarationProvider,Rc.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{group:"navigation",order:1.3}})}_getNoResultFoundMessage(e){return e&&e.word?b(0,"No declaration found for '{0}'",e.word):b(0,"No declaration found")}}).id="editor.action.revealDeclaration",CO)),LO(class extends MO{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:b(0,"Peek Declaration"),alias:"Peek Declaration",precondition:Fs.and(Rc.hasDeclarationProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Sr.EditorContextPeek,group:"peek",order:3}})}});class RO extends NO{_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield pO(e.typeDefinitionProvider,t,i,n),b(0,"Type Definitions"))}))}_getNoResultFoundMessage(e){return e&&e.word?b(0,"No type definition found for '{0}'",e.word):b(0,"No type definition found")}_getAlternativeCommand(e){return e.getOption(51).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(51).multipleTypeDefinitions}}LO(((wO=class e extends RO{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,label:b(0,"Go to Type Definition"),alias:"Go to Type Definition",precondition:Fs.and(Rc.hasTypeDefinitionProvider,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4}})}}).ID="editor.action.goToTypeDefinition",wO)),LO(((yO=class e extends RO{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,label:b(0,"Peek Type Definition"),alias:"Peek Type Definition",precondition:Fs.and(Rc.hasTypeDefinitionProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Sr.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",yO));class PO extends NO{_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield gO(e.implementationProvider,t,i,n),b(0,"Implementations"))}))}_getNoResultFoundMessage(e){return e&&e.word?b(0,"No implementation found for '{0}'",e.word):b(0,"No implementation found")}_getAlternativeCommand(e){return e.getOption(51).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(51).multipleImplementations}}LO(((SO=class e extends PO{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,label:b(0,"Go to Implementations"),alias:"Go to Implementations",precondition:Fs.and(Rc.hasImplementationProvider,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:2118,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}}).ID="editor.action.goToImplementation",SO)),LO(((xO=class e extends PO{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,label:b(0,"Peek Implementations"),alias:"Peek Implementations",precondition:Fs.and(Rc.hasImplementationProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:3142,weight:100},contextMenuOpts:{menuId:Sr.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",xO));class AO extends NO{_getNoResultFoundMessage(e){return e?b(0,"No references found for '{0}'",e.word):b(0,"No references found")}_getAlternativeCommand(e){return e.getOption(51).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(51).multipleReferences}}LO(class extends AO{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:b(0,"Go to References"),alias:"Go to References",precondition:Fs.and(Rc.hasReferenceProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),kbOpts:{kbExpr:Rc.editorTextFocus,primary:1094,weight:100},contextMenuOpts:{group:"navigation",order:1.45}})}_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield mO(e.referenceProvider,t,i,!0,n),b(0,"References"))}))}}),LO(class extends AO{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:b(0,"Peek References"),alias:"Peek References",precondition:Fs.and(Rc.hasReferenceProvider,KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated()),contextMenuOpts:{menuId:Sr.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(yield mO(e.referenceProvider,t,i,!1,n),b(0,"References"))}))}});class OO extends NO{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",label:b(0,"Go to Any Symbol"),alias:"Go to Any Symbol",precondition:Fs.and(KT.notInPeekEditor,Rc.isInWalkThroughSnippet.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}_getLocationModel(e,t,i,n){return kO(this,void 0,void 0,(function*(){return new _A(this._references,b(0,"Locations"))}))}_getNoResultFoundMessage(e){return e&&b(0,"No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return null!==(t=this._gotoMultipleBehaviour)&&void 0!==t?t:e.getOption(51).multipleReferences}_getAlternativeCommand(){return""}}Wo.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:qi},{name:"position",description:"The position at which to start",constraint:Do.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(e,t,i,n,o,s,r)=>kO(void 0,void 0,void 0,(function*(){lt(qi.isUri(t)),lt(Do.isIPosition(i)),lt(Array.isArray(n)),lt(void 0===o||"string"==typeof o),lt(void 0===r||"boolean"==typeof r);const a=e.get(ko),l=yield a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if(tM(l))return l.setPosition(i),l.revealPositionInCenterIfOutsideViewport(i,0),l.invokeWithinContext((e=>{const t=new class extends OO{_getNoResultFoundMessage(e){return s||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(s),openInPeek:Boolean(r),openToSide:!1},n,o);e.get(yo).invokeFunction(t.run.bind(t),l)}))}))}),Wo.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:qi},{name:"position",description:"The position at which to start",constraint:Do.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(e,t,i,n,o)=>kO(void 0,void 0,void 0,(function*(){e.get(Fo).executeCommand("editor.action.goToLocations",t,i,n,o,void 0,!0)}))}),Wo.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{lt(qi.isUri(t)),lt(Do.isIPosition(i));const n=e.get(Mk),o=e.get(ko);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then((e=>{if(!tM(e)||!e.hasModel())return;const t=tO.get(e);if(!t)return;const o=Gt((t=>mO(n.referenceProvider,e.getModel(),Do.lift(i),!1,t).then((e=>new _A(e,b(0,"References")))))),s=new ia(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(s,o,!1))}))}}),Wo.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations"),kr.appendMenuItems([{id:Sr.MenubarGoMenu,item:{command:{id:"editor.action.revealDefinition",title:b(0,"Go to &&Definition")},group:"4_symbol_nav",order:2}},{id:Sr.MenubarGoMenu,item:{command:{id:"editor.action.revealDeclaration",title:b(0,"Go to &&Declaration")},group:"4_symbol_nav",order:3}},{id:Sr.MenubarGoMenu,item:{command:{id:"editor.action.goToTypeDefinition",title:b(0,"Go to &&Type Definition")},group:"4_symbol_nav",order:3}},{id:Sr.MenubarGoMenu,item:{command:{id:"editor.action.goToImplementation",title:b(0,"Go to &&Implementations")},group:"4_symbol_nav",order:4}},{id:Sr.MenubarGoMenu,item:{command:{id:"editor.action.goToReferences",title:b(0,"Go to &&References")},group:"4_symbol_nav",order:5}}]);var FO=function(e,t){return function(i,n){t(i,n,e)}};let WO=class e{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new W,this.toUnhookForKeyboard=new W,this.linkDecorations=[],this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e;let o=new cT(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,gt(t))}))),this.toUnhook.add(o.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).then((()=>{this.removeLinkDecorations()}),(e=>{this.removeLinkDecorations(),w(e)}))}))),this.toUnhook.add(o.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(e.ID)}startFindDefinitionFromCursor(e){return this.startFindDefinition(e).then((()=>{this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}))}startFindDefinitionFromMouse(e,t){if(9===e.target.type&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations();const i=e.target.position;this.startFindDefinition(i)}startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?null===(t=this.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(e):null;if(!i)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return Promise.resolve(0);this.currentWordAtPosition=i;let n=new XE(this.editor,15);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Gt((t=>this.findDefinition(e,t))),this.previousPromise.then((t=>{if(t&&t.length&&n.validate(this.editor))if(t.length>1)this.addDecoration(new ia(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),(new bE).appendText(b(0,"Click to show {0} definitions.",t.length)));else{let n=t[0];if(!n.uri)return;this.textModelResolverService.createModelReference(n.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:o}}=t,{startLineNumber:s}=n.range;if(s<1||s>o.getLineCount())return void t.dispose();const r=this.getPreviewValue(o,s,n);let a;a=n.originSelectionRange?ia.lift(n.originSelectionRange):new ia(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);const l=this.languageService.guessLanguageIdByFilepathOrFirstLine(o.uri);this.addDecoration(a,(new bE).appendCodeblock(l||"",r)),t.dispose()}))}else this.removeLinkDecorations()})).then(void 0,w)}getPreviewValue(t,i,n){let o=n.targetSelectionRange?n.range:this.getPreviewRangeBasedOnBrackets(t,i);return o.endLineNumber-o.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,o)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let o=t+1;on)return new ia(i,1,n+1,1);r=t.bracketPairs.findNextBracket(new Do(a,l))}return new ia(i,1,n+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[i])}removeLinkDecorations(){this.linkDecorations.length>0&&(this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[]))}isEnabled(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?hO(this.languageFeaturesService.definitionProvider,i,e,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext((e=>{const i=!t&&this.editor.getOption(78)&&!this.isInPeekEditor(e);return new IO({openToSide:t,openInPeek:i,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}).run(e,this.editor)}))}isInPeekEditor(e){const t=e.get(or);return KT.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose()}};WO.ID="editor.contrib.gotodefinitionatposition",WO.MAX_SOURCE_PREVIEW_LINES=8,WO=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r}([FO(1,Eo),FO(2,rc),FO(3,Mk)],WO),Gr(WO.ID,WO),br(((e,t)=>{const i=e.getColor(Ju);i&&t.addRule(`.monaco-editor .goto-definition-link { color: ${i} !important; }`)}));var BO=i(7907),VO={};VO.styleTagTransform=p(),VO.setAttributes=d(),VO.insert=l().bind(null,"head"),VO.domAPI=r(),VO.insertStyleElement=u(),o()(BO.Z,VO),BO.Z&&BO.Z.locals&&BO.Z.locals;const HO=io;class zO extends B{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new gv(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class jO extends B{constructor(e,t,i){super(),this.actionContainer=Xn(e,HO("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Xn(this.actionContainer,HO("a.action")),this.action.setAttribute("role","button"),t.iconClass&&Xn(this.action,HO(`span.icon.${t.iconClass}`)),Xn(this.action,HO("span")).textContent=i?`${t.label} (${i})`:t.label,this._register(cn(this.actionContainer,$n.CLICK,(e=>{e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer)}))),this._register(cn(this.actionContainer,$n.KEY_UP,(e=>{new Ot(e).equals(3)&&(e.stopPropagation(),e.preventDefault(),t.run(this.actionContainer))}))),this.setEnabled(!0)}static render(e,t,i){return new jO(e,t,i)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class qO{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class KO extends B{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Pe),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new ri((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new ri((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new ri((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(53).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(e){const t=new Ut,i=e(t.token);return new ui(t,(e=>$t(this,void 0,void 0,(function*(){var n,o;const s=t.token.onCancellationRequested((()=>{s.dispose(),t.dispose(),e.reject(new D)}));try{try{for(var r,a=Zt(i);!(r=yield a.next()).done;){const i=r.value;if(t.token.isCancellationRequested)return;e.emitOne(i)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=a.return)&&(yield o.call(a))}finally{if(n)throw n.error}}s.dispose(),t.dispose()}catch(i){s.dispose(),t.dispose(),e.reject(i)}}))))}((e=>this._computer.computeAsync(e))),(()=>{!function(e,t,i,n){new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){var e,t;try{try{for(var i,n=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,o){!function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)}(n,o,(t=e[i](t)).done,t.value)}))}}}(this._asyncIterable);!(i=yield n.next()).done;){const e=i.value;e&&(this._result.push(e),this._fireResult())}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&(yield t.call(n))}finally{if(e)throw e.error}}this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){w(e)}}))})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const e=0===this._state,t=4===this._state;this._onResult.fire(new qO(this._result.slice(0),e,t))}start(e){if(0===e)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class UO{constructor(e,t){this.priority=e,this.range=t,this.type=1}equals(e){return 1===e.type&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return 1===e.type&&t.lineNumber===this.range.startLineNumber}}class $O{constructor(e,t,i){this.priority=e,this.owner=t,this.range=i,this.type=2}equals(e){return 2===e.type&&this.owner===e.owner}canAdoptVisibleHover(e,t){return 2===e.type&&this.owner===e.owner}}const ZO=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class GO{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let e,t=this.pos,i=0,n=this.value.charCodeAt(t);if(e=GO._table[n],"number"==typeof e)return this.pos+=1,{type:e,pos:t,len:1};if(GO.isDigitCharacter(n)){e=8;do{i+=1,n=this.value.charCodeAt(t+i)}while(GO.isDigitCharacter(n));return this.pos+=i,{type:e,pos:t,len:i}}if(GO.isVariableCharacter(n)){e=9;do{n=this.value.charCodeAt(t+ ++i)}while(GO.isVariableCharacter(n)||GO.isDigitCharacter(n));return this.pos+=i,{type:e,pos:t,len:i}}e=10;do{i+=1,n=this.value.charCodeAt(t+i)}while(!isNaN(n)&&void 0===GO._table[n]&&!GO.isDigitCharacter(n)&&!GO.isVariableCharacter(n));return this.pos+=i,{type:e,pos:t,len:i}}}GO._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class YO{constructor(){this._children=[]}appendChild(e){return e instanceof XO&&this._children[this._children.length-1]instanceof XO?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),o=i.children.slice(0);o.splice(n,1,...t),i._children=o,function e(t,i){for(const n of t)n.parent=i,e(n.children,n)}(t,i)}get children(){return this._children}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof sF)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class XO extends YO{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new XO(this.value)}}class JO extends YO{}class QO extends JO{constructor(e){super(),this.index=e}static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof eF?this._children[0]:void 0}clone(){let e=new QO(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class eF extends YO{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof XO&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let e=new eF;return this.options.forEach(e.appendChild,e),e}}class tF extends YO{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,(function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!i&&this._children.some((e=>e instanceof iF&&Boolean(e.elseValue)))&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof iF){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){let e=new tF;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((e=>e.clone())),e}}class iF extends YO{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":"pascalcase"===this.shorthandName?e?this._toPascalCase(e):"":"camelcase"===this.shorthandName?e?this._toCamelCase(e):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.toLowerCase():e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())).join(""):e}clone(){return new iF(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class nF extends JO{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new XO(t)],!0)}clone(){const e=new nF(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function oF(e,t){const i=[...e];for(;i.length>0;){const e=i.shift();if(!t(e))break;i.unshift(...e.children)}}class sF extends YO{get placeholderInfo(){if(!this._placeholders){let e,t=[];this.walk((function(i){return i instanceof QO&&(t.push(i),e=!e||e.indexn===e?(i=!0,!1):(t+=n.len(),!0))),i?t:-1}fullLen(e){let t=0;return oF([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){let t=[],{parent:i}=e;for(;i;)i instanceof QO&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof nF&&t.resolve(e)&&(this._placeholders=void 0),!0))),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let e=new sF;return this._children=this.children.map((e=>e.clone())),e}walk(e){oF(this.children,e)}}class rF{constructor(){this._scanner=new GO,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){this._scanner.text(e),this._token=this._scanner.next();const n=new sF;for(;this._parse(n););const o=new Map,s=[];let r=0;n.walk((e=>(e instanceof QO&&(r+=1,e.isFinalTabstop?o.set(0,void 0):!o.has(e.index)&&e.children.length>0?o.set(e.index,e.children):s.push(e)),!0)));for(const e of s){const t=o.get(e.index);if(t){const i=new QO(e.index);i.transform=e.transform;for(const e of t)i.appendChild(e.clone());n.replace(e,[i])}}return i||(i=r>0&&t),!o.has(0)&&i&&n.appendChild(new QO(0)),n}_accept(e,t){if(void 0===e||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(14===this._token.type)return!1;if(5===this._token.type){const e=this._scanner.next();if(0!==e.type&&4!==e.type&&5!==e.type)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new XO(t)),!0)}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new QO(Number(t)):new nF(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const n=new QO(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new XO("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else{if(!(n.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);{const t=new eF;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(t),this._accept(4)))return e.appendChild(n),!0}return this._backTo(i),!1}}}}_parseChoiceElement(e){const t=this._token,i=[];for(;2!==this._token.type&&7!==this._token.type;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;i.push(e)}return 0===i.length?(this._backTo(t),!1):(e.appendChild(new XO(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const n=new nF(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(i);for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new XO("${"+t+":")),n.children.forEach(e.appendChild,e),!0}}_parseTransform(e){let t=new tF,i="",n="";for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,i+=e;else{if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new XO(e));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{t.regexp=new RegExp(i,n)}catch(e){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);let n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!i)return e.appendChild(new iF(Number(n))),!0;if(this._accept(4))return e.appendChild(new iF(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){let i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new iF(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new iF(Number(n),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new iF(Number(n),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let i=this._until(4);if(i)return e.appendChild(new iF(Number(n),void 0,t,i)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new iF(Number(n),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new XO(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}var aF=i(4163),lF={};lF.styleTagTransform=p(),lF.setAttributes=d(),lF.insert=l().bind(null,"head"),lF.domAPI=r(),lF.insertStyleElement=u(),o()(aF.Z,lF),aF.Z&&aF.Z.locals&&aF.Z.locals;const cF={inputActiveOptionBorder:vh.fromHex("#007ACC00"),inputActiveOptionForeground:vh.fromHex("#FFFFFF"),inputActiveOptionBackground:vh.fromHex("#0E639C50")};class dF extends Z_{constructor(e){super(),this._onChange=this._register(new Pe),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Pe),this.onKeyDown=this._onKeyDown.event,this._opts=Object.assign(Object.assign({},cF),e),this._checked=this._opts.isChecked;const t=["monaco-custom-checkbox"];this._opts.icon&&t.push(...No.asClassNameArray(this._opts.icon)),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(e=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),e.preventDefault())})),this.ignoreGesture(this.domNode),this.onkeydown(this.domNode,(e=>{if(10===e.keyCode||3===e.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),void e.preventDefault();this._onKeyDown.fire(e)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}style(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),e.inputActiveOptionForeground&&(this._opts.inputActiveOptionForeground=e.inputActiveOptionForeground),e.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=e.inputActiveOptionBackground),this.applyStyles()}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground?this._opts.inputActiveOptionForeground.toString():"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const hF=b(0,"Match Case"),uF=b(0,"Match Whole Word"),gF=b(0,"Use Regular Expression");class pF extends dF{constructor(e){super({icon:Oo.caseSensitive,title:hF+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class mF extends dF{constructor(e){super({icon:Oo.wholeWord,title:uF+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class fF extends dF{constructor(e){super({icon:Oo.regex,title:gF+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}function _F(e,t={}){const i=vF(t);return CF(i,function(e,t){const i={type:1,children:[]};let n=0,o=i;const s=[],r=new bF(e);for(;!r.eos();){let e=r.next();const i="\\"===e&&0!==wF(r.peek(),t);if(i&&(e=r.next()),i||0===wF(e,t)||e!==r.peek())if("\n"===e)2===o.type&&(o=s.pop()),o.children.push({type:8});else if(2!==o.type){const t={type:2,content:e};o.children.push(t),s.push(o),o=t}else o.content+=e;else{r.advance(),2===o.type&&(o=s.pop());const i=wF(e,t);if(o.type===i||5===o.type&&6===i)o=s.pop();else{const e={type:i,children:[]};5===i&&(e.index=n,n++),o.children.push(e),s.push(o),o=e}}}return 2===o.type&&(o=s.pop()),s.length,i}(e,!!t.renderCodeSegments),t.actionHandler,t.renderCodeSegments),i}function vF(e){const t=e.inline?"span":"div",i=document.createElement(t);return e.className&&(i.className=e.className),i}class bF{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function CF(e,t,i,n){let o;if(2===t.type)o=document.createTextNode(t.content||"");else if(3===t.type)o=document.createElement("b");else if(4===t.type)o=document.createElement("i");else if(7===t.type&&n)o=document.createElement("code");else if(5===t.type&&i){const e=document.createElement("a");i.disposables.add(hn(e,"click",(e=>{i.callback(String(t.index),e)}))),o=e}else 8===t.type?o=document.createElement("br"):1===t.type&&(o=e);o&&e!==o&&e.appendChild(o),o&&Array.isArray(t.children)&&t.children.forEach((e=>{CF(o,e,i,n)}))}function wF(e,t){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return t?7:0;default:return 0}}class yF{constructor(e,t=0,i=e.length,n=t-1){this.items=e,this.start=t,this.end=i,this.index=n}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class SF{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._currentPosition()!==this._elements.length-1?this._navigator.next():null}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new yF(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach((t=>e.push(t))),e}}var xF=i(6004),kF={};kF.styleTagTransform=p(),kF.setAttributes=d(),kF.insert=l().bind(null,"head"),kF.domAPI=r(),kF.insertStyleElement=u(),o()(xF.Z,kF),xF.Z&&xF.Z.locals&&xF.Z.locals;const DF=io,LF={inputBackground:vh.fromHex("#3C3C3C"),inputForeground:vh.fromHex("#CCCCCC"),inputValidationInfoBorder:vh.fromHex("#55AAFF"),inputValidationInfoBackground:vh.fromHex("#063B49"),inputValidationWarningBorder:vh.fromHex("#B89500"),inputValidationWarningBackground:vh.fromHex("#352A05"),inputValidationErrorBorder:vh.fromHex("#BE1100"),inputValidationErrorBackground:vh.fromHex("#5A1D1D")};class EF extends Z_{constructor(e,t,i){var n;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Pe),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Pe),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i||Object.create(null),td(this.options,LF,!1),this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(n=this.options.tooltip)&&void 0!==n?n:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.inputBackground=this.options.inputBackground,this.inputForeground=this.options.inputForeground,this.inputBorder=this.options.inputBorder,this.inputValidationInfoBorder=this.options.inputValidationInfoBorder,this.inputValidationInfoBackground=this.options.inputValidationInfoBackground,this.inputValidationInfoForeground=this.options.inputValidationInfoForeground,this.inputValidationWarningBorder=this.options.inputValidationWarningBorder,this.inputValidationWarningBackground=this.options.inputValidationWarningBackground,this.inputValidationWarningForeground=this.options.inputValidationWarningForeground,this.inputValidationErrorBorder=this.options.inputValidationErrorBorder,this.inputValidationErrorBackground=this.options.inputValidationErrorBackground,this.inputValidationErrorForeground=this.options.inputValidationErrorForeground,this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Xn(e,DF(".monaco-inputbox.idle"));let o=this.options.flexibleHeight?"textarea":"input",s=Xn(this.element,DF(".ibwrapper"));if(this.input=Xn(s,DF(o+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Xn(s,DF("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new hv(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Xn(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const t=this._register(new Zk(document,"selectionchange")),i=Ie.filter(t.event,(()=>{const e=document.getSelection();return(null==e?void 0:e.anchorNode)===s}));this._register(i(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this.ignoreGesture(this.input),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new vD(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.input.title=e}setAriaLabel(e){this.ariaLabel=e,e?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}getAriaLabel(){return this.ariaLabel}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:Rn(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}get width(){return In(this.input)}set width(e){if(this.options.flexibleHeight&&this.options.flexibleWidth){let t=0;this.mirror&&(t=(parseFloat(this.mirror.style.paddingLeft||"")||0)+(parseFloat(this.mirror.style.paddingRight||"")||0)),this.input.style.width=e-t+"px"}else this.input.style.width=e+"px";this.mirror&&(this.mirror.style.width=e+"px")}set paddingRight(e){this.input.style.width=`calc(100% - ${e}px)`,this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border=i.border?`1px solid ${i.border}`:"",(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==e?void 0:e.type}stylesForType(e){switch(e){case 1:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground,foreground:this.inputValidationInfoForeground};case 2:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground,foreground:this.inputValidationWarningForeground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground,foreground:this.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e,t,i=()=>e.style.width=In(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:t=>{if(!this.message)return null;e=Xn(t,DF(".monaco-inputbox-container")),i();const n={inline:!0,className:"monaco-inputbox-message"},o=this.message.formatContent?_F(this.message.content,n):function(e,t={}){const i=vF(t);return i.textContent=e,i}(this.message.content,n);o.classList.add(this.classForType(this.message.type));const s=this.stylesForType(this.message.type);return o.style.backgroundColor=s.background?s.background.toString():"",o.style.color=s.foreground?s.foreground.toString():"",o.style.border=s.border?`1px solid ${s.border}`:"",Xn(e,o),null},onHide:()=>{this.state="closed"},layout:i}),t=3===this.message.type?b(0,"Error: {0}",this.message.content):2===this.message.type?b(0,"Warning: {0}",this.message.content):b(0,"Info: {0}",this.message.content),vo(t),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,t=10===e.charCodeAt(e.length-1)?" ":"";(e+t).replace(/\u000c/g,"")?this.mirror.textContent=e+t:this.mirror.innerText=" ",this.layout()}style(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){const e=this.inputBackground?this.inputBackground.toString():"",t=this.inputForeground?this.inputForeground.toString():"",i=this.inputBorder?this.inputBorder.toString():"";this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor="inherit",this.input.style.color=t,this.element.style.borderWidth=i?"1px":"",this.element.style.borderStyle=i?"solid":"",this.element.style.borderColor=i}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=Rn(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,n=t.selectionEnd,o=t.value;null!==i&&null!==n&&(this.value=o.substr(0,i)+e+o.substr(n),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar&&this.actionbar.dispose(),super.dispose()}}class NF extends EF{constructor(e,t,i){const n=b(0,"for history"),o=` or ⇅ ${n}`,s=` (⇅ ${n})`;super(e,t,i),this.history=new SF(i.history,100);const r=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(o)&&!this.placeholder.endsWith(s)&&this.history.getHistory().length){const e=this.placeholder.endsWith(")")?o:s,t=this.placeholder+e;i.showPlaceholderOnFocus&&document.activeElement!==this.input?this.placeholder=t:this.setPlaceHolder(t)}};this.observer=new MutationObserver(((e,t)=>{e.forEach((e=>{e.target.textContent||r()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>r())),this.onblur(this.input,(()=>{const e=e=>{if(this.placeholder.endsWith(e)){const t=this.placeholder.slice(0,this.placeholder.length-e.length);return i.showPlaceholderOnFocus?this.placeholder=t:this.setPlaceHolder(t),!0}return!1};e(s)||e(o)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),e&&(this.value=e,bo(this.value))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,bo(this.value))}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()||this.history.last()}}var IF=i(2529),TF={};TF.styleTagTransform=p(),TF.setAttributes=d(),TF.insert=l().bind(null,"head"),TF.domAPI=r(),TF.insertStyleElement=u(),o()(IF.Z,TF),IF.Z&&IF.Z.locals&&IF.Z.locals;const MF=b(0,"input");class RF extends Z_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this._onDidOptionChange=this._register(new Pe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Pe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Pe),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Pe),this._onKeyUp=this._register(new Pe),this._onCaseSensitiveKeyDown=this._register(new Pe),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Pe),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||MF,this.inputActiveOptionBorder=n.inputActiveOptionBorder,this.inputActiveOptionForeground=n.inputActiveOptionForeground,this.inputActiveOptionBackground=n.inputActiveOptionBackground,this.inputBackground=n.inputBackground,this.inputForeground=n.inputForeground,this.inputBorder=n.inputBorder,this.inputValidationInfoBorder=n.inputValidationInfoBorder,this.inputValidationInfoBackground=n.inputValidationInfoBackground,this.inputValidationInfoForeground=n.inputValidationInfoForeground,this.inputValidationWarningBorder=n.inputValidationWarningBorder,this.inputValidationWarningBackground=n.inputValidationWarningBackground,this.inputValidationWarningForeground=n.inputValidationWarningForeground,this.inputValidationErrorBorder=n.inputValidationErrorBorder,this.inputValidationErrorBackground=n.inputValidationErrorBackground,this.inputValidationErrorForeground=n.inputValidationErrorForeground;const o=n.appendCaseSensitiveLabel||"",s=n.appendWholeWordsLabel||"",r=n.appendRegexLabel||"",a=n.history||[],l=!!n.flexibleHeight,c=!!n.flexibleWidth,d=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new NF(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:a,showHistoryHint:n.showHistoryHint,flexibleHeight:l,flexibleWidth:c,flexibleMaxHeight:d})),this.regex=this._register(new fF({appendTitle:r,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.regex.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new mF({appendTitle:s,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.wholeWords.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new pF({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.caseSensitive.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)}))),this._showOptionButtons&&(this.inputBox.paddingRight=this.caseSensitive.width()+this.wholeWords.width()+this.regex.width());let h=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){let t=h.indexOf(document.activeElement);if(t>=0){let i=-1;e.equals(17)?i=(t+1)%h.length:e.equals(15)&&(i=0===t?h.length-1:t-1),e.equals(9)?(h[t].blur(),this.inputBox.focus()):i>=0&&h[i].focus(),Zn(e,!0)}}})),this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this._showOptionButtons?"block":"none",this.controls.appendChild(this.caseSensitive.domNode),this.controls.appendChild(this.wholeWords.domNode),this.controls.appendChild(this.regex.domNode),this.domNode.appendChild(this.controls),e&&e.appendChild(this.domNode),this._register(cn(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=!0}))),this._register(cn(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}style(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionForeground=e.inputActiveOptionForeground,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);const t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive.checked}setCaseSensitive(e){this.caseSensitive.checked=e}getWholeWords(){return this.wholeWords.checked}setWholeWords(e){this.wholeWords.checked=e}getRegex(){return this.regex.checked}setRegex(e){this.regex.checked=e,this.validate()}focusOnCaseSensitive(){this.caseSensitive.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}clearMessage(){this.inputBox.hideMessage()}}const PF=b(0,"input"),AF=b(0,"Preserve Case");class OF extends dF{constructor(e){super({icon:Oo.preserveCase,title:AF+e.appendTitle,isChecked:e.isChecked,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class FF extends Z_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Pe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Pe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Pe),this._onInput=this._register(new Pe),this._onKeyUp=this._register(new Pe),this._onPreserveCaseKeyDown=this._register(new Pe),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||PF,this.inputActiveOptionBorder=n.inputActiveOptionBorder,this.inputActiveOptionForeground=n.inputActiveOptionForeground,this.inputActiveOptionBackground=n.inputActiveOptionBackground,this.inputBackground=n.inputBackground,this.inputForeground=n.inputForeground,this.inputBorder=n.inputBorder,this.inputValidationInfoBorder=n.inputValidationInfoBorder,this.inputValidationInfoBackground=n.inputValidationInfoBackground,this.inputValidationInfoForeground=n.inputValidationInfoForeground,this.inputValidationWarningBorder=n.inputValidationWarningBorder,this.inputValidationWarningBackground=n.inputValidationWarningBackground,this.inputValidationWarningForeground=n.inputValidationWarningForeground,this.inputValidationErrorBorder=n.inputValidationErrorBorder,this.inputValidationErrorBackground=n.inputValidationErrorBackground,this.inputValidationErrorForeground=n.inputValidationErrorForeground;const o=n.appendPreserveCaseLabel||"",s=n.history||[],r=!!n.flexibleHeight,a=!!n.flexibleWidth,l=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new NF(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:s,showHistoryHint:n.showHistoryHint,flexibleHeight:r,flexibleWidth:a,flexibleMaxHeight:l})),this.preserveCase=this._register(new OF({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground})),this._register(this.preserveCase.onChange((e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)}))),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;let c=[this.preserveCase.domNode];this.onkeydown(this.domNode,(e=>{if(e.equals(15)||e.equals(17)||e.equals(9)){let t=c.indexOf(document.activeElement);if(t>=0){let i=-1;e.equals(17)?i=(t+1)%c.length:e.equals(15)&&(i=0===t?c.length-1:t-1),e.equals(9)?(c[t].blur(),this.inputBox.focus()):i>=0&&c[i].focus(),Zn(e,!0)}}}));let d=document.createElement("div");d.className="controls",d.style.display=this._showOptionButtons?"block":"none",d.appendChild(this.preserveCase.domNode),this.domNode.appendChild(d),e&&e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e))),this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e))),this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}style(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionForeground=e.inputActiveOptionForeground,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()}applyStyles(){if(this.domNode){const e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionForeground:this.inputActiveOptionForeground,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(e);const t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox&&this.inputBox.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var WF=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},BF=function(e,t){return function(i,n){t(i,n,e)}};const VF=new nr("suggestWidgetVisible",!1,b(0,"Whether suggestion are visible")),HF="historyNavigationWidget",zF="historyNavigationForwardsEnabled",jF="historyNavigationBackwardsEnabled";function qF(e,t){return e.getContext(document.activeElement).getValue(t)}function KF(e,t){const i=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,i){new nr("historyNavigationWidget",t).bindTo(e)}(i,t),{scopedContextKeyService:i,historyNavigationForwardsEnablement:new nr(zF,!0).bindTo(i),historyNavigationBackwardsEnablement:new nr(jF,!0).bindTo(i)}}let UF=class extends RF{constructor(e,t,i,n,o=!1){super(e,t,o,i),this._register(KF(n,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};UF=WF([BF(3,or)],UF);let $F=class extends FF{constructor(e,t,i,n,o=!1){super(e,t,o,i),this._register(KF(n,{target:this.inputBox.element,historyNavigator:this.inputBox}).scopedContextKeyService)}};$F=WF([BF(3,or)],$F),Nr.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Fs.and(Fs.has(HF),Fs.equals(jF,!0),VF.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{const t=qF(e.get(or),HF);t&&t.historyNavigator.showPreviousValue()}}),Nr.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Fs.and(Fs.has(HF),Fs.equals(zF,!0),VF.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{const t=qF(e.get(or),HF);t&&t.historyNavigator.showNextValue()}});var ZF=function(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))};const GF={Visible:VF,DetailsVisible:new nr("suggestWidgetDetailsVisible",!1,b(0,"Whether suggestion details are visible")),MultipleSuggestions:new nr("suggestWidgetMultipleSuggestions",!1,b(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new nr("suggestionMakesTextEdit",!0,b(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new nr("acceptSuggestionOnEnter",!0,b(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new nr("suggestionHasInsertAndReplaceRange",!1,b(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new nr("suggestionInsertMode",void 0,{type:"string",description:b(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new nr("suggestionCanResolve",!1,b(0,"Whether the current suggestion supports to resolve further details"))},YF=new Sr("suggestWidgetStatusBar");class XF{constructor(e,t,i,n){this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=sE.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:t.label.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),ia.isIRange(t.range)?(this.editStart=new Do(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Do(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Do(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||ia.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Do(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Do(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Do(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||ia.spansMultipleLines(t.range.insert)||ia.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),"function"!=typeof n.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._isResolved=!0)}get isResolved(){return!!this._isResolved}resolve(e){return ZF(this,void 0,void 0,(function*(){if(!this._resolveCache){const t=e.onCancellationRequested((()=>{this._resolveCache=void 0,this._isResolved=!1}));this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then((e=>{Object.assign(this.completion,e),this._isResolved=!0,t.dispose()}),(e=>{k(e)&&(this._resolveCache=void 0,this._isResolved=!1)}))}return this._resolveCache}))}}class JF{constructor(e=2,t=new Set,i=new Set,n=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.showDeprecated=n}}JF.default=new JF;class QF{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}function eW(e,t,i,n=JF.default,o={triggerKind:0},s=qt.None){return ZF(this,void 0,void 0,(function*(){const r=new Ne(!0);i=i.clone();const a=t.getWordAtPosition(i),l=a?new ia(i.lineNumber,a.startColumn,i.lineNumber,a.endColumn):ia.fromPositions(i),c={replace:l,insert:l.setEndPosition(i.lineNumber,i.column)},d=[],h=new W,u=[];let g=!1;const p=(e,t,o)=>{var s,r,a;let l=!1;if(!t)return l;for(let o of t.suggestions)if(!n.kindFilter.has(o.kind)){if(!n.showDeprecated&&(null===(s=null==o?void 0:o.tags)||void 0===s?void 0:s.includes(1)))continue;o.range||(o.range=c),o.sortText||(o.sortText="string"==typeof o.label?o.label:o.label.label),!g&&o.insertTextRules&&4&o.insertTextRules&&(g=rF.guessNeedsClipboard(o.insertText)),d.push(new XF(i,o,t,e)),l=!0}return P(t)&&h.add(t),u.push({providerName:null!==(r=e._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(a=t.duration)&&void 0!==a?a:-1,elapsedOverall:o.elapsed()}),l},m=(()=>ZF(this,void 0,void 0,(function*(){})))();for(let r of e.orderedGroups(t)){let e=!1;if(yield Promise.all(r.map((r=>ZF(this,void 0,void 0,(function*(){if(!(n.providerFilter.size>0)||n.providerFilter.has(r))try{const n=new Ne(!0),a=yield r.provideCompletionItems(t,i,o,s);e=p(r,a,n)||e}catch(e){y(e)}}))))),e||s.isCancellationRequested)break}return yield m,s.isCancellationRequested?(h.dispose(),Promise.reject(L())):new QF(d.sort(nW(n.snippetSortOrder)),g,{entries:u,elapsed:r.elapsed()},h)}))}function tW(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.completion.labelt.completion.label?1:e.completion.kind-t.completion.kind}const iW=new Map;function nW(e){return iW.get(e)}let oW;iW.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return tW(e,t)})),iW.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return tW(e,t)})),iW.set(1,tW),Wo.registerCommand("_executeCompletionItemProvider",((e,...t)=>ZF(void 0,void 0,void 0,(function*(){const[i,n,o,s]=t;lt(qi.isUri(i)),lt(Do.isIPosition(n)),lt("string"==typeof o||!o),lt("number"==typeof s||!s);const{completionProvider:r}=e.get(Mk),a=yield e.get(Eo).createModelReference(i);try{const e={incomplete:!1,suggestions:[]},t=[],i=yield eW(r,a.object.textEditorModel,Do.lift(n),void 0,{triggerCharacter:o,triggerKind:o?1:0});for(const n of i.items)t.length<(null!=s?s:0)&&t.push(n.resolve(qt.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return yield Promise.all(t),e}finally{setTimeout((()=>i.disposable.dispose()),100)}}finally{a.dispose()}}))));let sW=[];function rW(e,t,i){const{completionProvider:n}=e.get(Mk);oW||(oW=new class{provideCompletionItems(){let e={suggestions:sW.slice(0)};return sW.length=0,e}},n.register("*",oW)),setTimeout((()=>{var e;sW.push(...i),null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(oW))}),0)}var aW=function(e,t,i,n){var o,s=arguments.length,r=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(s<3?o(r):s>3?o(t,i,r):o(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r},lW=function(e,t){return function(i,n){t(i,n,e)}};const cW=io;let dW=class e extends B{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._widget=this._register(this._instantiationService.createInstance(gW,this._editor)),this._decorationsChangerListener=this._register(new hW(this._editor)),this._messages=[],this._messagesAreComplete=!1,this._participants=[];for(const e of ZO.getAll())this._participants.push(this._instantiationService.createInstance(e,this._editor));this._participants.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._computer=new mW(this._editor,this._participants),this._hoverOperation=this._register(new KO(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value,e.isComplete,e.hasLoadingMessage)}))),this._register(this._decorationsChangerListener.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(hn(this._widget.getDomNode(),"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(y_.onDidChange((()=>{this._widget.position&&this._computer.anchor&&this._messages.length>0&&(this._widget.clear(),this._renderMessages(this._computer.anchor,this._messages))})))}_onModelDecorationsChanged(){this._widget.position&&(this._hoverOperation.cancel(),this._widget.isColorPickerVisible||this._hoverOperation.start(0))}maybeShowAt(e){const t=[];for(const i of this._participants)if(i.suggestHoverAnchor){const n=i.suggestHoverAnchor(e);n&&t.push(n)}const i=e.target;if(6===i.type&&t.push(new UO(0,i.range)),7===i.type){const e=this._editor.getOption(44).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&"number"==typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToTextt.priority-e.priority)),this._startShowingAt(t[0],0,!1),!0)}startShowingAtRange(e,t,i){this._startShowingAt(new UO(0,e),t,i)}_startShowingAt(e,t,i){if(!this._computer.anchor||!this._computer.anchor.equals(e)){if(this._hoverOperation.cancel(),this._widget.position)if(this._computer.anchor&&e.canAdoptVisibleHover(this._computer.anchor,this._widget.position)){const t=this._messages.filter((t=>t.isValidForHoverAnchor(e)));if(0===t.length)this.hide();else{if(t.length===this._messages.length&&this._messagesAreComplete)return;this._renderMessages(e,t)}}else this.hide();this._computer.anchor=e,this._computer.shouldFocus=i,this._hoverOperation.start(t)}}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._widget.hide()}isColorPickerVisible(){return this._widget.isColorPickerVisible}_addLoadingMessage(e){if(this._computer.anchor)for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e,t,i){this._messages=i?this._addLoadingMessage(e):e,this._messagesAreComplete=t,this._computer.anchor&&this._messages.length>0?this._renderMessages(this._computer.anchor,this._messages):t&&this.hide()}_renderMessages(t,i){let n=1073741824,o=i[0].range,s=null;for(const e of i)n=Math.min(n,e.range.startColumn),o=ia.plusRange(o,e.range),e.forceShowAtRange&&(s=e.range);const r=new W,a=r.add(new pW(this._keybindingService)),l=document.createDocumentFragment();let c=null;const d={fragment:l,statusBar:a,setColorPicker:e=>c=e,onContentsChanged:()=>this._widget.onContentsChanged(),hide:()=>this.hide()};for(const e of this._participants){const t=i.filter((t=>t.owner===e));t.length>0&&r.add(e.renderHoverParts(d,t))}if(a.hasContent&&l.appendChild(a.hoverElement),l.hasChildNodes()){if(o){const t=this._decorationsChangerListener.deltaDecorations([],[{range:o,options:e._DECORATION_OPTIONS}]);r.add(F((()=>{this._decorationsChangerListener.deltaDecorations(t,[])})))}this._widget.showAt(l,new uW(c,s?s.getStartPosition():new Do(t.range.startLineNumber,n),s||o,this._editor.getOption(53).above,this._computer.shouldFocus,r))}else r.dispose()}};dW._DECORATION_OPTIONS=Fx.register({description:"content-hover-highlight",className:"hoverHighlight"}),dW=aW([lW(1,yo),lW(2,_N)],dW);class hW extends B{constructor(e){super(),this._editor=e,this._onDidChangeModelDecorations=this._register(new Pe),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._isChangingDecorations=!1,this._register(this._editor.onDidChangeModelDecorations((e=>{this._isChangingDecorations||this._onDidChangeModelDecorations.fire(e)})))}deltaDecorations(e,t){try{return this._isChangingDecorations=!0,this._editor.deltaDecorations(e,t)}finally{this._isChangingDecorations=!1}}}class uW{constructor(e,t,i,n,o,s){this.colorPicker=e,this.showAtPosition=t,this.showAtRange=i,this.preferAbove=n,this.stoleFocus=o,this.disposables=s}}let gW=class e extends B{constructor(e,t){super(),this._editor=e,this._contextKeyService=t,this.allowEditorOverflow=!0,this._hoverVisibleKey=Rc.hoverVisible.bindTo(this._contextKeyService),this._hover=this._register(new zO),this._visibleData=null,this._register(this._editor.onDidLayoutChange((()=>this._layout()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(44)&&this._updateFont()}))),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this)}get position(){var e,t;return null!==(t=null===(e=this._visibleData)||void 0===e?void 0:e.showAtPosition)&&void 0!==t?t:null}get isColorPickerVisible(){var e;return Boolean(null===(e=this._visibleData)||void 0===e?void 0:e.colorPicker)}dispose(){this._editor.removeContentWidget(this),this._visibleData&&this._visibleData.disposables.dispose(),super.dispose()}getId(){return e.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){if(!this._visibleData)return null;let e=this._visibleData.preferAbove;return!e&&this._contextKeyService.getContextKeyValue(GF.Visible.key)&&(e=!0),{position:this._visibleData.showAtPosition,range:this._visibleData.showAtRange,preference:e?[1,2]:[2,1]}}_setVisibleData(e){this._visibleData&&this._visibleData.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!this._visibleData),this._hover.containerDomNode.classList.toggle("hidden",!this._visibleData)}_layout(){const e=Math.max(this._editor.getLayoutInfo().height/4,250),{fontSize:t,lineHeight:i}=this._editor.getOption(44);this._hover.contentsDomNode.style.fontSize=`${t}px`,this._hover.contentsDomNode.style.lineHeight=""+i/t,this._hover.contentsDomNode.style.maxHeight=`${e}px`,this._hover.contentsDomNode.style.maxWidth=`${Math.max(.66*this._editor.getLayoutInfo().width,500)}px`}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}showAt(e,t){this._setVisibleData(t),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this._editor.layoutContentWidget(this),this.onContentsChanged(),this._editor.render(),this._editor.layoutContentWidget(this),this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),t.colorPicker&&t.colorPicker.layout()}hide(){if(this._visibleData){const e=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),e&&this._editor.focus()}}onContentsChanged(){this._hover.onContentsChanged();const e=this._hover.scrollbar.getScrollDimensions();if(e.scrollWidth>e.width){const e=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingBottom!==e&&(this._hover.contentsDomNode.style.paddingBottom=e,this._editor.layoutContentWidget(this),this._hover.onContentsChanged())}}clear(){this._hover.contentsDomNode.textContent=""}};gW.ID="editor.contrib.contentHoverWidget",gW=aW([lW(1,or)],gW);let pW=class extends B{constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=cW("div.hover-row.status-bar"),this.actionsElement=Xn(this.hoverElement,cW("div.actions"))}get hasContent(){return this._hasContent}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(jO.render(this.actionsElement,e,i))}append(e){const t=Xn(this.actionsElement,e);return this._hasContent=!0,t}};pW=aW([lW(0,_N)],pW);class mW{constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1}get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}static _getLineDecorations(e,t){if(1!==t.type)return[];const i=e.getModel(),n=t.range.startLineNumber,o=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter((e=>{if(e.options.isWholeLine)return!0;const i=e.range.startLineNumber===n?e.range.startColumn:1,s=e.range.endLineNumber===n?e.range.endColumn:o;if(e.options.showIfCollapsed){if(i>t.range.startColumn+1||t.range.endColumn-1>s)return!1}else if(i>t.range.startColumn||t.range.endColumn>s)return!1;return!0}))}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return hi.EMPTY;const i=mW._getLineDecorations(this._editor,t);return hi.merge(this._participants.map((n=>n.computeAsync?n.computeAsync(t,i,e):hi.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=mW._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return ol(t)}}var fW=Object.hasOwnProperty,_W=Object.setPrototypeOf,vW=Object.isFrozen,bW=Object.getPrototypeOf,CW=Object.getOwnPropertyDescriptor,wW=Object.freeze,yW=Object.seal,SW=Object.create,xW="undefined"!=typeof Reflect&&Reflect,kW=xW.apply,DW=xW.construct;kW||(kW=function(e,t,i){return e.apply(t,i)}),wW||(wW=function(e){return e}),yW||(yW=function(e){return e}),DW||(DW=function(e,t){return new(Function.prototype.bind.apply(e,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t1?i-1:0),o=1;o/gm),tB=yW(/^data-[\-\w.\u00B7-\uFFFF]/),iB=yW(/^aria-[\-\w]+$/),nB=yW(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),oB=yW(/^(?:\w+script|data):/i),sB=yW(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),rB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function aB(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:lB(),i=function(t){return e(t)};if(i.version="2.3.1",i.removed=[],!t||!t.document||9!==t.document.nodeType)return i.isSupported=!1,i;var n=t.document,o=t.document,s=t.DocumentFragment,r=t.HTMLTemplateElement,a=t.Node,l=t.Element,c=t.NodeFilter,d=t.NamedNodeMap,h=void 0===d?t.NamedNodeMap||t.MozNamedAttrMap:d,u=t.Text,g=t.Comment,p=t.DOMParser,m=t.trustedTypes,f=l.prototype,_=HW(f,"cloneNode"),v=HW(f,"nextSibling"),b=HW(f,"childNodes"),C=HW(f,"parentNode");if("function"==typeof r){var w=o.createElement("template");w.content&&w.content.ownerDocument&&(o=w.content.ownerDocument)}var y=cB(m,n),S=y&&te?y.createHTML(""):"",x=o,k=x.implementation,D=x.createNodeIterator,L=x.createDocumentFragment,E=x.getElementsByTagName,N=n.importNode,I={};try{I=VW(o).documentMode?o.documentMode:{}}catch(e){}var T={};i.isSupported="function"==typeof C&&k&&void 0!==k.createHTMLDocument&&9!==I;var M=QW,R=eB,P=tB,A=iB,O=oB,F=sB,W=nB,B=null,V=BW({},[].concat(aB(zW),aB(jW),aB(qW),aB(UW),aB(ZW))),H=null,z=BW({},[].concat(aB(GW),aB(YW),aB(XW),aB(JW))),j=null,q=null,K=!0,U=!0,$=!1,Z=!1,G=!1,Y=!1,X=!1,J=!1,Q=!1,ee=!0,te=!1,ie=!0,ne=!0,oe=!1,se={},re=null,ae=BW({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),le=null,ce=BW({},["audio","video","img","source","image","track"]),de=null,he=BW({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ue="http://www.w3.org/1998/Math/MathML",ge="http://www.w3.org/2000/svg",pe="http://www.w3.org/1999/xhtml",me=pe,fe=!1,_e=null,ve=o.createElement("form"),be=function(e){_e&&_e===e||(e&&"object"===(void 0===e?"undefined":rB(e))||(e={}),e=VW(e),B="ALLOWED_TAGS"in e?BW({},e.ALLOWED_TAGS):V,H="ALLOWED_ATTR"in e?BW({},e.ALLOWED_ATTR):z,de="ADD_URI_SAFE_ATTR"in e?BW(VW(he),e.ADD_URI_SAFE_ATTR):he,le="ADD_DATA_URI_TAGS"in e?BW(VW(ce),e.ADD_DATA_URI_TAGS):ce,re="FORBID_CONTENTS"in e?BW({},e.FORBID_CONTENTS):ae,j="FORBID_TAGS"in e?BW({},e.FORBID_TAGS):{},q="FORBID_ATTR"in e?BW({},e.FORBID_ATTR):{},se="USE_PROFILES"in e&&e.USE_PROFILES,K=!1!==e.ALLOW_ARIA_ATTR,U=!1!==e.ALLOW_DATA_ATTR,$=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Z=e.SAFE_FOR_TEMPLATES||!1,G=e.WHOLE_DOCUMENT||!1,J=e.RETURN_DOM||!1,Q=e.RETURN_DOM_FRAGMENT||!1,ee=!1!==e.RETURN_DOM_IMPORT,te=e.RETURN_TRUSTED_TYPE||!1,X=e.FORCE_BODY||!1,ie=!1!==e.SANITIZE_DOM,ne=!1!==e.KEEP_CONTENT,oe=e.IN_PLACE||!1,W=e.ALLOWED_URI_REGEXP||W,me=e.NAMESPACE||pe,Z&&(U=!1),Q&&(J=!0),se&&(B=BW({},[].concat(aB(ZW))),H=[],!0===se.html&&(BW(B,zW),BW(H,GW)),!0===se.svg&&(BW(B,jW),BW(H,YW),BW(H,JW)),!0===se.svgFilters&&(BW(B,qW),BW(H,YW),BW(H,JW)),!0===se.mathMl&&(BW(B,UW),BW(H,XW),BW(H,JW))),e.ADD_TAGS&&(B===V&&(B=VW(B)),BW(B,e.ADD_TAGS)),e.ADD_ATTR&&(H===z&&(H=VW(H)),BW(H,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&BW(de,e.ADD_URI_SAFE_ATTR),e.FORBID_CONTENTS&&(re===ae&&(re=VW(re)),BW(re,e.FORBID_CONTENTS)),ne&&(B["#text"]=!0),G&&BW(B,["html","head","body"]),B.table&&(BW(B,["tbody"]),delete j.tbody),wW&&wW(e),_e=e)},Ce=BW({},["mi","mo","mn","ms","mtext"]),we=BW({},["foreignobject","desc","title","annotation-xml"]),ye=BW({},jW);BW(ye,qW),BW(ye,KW);var Se=BW({},UW);BW(Se,$W);var xe=function(e){var t=C(e);t&&t.tagName||(t={namespaceURI:pe,tagName:"template"});var i=TW(e.tagName),n=TW(t.tagName);if(e.namespaceURI===ge)return t.namespaceURI===pe?"svg"===i:t.namespaceURI===ue?"svg"===i&&("annotation-xml"===n||Ce[n]):Boolean(ye[i]);if(e.namespaceURI===ue)return t.namespaceURI===pe?"math"===i:t.namespaceURI===ge?"math"===i&&we[n]:Boolean(Se[i]);if(e.namespaceURI===pe){if(t.namespaceURI===ge&&!we[n])return!1;if(t.namespaceURI===ue&&!Ce[n])return!1;var o=BW({},["title","style","font","a","script"]);return!Se[i]&&(o[i]||!ye[i])}return!1},ke=function(e){IW(i.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=S}catch(t){e.remove()}}},De=function(e,t){try{IW(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){IW(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!H[e])if(J||Q)try{ke(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Le=function(e){var t=void 0,i=void 0;if(X)e=""+e;else{var n=MW(e,/^[\r\n\t ]+/);i=n&&n[0]}var s=y?y.createHTML(e):e;if(me===pe)try{t=(new p).parseFromString(s,"text/html")}catch(e){}if(!t||!t.documentElement){t=k.createDocument(me,"template",null);try{t.documentElement.innerHTML=fe?"":s}catch(e){}}var r=t.body||t.documentElement;return e&&i&&r.insertBefore(o.createTextNode(i),r.childNodes[0]||null),me===pe?E.call(t,G?"html":"body")[0]:G?t.documentElement:r},Ee=function(e){return D.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Ne=function(e){return!(e instanceof u||e instanceof g||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof h&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},Ie=function(e){return"object"===(void 0===a?"undefined":rB(a))?e instanceof a:e&&"object"===(void 0===e?"undefined":rB(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Te=function(e,t,n){T[e]&&EW(T[e],(function(e){e.call(i,t,n,_e)}))},Me=function(e){var t=void 0;if(Te("beforeSanitizeElements",e,null),Ne(e))return ke(e),!0;if(MW(e.nodeName,/[\u0080-\uFFFF]/))return ke(e),!0;var n=TW(e.nodeName);if(Te("uponSanitizeElement",e,{tagName:n,allowedTags:B}),!Ie(e.firstElementChild)&&(!Ie(e.content)||!Ie(e.content.firstElementChild))&&OW(/<[/\w]/g,e.innerHTML)&&OW(/<[/\w]/g,e.textContent))return ke(e),!0;if("select"===n&&OW(/