"use strict";(self.webpackChunkscriptcat=self.webpackChunkscriptcat||[]).push([[169],{34055:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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},12205:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tbackground-color: var(--vscode-editorBracketMatch-background);\n\tborder: 1px solid var(--vscode-editorBracketMatch-border);\n}\n",""]);const a=r},32874:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .lightBulbWidget {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-editor .lightBulbWidget:hover{\n\tcursor: pointer;\n}\n\n.monaco-editor .lightBulbWidget.codicon-light-bulb {\n\tcolor: var(--vscode-editorLightBulb-foreground);\n}\n\n.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix {\n\tcolor: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));\n}\n\n.monaco-editor .lightBulbWidget:before {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.monaco-editor .lightBulbWidget:after {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcontent: '';\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\topacity: 0.3;\n\tbackground-color: var(--vscode-editor-background);\n\tz-index: 1;\n}\n",""]);const a=r},32849:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n\tpadding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);\n\tfont-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);\n\tfont-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);\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\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\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n}\n\n.monaco-editor .codelens-decoration>a:hover .codicon::before {\n\tcursor: pointer;\n}\n\n@keyframes fadein {\n\t0% {\n\t\topacity: 0;\n\t\tvisibility: visible;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n.monaco-editor .codelens-decoration.fadein {\n\tanimation: fadein 0.1s linear;\n}\n",""]);const a=r},22313:(e,t,i)=>{i.d(t,{Z:()=>u});var n=i(8081),o=i.n(n),s=i(23645),r=i.n(s),a=i(61667),l=i.n(a),d=new URL(i(94748),i.b),c=r()(o()),h=l()(d);c.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}\n\n/* Decoration */\n\n.colorpicker-color-decoration,\n.hc-light .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=c},97070:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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.monaco-editor.hc-light .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.monaco-editor.hc-light.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.monaco-editor.hc-light.mac.mouse-copy .view-lines {\n\tcursor: copy;\n}\n",""]);const a=r},68875:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .findOptionsWidget {\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 2px solid var(--vscode-contrastBorder);\n}\n",""]);const a=r},56950:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .find-widget {\n\ttransition: transform 0ms linear;\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: 3px 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\tcolor: var(--vscode-disabledForeground);\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},43388:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\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-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\ttransition: initial;\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.codicon-folding-manual-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: "\\22EF"; /* ellipses unicode character */\n\tdisplay: inline;\n\tline-height: 1em;\n\tcursor: pointer;\n}\n\n.monaco-editor .folded-background {\n\tbackground-color: var(--vscode-editor-foldBackground);\n}\n\n.monaco-editor .cldr.codicon.codicon-folding-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-collapsed,\n.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {\n\tcolor: var(--vscode-editorGutter-foldingControlForeground) !important;\n}\n\n',""]);const a=r},35351:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\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},33257:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const a=r},60879:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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.monaco-editor.hc-light .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.monaco-editor.hc-light .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},41738:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .hoverHighlight {\n\tbackground-color: var(--vscode-editor-hoverHighlightBackground);\n}\n\n.monaco-editor .monaco-hover {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .monaco-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-hover a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .monaco-hover .hover-row .actions {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-editor .monaco-hover code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n\n",""]);const a=r},16921:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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.monaco-editor.vs .valueSetReplacement {\n\toutline: solid 2px var(--vscode-editorBracketMatch-border);\n}\n",""]);const a=r},77682:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .suggest-preview-text .ghost-text {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n",""]);const a=r},48071:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .inlineSuggestionsHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineSuggestionsHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineSuggestionsHints .custom-actions .action-item:nth-child(2) a {\n\tdisplay: flex;\n\tmin-width: 19px;\n\tjustify-content: center;\n}\n\n.monaco-editor .inlineSuggestionStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n",""]);const a=r},55040:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .linked-editing-decoration {\n\tbackground-color: var(--vscode-editor-linkedEditingBackground);\n\tborder-left-color: var(--vscode-editor-linkedEditingBackground);\n}\n",""]);const a=r},28477:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n",""]);const a=r},81615:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .rendered-markdown kbd {\n\tbackground-color: var(--vscode-keybindingLabel-background);\n\tcolor: var(--vscode-keybindingLabel-foreground);\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tborder-color: var(--vscode-keybindingLabel-border);\n\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n\tvertical-align: middle;\n\tpadding: 1px 3px;\n}\n",""]);const a=r},65807:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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.monaco-editor.hc-light .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},81386:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tcursor: default;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.hc-black .monaco-editor .parameter-hints-widget,\n.hc-light .monaco-editor .parameter-hints-widget {\n\tborder-width: 2px;\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.multiple .body::before {\n\tcontent: "";\n\tdisplay: block;\n\theight: 100%;\n\tposition: absolute;\n\topacity: 0.5;\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\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\tposition: relative;\n}\n\n.monaco-editor .parameter-hints-widget .signature.has-docs::after {\n\tcontent: "";\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\tpadding-top: 4px;\n\topacity: 0.5;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\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 a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .parameter-hints-widget .docs a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\n\twhite-space: initial;\n}\n\n.monaco-editor .parameter-hints-widget .docs code {\n\tfont-family: var(--monaco-monospace-font);\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n\tbackground-color: var(--vscode-textCodeBlock-background);\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 .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\tcolor: var(--vscode-editorHoverWidget-highlightForeground);\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},8881:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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: baseline;\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}\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\toverflow: hidden;\n\ttext-overflow: ellipsis;\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\talign-self: center;\n}\n\n.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: inherit !important;\n}\n",""]);const a=r},88342:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tborder-radius: 4px;\n}\n\n.monaco-editor .rename-box.preview {\n\tpadding: 4px 4px 0 4px;\n}\n\n.monaco-editor .rename-box .rename-input {\n\tpadding: 3px;\n\tborder-radius: 2px;\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},15756:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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},36098:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .sticky-line {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tdisplay: inline-block;\n}\n\n.monaco-editor .sticky-line-number {\n\ttext-align: right;\n\tfloat: left;\n}\n\n.monaco-editor .sticky-line-root {\n\tbackground-color: inherit;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\twidth: 100%;\n}\n\n.monaco-editor.hc-black .sticky-widget,\n.monaco-editor.hc-light .sticky-widget {\n\tborder-bottom: 1px solid var(--vscode-contrastBorder);\n}\n\n.monaco-editor .sticky-line-root:hover {\n\tbackground-color: var(--vscode-editorStickyScrollHover-background);\n\tcursor: pointer;\n}\n\n.monaco-editor .sticky-widget {\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 3px 2px -2px;\n\tz-index: 4;\n\tbackground-color: var(--vscode-editorStickyScroll-background);\n}\n\n.monaco-editor .sticky-widget.peek {\n\tbackground-color: var(--vscode-peekViewEditorStickyScroll-background);\n}\n",""]);const a=r},45224:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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.monaco-editor.hc-light .suggest-widget,\n.monaco-editor.hc-light .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}\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,\n.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,\n.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},30745:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .codicon.codicon-symbol-array,\n.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }\n.monaco-editor .codicon.codicon-symbol-boolean,\n.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }\n.monaco-editor .codicon.codicon-symbol-class,\n.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }\n.monaco-editor .codicon.codicon-symbol-method,\n.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }\n.monaco-editor .codicon.codicon-symbol-color,\n.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }\n.monaco-editor .codicon.codicon-symbol-constant,\n.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }\n.monaco-editor .codicon.codicon-symbol-constructor,\n.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }\n.monaco-editor .codicon.codicon-symbol-value,\n.monaco-workbench .codicon.codicon-symbol-value,\n.monaco-editor .codicon.codicon-symbol-enum,\n.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }\n.monaco-editor .codicon.codicon-symbol-enum-member,\n.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }\n.monaco-editor .codicon.codicon-symbol-event,\n.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }\n.monaco-editor .codicon.codicon-symbol-field,\n.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }\n.monaco-editor .codicon.codicon-symbol-file,\n.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }\n.monaco-editor .codicon.codicon-symbol-folder,\n.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }\n.monaco-editor .codicon.codicon-symbol-function,\n.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }\n.monaco-editor .codicon.codicon-symbol-interface,\n.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }\n.monaco-editor .codicon.codicon-symbol-key,\n.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }\n.monaco-editor .codicon.codicon-symbol-keyword,\n.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }\n.monaco-editor .codicon.codicon-symbol-module,\n.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }\n.monaco-editor .codicon.codicon-symbol-namespace,\n.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }\n.monaco-editor .codicon.codicon-symbol-null,\n.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }\n.monaco-editor .codicon.codicon-symbol-number,\n.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }\n.monaco-editor .codicon.codicon-symbol-object,\n.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }\n.monaco-editor .codicon.codicon-symbol-operator,\n.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }\n.monaco-editor .codicon.codicon-symbol-package,\n.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }\n.monaco-editor .codicon.codicon-symbol-property,\n.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }\n.monaco-editor .codicon.codicon-symbol-reference,\n.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }\n.monaco-editor .codicon.codicon-symbol-snippet,\n.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }\n.monaco-editor .codicon.codicon-symbol-string,\n.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }\n.monaco-editor .codicon.codicon-symbol-struct,\n.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }\n.monaco-editor .codicon.codicon-symbol-text,\n.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }\n.monaco-editor .codicon.codicon-symbol-type-parameter,\n.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }\n.monaco-editor .codicon.codicon-symbol-unit,\n.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }\n.monaco-editor .codicon.codicon-symbol-variable,\n.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }\n",""]);const a=r},98367:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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},98679:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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\tbackground-color: var(--vscode-editorUnicodeHighlight-background);\n\tbox-sizing: border-box;\n}\n",""]);const a=r},19620:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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 .focused .selectionHighlight {\n\tbackground-color: var(--vscode-editor-selectionHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-selectionHighlightBorder);\n}\n.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlight {\n\tbackground-color: var(--vscode-editor-wordHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightBorder);\n}\n.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightStrong {\n\tbackground-color: var(--vscode-editor-wordHighlightStrongBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightStrongBorder);\n}\n.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightText {\n\tbackground-color: var(--vscode-editor-wordHighlightTextBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightTextBorder);\n}\n.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {\n\tborder-style: dotted;\n}\n",""]);const a=r},51564:(e,t,i)=>{i.d(t,{Z:()=>a});var n=i(8081),o=i.n(n),s=i(23645),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},61329:(e,t,i)=>{i.d(t,{OY:()=>s,Sj:()=>r,T4:()=>o,Uo:()=>a,hP:()=>l});var n=i(3860);class o{constructor(e,t,i=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=i}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return n.Y.fromPositions(i.getEndPosition())}}class s{constructor(e,t){this._range=e,this._text=t}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return n.Y.fromRange(i,0)}}class r{constructor(e,t,i=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=i}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return n.Y.fromPositions(i.getStartPosition())}}class a{constructor(e,t,i,n,o=!1){this._range=e,this._text=t,this._columnDeltaOffset=n,this._lineNumberDeltaOffset=i,this.insertsAutoWhitespace=o}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return n.Y.fromPositions(i.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}class l{constructor(e,t,i,n=!1){this._range=e,this._text=t,this._initialSelection=i,this._forceMoveMarkers=n,this._selectionId=null}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=t.trackSelection(this._initialSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}},10291:(e,t,i)=>{i.d(t,{U:()=>g});var n=i(97295),o=i(7988),s=i(24314),r=i(3860),a=i(1615),l=i(51381),d=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=function(e,t){return function(i,n){t(i,n,e)}};const h=Object.create(null);function u(e,t){if(t<=0)return"";h[e]||(h[e]=["",e]);const i=h[e];for(let n=i.length;n<=t;n++)i[n]=i[n-1]+e;return i[t]}let g=class e{static unshiftIndent(e,t,i,n,s){const r=o.i.visibleColumnFromColumn(e,t,i);if(s){const e=u(" ",n);return u(e,o.i.prevIndentTabStop(r,n)/n)}return u("\t",o.i.prevRenderTabStop(r,i)/i)}static shiftIndent(e,t,i,n,s){const r=o.i.visibleColumnFromColumn(e,t,i);if(s){const e=u(" ",n);return u(e,o.i.nextIndentTabStop(r,n)/n)}return u("\t",o.i.nextRenderTabStop(r,i)/i)}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(t,i){const r=this._selection.startLineNumber;let l=this._selection.endLineNumber;1===this._selection.endColumn&&r!==l&&(l-=1);const{tabSize:d,indentSize:c,insertSpaces:h}=this._opts,g=r===l;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(r))&&(this._useLastEditRangeForCursorEndPosition=!0);let u=0,p=0;for(let m=r;m<=l;m++,u=p){p=0;const l=t.getLineContent(m);let f,_=n.LC(l);if((!this._opts.isUnshift||0!==l.length&&0!==_)&&(g||this._opts.isUnshift||0!==l.length)){if(-1===_&&(_=l.length),m>1){if(o.i.visibleColumnFromColumn(l,_+1,d)%c!=0&&t.tokenization.isCheapToTokenize(m-1)){const e=(0,a.A)(this._opts.autoIndent,t,new s.e(m-1,t.getLineMaxColumn(m-1),m-1,t.getLineMaxColumn(m-1)),this._languageConfigurationService);if(e){if(p=u,e.appendText)for(let t=0,i=e.appendText.length;t{i.d(t,{Pe:()=>p,ei:()=>g,wk:()=>l});var n=i(64141),o=i(22075),s=i(63580),r=i(23193),a=i(89872);const l=Object.freeze({id:"editor",order:5,type:"object",title:s.NC("editorConfigurationTitle","Editor"),scope:5}),d=Object.assign(Object.assign({},l),{properties:{"editor.tabSize":{type:"number",default:o.D.tabSize,minimum:1,markdownDescription:s.NC("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:s.NC("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:o.D.insertSpaces,markdownDescription:s.NC("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:o.D.detectIndentation,markdownDescription:s.NC("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:o.D.trimAutoWhitespace,description:s.NC("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:o.D.largeFileOptimizations,description:s.NC("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{type:"boolean",default:!0,description:s.NC("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[s.NC("wordBasedSuggestionsMode.currentDocument","Only suggest words from the active document."),s.NC("wordBasedSuggestionsMode.matchingDocuments","Suggest words from all open documents of the same language."),s.NC("wordBasedSuggestionsMode.allDocuments","Suggest words from all open documents.")],description:s.NC("wordBasedSuggestionsMode","Controls from which documents word based completions are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[s.NC("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),s.NC("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),s.NC("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:s.NC("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:s.NC("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:s.NC("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:s.NC("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:s.NC("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:s.NC("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only.")},"editor.language.brackets":{type:["array","null"],default:null,description:s.NC("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:s.NC("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:s.NC("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:s.NC("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:s.NC("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:s.NC("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:5e3,description:s.NC("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:50,description:s.NC("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:s.NC("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:!0,description:s.NC("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:s.NC("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:s.NC("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:!1,description:s.NC("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:"inherit",markdownEnumDescriptions:[s.NC("wordWrap.off","Lines will never wrap."),s.NC("wordWrap.on","Lines will wrap at the viewport width."),s.NC("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["smart","experimental"],default:"smart",markdownEnumDescriptions:[s.NC("diffAlgorithm.smart","Uses the default diffing algorithm."),s.NC("diffAlgorithm.experimental","Uses an experimental diffing algorithm.")]}}});for(const e of n.Bc){const t=e.schema;if(void 0!==t)if(void 0!==(c=t).type||void 0!==c.anyOf)d.properties[`editor.${e.name}`]=t;else for(const e in t)Object.hasOwnProperty.call(t,e)&&(d.properties[e]=t[e])}var c;let h=null;function u(){return null===h&&(h=Object.create(null),Object.keys(d.properties).forEach((e=>{h[e]=!0}))),h}function g(e){return u()[`editor.${e}`]||!1}function p(e){return u()[`diffEditor.${e}`]||!1}a.B.as(r.IP.Configuration).registerConfiguration(d)},64141:(e,t,i)=>{i.d(t,{$J:()=>M,Av:()=>P,BH:()=>W,Bb:()=>c,Bc:()=>F,Bo:()=>I,LJ:()=>h,NY:()=>L,O7:()=>_,Zc:()=>C,d2:()=>N,gk:()=>D,hL:()=>A,n0:()=>x,qt:()=>E,rk:()=>g,y0:()=>d});var n=i(63580),o=i(1432),s=i(270),r=i(9488),a=i(36248),l=i(22075);const d=8;class c{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class h{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class u{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return p(e,t)}compute(e,t,i){return i}}class g{constructor(e,t){this.newValue=e,this.didChange=t}}function p(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new g(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const i=Array.isArray(e)&&Array.isArray(t)&&r.fS(e,t);return new g(t,!i)}let i=!1;for(const n in t)if(t.hasOwnProperty(n)){const o=p(e[n],t[n]);o.didChange&&(e[n]=o.newValue,i=!0)}return new g(e,i)}class m{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return p(e,t)}validate(e){return this.defaultValue}}class f{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return p(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,i){return i}}function _(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class v extends f{constructor(e,t,i,n=void 0){void 0!==n&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return _(e,this.defaultValue)}}function C(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 b extends f{static clampedInt(e,t,i,n){return C(e,t,i,n)}constructor(e,t,i,n,o,s=void 0){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}validate(e){return b.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}class w extends f{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}constructor(e,t,i,n,o){void 0!==o&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=n}validate(e){return this.validationFn(w.float(e,this.defaultValue))}}class S extends f{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,i,n=void 0){void 0!==n&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return S.string(e,this.defaultValue)}}function L(e,t,i){return"string"!=typeof e||-1===i.indexOf(e)?t:e}class y extends f{constructor(e,t,i,n,o=void 0){void 0!==o&&(o.type="string",o.enum=n,o.default=i),super(e,t,i,o),this._allowedValues=n}validate(e){return L(e,this.defaultValue,this._allowedValues)}}class k extends u{constructor(e,t,i,n,o,s,r=void 0){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 N;!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"}(N||(N={}));class x extends u{constructor(){super(49,"fontLigatures",x.OFF,{anyOf:[{type:"boolean",description:n.NC("fontLigatures","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:n.NC("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:n.NC("fontLigaturesGeneral","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?x.OFF:"true"===e?x.ON:e:Boolean(e)?x.ON:x.OFF}}x.OFF='"liga" off, "calt" off',x.ON='"liga" on, "calt" on';class I extends u{constructor(){super(52,"fontVariations",I.OFF,{anyOf:[{type:"boolean",description:n.NC("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:n.NC("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:n.NC("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?I.OFF:"true"===e?I.TRANSLATE:e:Boolean(e)?I.TRANSLATE:I.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}I.OFF="normal",I.TRANSLATE="translate";class T extends u{constructor(){super(51,"fontWeight",A.fontWeight,{anyOf:[{type:"number",minimum:T.MINIMUM_VALUE,maximum:T.MAXIMUM_VALUE,errorMessage:n.NC("fontWeightErrorMessage",'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:T.SUGGESTION_VALUES}],default:A.fontWeight,description:n.NC("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(b.clampedInt(e,A.fontWeight,T.MINIMUM_VALUE,T.MAXIMUM_VALUE))}}T.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],T.MINIMUM_VALUE=1,T.MAXIMUM_VALUE=1e3;class D extends m{constructor(){super(139)}compute(e,t,i){return D.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=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const o=(i+e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:o,minimapLineCount:Math.floor(e.viewLineCount/o)}}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.paddingTop===s.paddingTop&&e.paddingBottom===s.paddingBottom&&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,h=e.minimap.renderCharacters;let u=o>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const g=e.minimap.maxColumn,p=e.minimap.size,m=e.minimap.side,f=e.verticalScrollbarWidth,_=e.viewLineCount,v=e.remainingWidth,C=e.isViewportWrapping,b=h?2:3;let w=Math.floor(o*n);const S=w/o;let L=!1,y=!1,k=b*u,N=u/o,x=1;if("fill"===p||"fit"===p){const{typicalViewportLineCount:i,extraLinesBeforeFirstLine:s,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:h}=D.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:c,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:a,pixelRatio:o});if(_/h>1)L=!0,y=!0,u=1,k=1,N=u/o;else{let n=!1,c=u+1;if("fit"===p){const e=Math.ceil((s+_+l)*k);C&&r&&v<=t.stableFitRemainingWidth?(n=!0,c=t.stableFitMaxMinimapScale):n=e>w}if("fill"===p||n){L=!0;const n=u;k=Math.min(a*o,Math.max(1,Math.floor(1/d))),C&&r&&v<=t.stableFitRemainingWidth&&(c=t.stableFitMaxMinimapScale),u=Math.min(c,Math.max(1,Math.floor(k/b))),u>n&&(x=Math.min(2,u/n)),N=u/o/x,w=Math.ceil(Math.max(i,s+_+l)*k),C?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=v,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const I=Math.floor(g*N),T=Math.min(I,Math.max(0,Math.floor((v-f-2)*N/(l+N)))+d);let M=Math.floor(o*T);const R=M/o;M=Math.floor(M*x);return{renderMinimap:h?1:2,minimapLeft:"left"===m?0:i-T-f,minimapWidth:T,minimapHeightIsEditorHeight:L,minimapIsSampling:y,minimapScale:u,minimapLineHeight:k,minimapCanvasInnerWidth:M,minimapCanvasInnerHeight:w,minimapCanvasOuterWidth:R,minimapCanvasOuterHeight:S}}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,d=t.viewLineCount,c=e.get(131),u="inherit"===c?e.get(130):c,g="inherit"===u?e.get(126):u,p=e.get(129),m=t.isDominatedByLongLines,f=e.get(55),_=0!==e.get(65).renderType,v=e.get(66),C=e.get(100),b=e.get(81),w=e.get(70),S=e.get(98),L=S.verticalScrollbarSize,y=S.verticalHasArrows,k=S.arrowSize,N=S.horizontalScrollbarSize,x=e.get(41),I="never"!==e.get(105);let T=e.get(63);x&&I&&(T+=16);let M=0;if(_){const e=Math.max(s,v);M=Math.round(e*a)}let R=0;f&&(R=o);let P=0,E=P+R,O=E+M,A=O+T;const F=i-R-M-T;let V=!1,W=!1,B=-1;"inherit"===u&&m?(V=!0,W=!0):"on"===g||"bounded"===g?W=!0:"wordWrapColumn"===g&&(B=p);const H=D._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:o,typicalHalfwidthCharacterWidth:r,pixelRatio:l,scrollBeyondLastLine:C,paddingTop:b.top,paddingBottom:b.bottom,minimap:w,verticalScrollbarWidth:L,viewLineCount:d,remainingWidth:F,isViewportWrapping:W},t.memory||new h);0!==H.renderMinimap&&0===H.minimapLeft&&(P+=H.minimapWidth,E+=H.minimapWidth,O+=H.minimapWidth,A+=H.minimapWidth);const z=F-H.minimapWidth,U=Math.max(1,Math.floor((z-L-2)/r)),j=y?k:0;return W&&(B=Math.max(1,U),"bounded"===g&&(B=Math.min(B,p))),{width:i,height:n,glyphMarginLeft:P,glyphMarginWidth:R,lineNumbersLeft:E,lineNumbersWidth:M,decorationsLeft:O,decorationsWidth:T,contentLeft:A,contentWidth:z,minimap:H,viewportColumn:U,isWordWrapMinified:V,isViewportWrapping:W,wrappingColumn:B,verticalScrollbarWidth:L,horizontalScrollbarHeight:N,overviewRuler:{top:j,width:L,height:n-2*j,right:0}}}}function M(e){const t=e.get(93);return"editable"===t?e.get(87):"on"!==t}function R(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}const P="inUntrustedWorkspace",E={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};function O(e,t,i){const n=i.indexOf(e);return-1===n?t:i[n]}const A={fontFamily:o.dz?"Menlo, Monaco, 'Courier New', monospace":o.IJ?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:o.dz?12:14,lineHeight:0,letterSpacing:0},F=[];function V(e){return F[e.id]=e,e}const W={acceptSuggestionOnCommitCharacter:V(new v(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:n.NC("acceptSuggestionOnCommitCharacter","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:V(new y(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",n.NC("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:n.NC("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:V(new class extends u{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[n.NC("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached"),n.NC("accessibilitySupport.on","Optimize for usage with a Screen Reader"),n.NC("accessibilitySupport.off","Assume a screen reader is not attached")],default:"auto",tags:["accessibility"],description:n.NC("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}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:V(new b(3,"accessibilityPageSize",10,1,1073741824,{description:n.NC("accessibilityPageSize","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."),tags:["accessibility"]})),ariaLabel:V(new S(4,"ariaLabel",n.NC("editorViewAccessibleLabel","Editor content"))),screenReaderAnnounceInlineSuggestion:V(new v(6,"screenReaderAnnounceInlineSuggestion",!1,{description:n.NC("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader. Note that this does not work on macOS with VoiceOver."),tags:["accessibility"]})),autoClosingBrackets:V(new y(5,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",n.NC("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),n.NC("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:n.NC("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:V(new y(7,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",n.NC("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:n.NC("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:V(new y(8,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",n.NC("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:n.NC("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:V(new y(9,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",n.NC("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),n.NC("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:n.NC("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:V(new k(10,"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:[n.NC("editor.autoIndent.none","The editor will not insert indentation automatically."),n.NC("editor.autoIndent.keep","The editor will keep the current line's indentation."),n.NC("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),n.NC("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),n.NC("editor.autoIndent.full","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:n.NC("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:V(new v(11,"automaticLayout",!1)),autoSurround:V(new y(12,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[n.NC("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),n.NC("editor.autoSurround.quotes","Surround with quotes but not brackets."),n.NC("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:n.NC("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:V(new class extends u{constructor(){const e={enabled:l.D.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:l.D.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(13,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:n.NC("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:n.NC("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:_(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:V(new class extends u{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(14,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[n.NC("editor.guides.bracketPairs.true","Enables bracket pair guides."),n.NC("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),n.NC("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:n.NC("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[n.NC("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),n.NC("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),n.NC("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:n.NC("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:n.NC("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:n.NC("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[n.NC("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),n.NC("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),n.NC("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:n.NC("editor.guides.highlightActiveIndentation","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:O(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:O(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:_(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:_(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:O(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:V(new v(111,"stickyTabStops",!1,{description:n.NC("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:V(new v(15,"codeLens",!0,{description:n.NC("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:V(new S(16,"codeLensFontFamily","",{description:n.NC("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:V(new b(17,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:n.NC("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:V(new v(18,"colorDecorators",!0,{description:n.NC("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorsLimit:V(new b(19,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:n.NC("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:V(new v(20,"columnSelection",!1,{description:n.NC("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:V(new class extends u{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(21,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:n.NC("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:n.NC("comments.ignoreEmptyLines","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:_(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:_(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:V(new v(22,"contextmenu",!0)),copyWithSyntaxHighlighting:V(new v(23,"copyWithSyntaxHighlighting",!0,{description:n.NC("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:V(new k(24,"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:n.NC("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:V(new y(25,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[n.NC("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),n.NC("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),n.NC("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:n.NC("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:V(new k(26,"cursorStyle",N.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return N.Line;case"block":return N.Block;case"underline":return N.Underline;case"line-thin":return N.LineThin;case"block-outline":return N.BlockOutline;case"underline-thin":return N.UnderlineThin}}),{description:n.NC("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:V(new b(27,"cursorSurroundingLines",0,0,1073741824,{description:n.NC("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:V(new y(28,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[n.NC("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),n.NC("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],description:n.NC("cursorSurroundingLinesStyle","Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:V(new b(29,"cursorWidth",0,0,1073741824,{markdownDescription:n.NC("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:V(new v(30,"disableLayerHinting",!1)),disableMonospaceOptimizations:V(new v(31,"disableMonospaceOptimizations",!1)),domReadOnly:V(new v(32,"domReadOnly",!1)),dragAndDrop:V(new v(33,"dragAndDrop",!0,{description:n.NC("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:V(new class extends v{constructor(){super(35,"emptySelectionClipboard",!0,{description:n.NC("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}),dropIntoEditor:V(new class extends u{constructor(){const e={enabled:!0};super(34,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:n.NC("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down `shift` (instead of opening the file in an editor).")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;return{enabled:_(e.enabled,this.defaultValue.enabled)}}}),stickyScroll:V(new class extends u{constructor(){const e={enabled:!1,maxLineCount:5,defaultModel:"outlineModel"};super(110,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:n.NC("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:10,description:n.NC("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:n.NC("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_(t.enabled,this.defaultValue.enabled),maxLineCount:b.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:L(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"])}}}),experimentalWhitespaceRendering:V(new y(36,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[n.NC("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),n.NC("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),n.NC("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:n.NC("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:V(new S(37,"extraEditorClassName","")),fastScrollSensitivity:V(new w(38,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:n.NC("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:V(new class extends u{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(39,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:n.NC("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[n.NC("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),n.NC("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),n.NC("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:n.NC("find.seedSearchStringFromSelection","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:[n.NC("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),n.NC("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),n.NC("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:n.NC("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:n.NC("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:o.dz},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:n.NC("find.addExtraSpaceOnTop","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:n.NC("find.loop","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:_(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":L(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":L(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:_(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:_(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:_(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:V(new v(40,"fixedOverflowWidgets",!1)),folding:V(new v(41,"folding",!0,{description:n.NC("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:V(new y(42,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[n.NC("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),n.NC("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:n.NC("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:V(new v(43,"foldingHighlight",!0,{description:n.NC("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:V(new v(44,"foldingImportsByDefault",!1,{description:n.NC("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:V(new b(45,"foldingMaximumRegions",5e3,10,65e3,{description:n.NC("foldingMaximumRegions","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:V(new v(46,"unfoldOnClickAfterEndOfLine",!1,{description:n.NC("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:V(new S(47,"fontFamily",A.fontFamily,{description:n.NC("fontFamily","Controls the font family.")})),fontInfo:V(new class extends m{constructor(){super(48)}compute(e,t,i){return e.fontInfo}}),fontLigatures2:V(new x),fontSize:V(new class extends f{constructor(){super(50,"fontSize",A.fontSize,{type:"number",minimum:6,maximum:100,default:A.fontSize,description:n.NC("fontSize","Controls the font size in pixels.")})}validate(e){const t=w.float(e,this.defaultValue);return 0===t?A.fontSize:w.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}),fontWeight:V(new T),fontVariations:V(new I),formatOnPaste:V(new v(53,"formatOnPaste",!1,{description:n.NC("formatOnPaste","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:V(new v(54,"formatOnType",!1,{description:n.NC("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:V(new v(55,"glyphMargin",!0,{description:n.NC("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:V(new class extends u{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:[n.NC("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),n.NC("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),n.NC("editor.gotoLocation.multiple.goto","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(56,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:n.NC("editor.gotoLocation.multiple.deprecated","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:n.NC("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:n.NC("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:n.NC("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:n.NC("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleReferences":Object.assign({description:n.NC("editor.editor.gotoLocation.multipleReferences","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:n.NC("alternativeDefinitionCommand","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:n.NC("alternativeTypeDefinitionCommand","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:n.NC("alternativeDeclarationCommand","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:n.NC("alternativeImplementationCommand","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:n.NC("alternativeReferenceCommand","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:L(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=r.multipleDefinitions)&&void 0!==t?t:L(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(i=r.multipleTypeDefinitions)&&void 0!==i?i:L(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(n=r.multipleDeclarations)&&void 0!==n?n:L(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(o=r.multipleImplementations)&&void 0!==o?o:L(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(s=r.multipleReferences)&&void 0!==s?s:L(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:S.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:S.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:S.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:S.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:S.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:V(new v(57,"hideCursorInOverviewRuler",!1,{description:n.NC("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:V(new class extends u{constructor(){const e={enabled:!0,delay:300,sticky:!0,above:!0};super(58,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:n.NC("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:n.NC("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:n.NC("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:e.above,description:n.NC("hover.above","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:_(t.enabled,this.defaultValue.enabled),delay:b.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:_(t.sticky,this.defaultValue.sticky),above:_(t.above,this.defaultValue.above)}}}),inDiffEditor:V(new v(59,"inDiffEditor",!1)),letterSpacing:V(new w(61,"letterSpacing",A.letterSpacing,(e=>w.clamp(e,-5,20)),{description:n.NC("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:V(new class extends u{constructor(){const e={enabled:!0};super(62,"lightbulb",e,{"editor.lightbulb.enabled":{type:"boolean",default:e.enabled,description:n.NC("codeActions","Enables the Code Action lightbulb in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;return{enabled:_(e.enabled,this.defaultValue.enabled)}}}),lineDecorationsWidth:V(new class extends u{constructor(){super(63,"lineDecorationsWidth",10)}validate(e){if("string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)){return-parseFloat(e.substring(0,e.length-2))}return b.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?b.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}),lineHeight:V(new class extends w{constructor(){super(64,"lineHeight",A.lineHeight,(e=>w.clamp(e,0,150)),{markdownDescription:n.NC("lineHeight","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:V(new class extends u{constructor(){super(65,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[n.NC("lineNumbers.off","Line numbers are not rendered."),n.NC("lineNumbers.on","Line numbers are rendered as absolute number."),n.NC("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),n.NC("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:n.NC("lineNumbers","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:V(new b(66,"lineNumbersMinChars",5,1,300)),linkedEditing:V(new v(67,"linkedEditing",!1,{description:n.NC("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:V(new v(68,"links",!0,{description:n.NC("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:V(new y(69,"matchBrackets","always",["always","near","never"],{description:n.NC("matchBrackets","Highlight matching brackets.")})),minimap:V(new class extends u{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(70,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:n.NC("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:n.NC("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[n.NC("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),n.NC("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),n.NC("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:n.NC("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:n.NC("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:n.NC("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:n.NC("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:n.NC("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:n.NC("minimap.maxColumn","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:_(t.enabled,this.defaultValue.enabled),autohide:_(t.autohide,this.defaultValue.autohide),size:L(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:L(t.side,this.defaultValue.side,["right","left"]),showSlider:L(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:_(t.renderCharacters,this.defaultValue.renderCharacters),scale:b.clampedInt(t.scale,1,1,3),maxColumn:b.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:V(new y(71,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:V(new w(72,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:n.NC("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:V(new v(73,"mouseWheelZoom",!1,{markdownDescription:n.NC("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:V(new v(74,"multiCursorMergeOverlapping",!0,{description:n.NC("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:V(new k(75,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?o.dz?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[n.NC("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),n.NC("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:n.NC({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"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](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:V(new y(76,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[n.NC("multiCursorPaste.spread","Each cursor pastes a single line of the text."),n.NC("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:n.NC("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:V(new b(77,"multiCursorLimit",1e4,1,1e5,{markdownDescription:n.NC("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:V(new v(78,"occurrencesHighlight",!0,{description:n.NC("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:V(new v(79,"overviewRulerBorder",!0,{description:n.NC("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:V(new b(80,"overviewRulerLanes",3,0,3)),padding:V(new class extends u{constructor(){super(81,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:n.NC("padding.top","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:n.NC("padding.bottom","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:b.clampedInt(t.top,0,0,1e3),bottom:b.clampedInt(t.bottom,0,0,1e3)}}}),parameterHints:V(new class extends u{constructor(){const e={enabled:!0,cycle:!0};super(82,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:n.NC("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:n.NC("parameterHints.cycle","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:_(t.enabled,this.defaultValue.enabled),cycle:_(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:V(new y(83,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[n.NC("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),n.NC("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:n.NC("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:V(new v(84,"definitionLinkOpensInPeek",!1,{description:n.NC("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:V(new class extends u{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[n.NC("on","Quick suggestions show inside the suggest widget"),n.NC("inline","Quick suggestions show as ghost text"),n.NC("off","Quick suggestions are disabled")]}];super(85,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:n.NC("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:n.NC("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:n.NC("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:n.NC("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:i,strings:n}=e,o=["on","inline","off"];let s,r,a;return s="boolean"==typeof t?t?"on":"off":L(t,this.defaultValue.other,o),r="boolean"==typeof i?i?"on":"off":L(i,this.defaultValue.comments,o),a="boolean"==typeof n?n?"on":"off":L(n,this.defaultValue.strings,o),{other:s,comments:r,strings:a}}}),quickSuggestionsDelay:V(new b(86,"quickSuggestionsDelay",10,0,1073741824,{description:n.NC("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:V(new v(87,"readOnly",!1)),renameOnType:V(new v(88,"renameOnType",!1,{description:n.NC("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:n.NC("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:V(new v(89,"renderControlCharacters",!0,{description:n.NC("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:V(new y(90,"renderFinalNewline",o.IJ?"dimmed":"on",["off","on","dimmed"],{description:n.NC("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:V(new y(91,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",n.NC("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:n.NC("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:V(new v(92,"renderLineHighlightOnlyWhenFocus",!1,{description:n.NC("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:V(new y(93,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:V(new y(94,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",n.NC("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),n.NC("renderWhitespace.selection","Render whitespace characters only on selected text."),n.NC("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:n.NC("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:V(new b(95,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:V(new v(96,"roundedSelection",!0,{description:n.NC("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:V(new class extends u{constructor(){const e=[],t={type:"number",description:n.NC("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(97,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:n.NC("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:n.NC("rulers","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(const i of e)if("number"==typeof i)t.push({column:b.clampedInt(i,0,0,1e4),color:null});else if(i&&"object"==typeof i){const e=i;t.push({column:b.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:V(new class extends u{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(98,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[n.NC("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),n.NC("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),n.NC("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:n.NC("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[n.NC("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),n.NC("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),n.NC("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:n.NC("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:n.NC("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:n.NC("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:n.NC("scrollbar.scrollByPage","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=b.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=b.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:b.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:R(t.vertical,this.defaultValue.vertical),horizontal:R(t.horizontal,this.defaultValue.horizontal),useShadows:_(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:_(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:_(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:_(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:_(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:b.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:b.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:_(t.scrollByPage,this.defaultValue.scrollByPage)}}}),scrollBeyondLastColumn:V(new b(99,"scrollBeyondLastColumn",4,0,1073741824,{description:n.NC("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:V(new v(100,"scrollBeyondLastLine",!0,{description:n.NC("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:V(new v(101,"scrollPredominantAxis",!0,{description:n.NC("scrollPredominantAxis","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:V(new v(102,"selectionClipboard",!0,{description:n.NC("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:o.IJ})),selectionHighlight:V(new v(103,"selectionHighlight",!0,{description:n.NC("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:V(new v(104,"selectOnLineNumbers",!0)),showFoldingControls:V(new y(105,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[n.NC("showFoldingControls.always","Always show the folding controls."),n.NC("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),n.NC("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:n.NC("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:V(new v(106,"showUnused",!0,{description:n.NC("showUnused","Controls fading out of unused code.")})),showDeprecated:V(new v(134,"showDeprecated",!0,{description:n.NC("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:V(new class extends u{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(135,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:n.NC("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[n.NC("editor.inlayHints.on","Inlay hints are enabled"),n.NC("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",o.dz?"Ctrl+Option":"Ctrl+Alt"),n.NC("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",o.dz?"Ctrl+Option":"Ctrl+Alt"),n.NC("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:n.NC("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:n.NC("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:n.NC("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:L(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:b.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:S.string(t.fontFamily,this.defaultValue.fontFamily),padding:_(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:V(new y(107,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[n.NC("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),n.NC("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),n.NC("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),n.NC("snippetSuggestions.none","Do not show snippet suggestions.")],description:n.NC("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:V(new class extends u{constructor(){super(108,"smartSelect",{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:n.NC("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:_(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}:this.defaultValue}}),smoothScrolling:V(new v(109,"smoothScrolling",!1,{description:n.NC("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:V(new b(112,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:V(new class extends u{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!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(113,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[n.NC("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),n.NC("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:n.NC("suggest.insertMode","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:n.NC("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:n.NC("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:n.NC("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[n.NC("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),n.NC("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),n.NC("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),n.NC("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:n.NC("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:n.NC("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:n.NC("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:n.NC("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:n.NC("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:n.NC("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:n.NC("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:n.NC("deprecated","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:n.NC("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:n.NC("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:L(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:_(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:_(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:_(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:_(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:L(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:_(t.showIcons,this.defaultValue.showIcons),showStatusBar:_(t.showStatusBar,this.defaultValue.showStatusBar),preview:_(t.preview,this.defaultValue.preview),previewMode:L(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:_(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:_(t.showMethods,this.defaultValue.showMethods),showFunctions:_(t.showFunctions,this.defaultValue.showFunctions),showConstructors:_(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:_(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:_(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:_(t.showFields,this.defaultValue.showFields),showVariables:_(t.showVariables,this.defaultValue.showVariables),showClasses:_(t.showClasses,this.defaultValue.showClasses),showStructs:_(t.showStructs,this.defaultValue.showStructs),showInterfaces:_(t.showInterfaces,this.defaultValue.showInterfaces),showModules:_(t.showModules,this.defaultValue.showModules),showProperties:_(t.showProperties,this.defaultValue.showProperties),showEvents:_(t.showEvents,this.defaultValue.showEvents),showOperators:_(t.showOperators,this.defaultValue.showOperators),showUnits:_(t.showUnits,this.defaultValue.showUnits),showValues:_(t.showValues,this.defaultValue.showValues),showConstants:_(t.showConstants,this.defaultValue.showConstants),showEnums:_(t.showEnums,this.defaultValue.showEnums),showEnumMembers:_(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:_(t.showKeywords,this.defaultValue.showKeywords),showWords:_(t.showWords,this.defaultValue.showWords),showColors:_(t.showColors,this.defaultValue.showColors),showFiles:_(t.showFiles,this.defaultValue.showFiles),showReferences:_(t.showReferences,this.defaultValue.showReferences),showFolders:_(t.showFolders,this.defaultValue.showFolders),showTypeParameters:_(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:_(t.showSnippets,this.defaultValue.showSnippets),showUsers:_(t.showUsers,this.defaultValue.showUsers),showIssues:_(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:V(new class extends u{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1};super(60,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:n.NC("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover"],enumDescriptions:[n.NC("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),n.NC("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion.")],description:n.NC("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:n.NC("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:_(t.enabled,this.defaultValue.enabled),mode:L(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:L(t.showToolbar,this.defaultValue.showToolbar,["always","onHover"]),suppressSuggestions:_(t.suppressSuggestions,this.defaultValue.suppressSuggestions)}}}),suggestFontSize:V(new b(114,"suggestFontSize",0,0,1e3,{markdownDescription:n.NC("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:V(new b(115,"suggestLineHeight",0,0,1e3,{markdownDescription:n.NC("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:V(new v(116,"suggestOnTriggerCharacters",!0,{description:n.NC("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:V(new y(117,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[n.NC("suggestSelection.first","Always select the first suggestion."),n.NC("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),n.NC("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:n.NC("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:V(new y(118,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[n.NC("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),n.NC("tabCompletion.off","Disable tab completions."),n.NC("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:n.NC("tabCompletion","Enables tab completions.")})),tabIndex:V(new b(119,"tabIndex",0,-1,1073741824)),unicodeHighlight:V(new class extends u{constructor(){const e={nonBasicASCII:P,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:P,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(120,"unicodeHighlight",e,{[E.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,P],default:e.nonBasicASCII,description:n.NC("unicodeHighlight.nonBasicASCII","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.")},[E.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:n.NC("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[E.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:n.NC("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[E.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,P],default:e.includeComments,description:n.NC("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[E.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,P],default:e.includeStrings,description:n.NC("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[E.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:n.NC("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[E.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:n.NC("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(a.fS(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),i=!0)),t.allowedLocales&&e&&(a.fS(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),i=!0));const n=super.applyUpdate(e,t);return i?new g(n.newValue,!0):n}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:O(t.nonBasicASCII,P,[!0,!1,P]),invisibleCharacters:_(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:_(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:O(t.includeComments,P,[!0,!1,P]),includeStrings:O(t.includeStrings,P,[!0,!1,P]),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:V(new y(121,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[n.NC("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),n.NC("unusualLineTerminators.off","Unusual line terminators are ignored."),n.NC("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:n.NC("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:V(new v(122,"useShadowDOM",!0)),useTabStops:V(new v(123,"useTabStops",!0,{description:n.NC("useTabStops","Inserting and deleting whitespace follows tab stops.")})),wordBreak:V(new y(124,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[n.NC("wordBreak.normal","Use the default line break rule."),n.NC("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:n.NC("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:V(new S(125,"wordSeparators",s.vu,{description:n.NC("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:V(new y(126,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[n.NC("wordWrap.off","Lines will never wrap."),n.NC("wordWrap.on","Lines will wrap at the viewport width."),n.NC({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),n.NC({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:n.NC({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:V(new S(127,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:V(new S(128,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:V(new b(129,"wordWrapColumn",80,1,1073741824,{markdownDescription:n.NC({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:V(new y(130,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:V(new y(131,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:V(new class extends m{constructor(){super(136)}compute(e,t,i){const n=["monaco-editor"];return t.get(37)&&n.push(t.get(37)),e.extraEditorClassName&&n.push(e.extraEditorClassName),"default"===t.get(71)?n.push("mouse-default"):"copy"===t.get(71)&&n.push("mouse-copy"),t.get(106)&&n.push("showUnused"),t.get(134)&&n.push("showDeprecated"),n.join(" ")}}),pixelRatio:V(new class extends m{constructor(){super(137)}compute(e,t,i){return e.pixelRatio}}),tabFocusMode:V(new v(138,"tabFocusMode",!1,{markdownDescription:n.NC("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:V(new D),wrappingInfo:V(new class extends m{constructor(){super(140)}compute(e,t,i){const n=t.get(139);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}),wrappingIndent:V(new class extends u{constructor(){super(132,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[n.NC("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),n.NC("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),n.NC("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),n.NC("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:n.NC("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return 2===t.get(2)?0:i}}),wrappingStrategy:V(new class extends u{constructor(){super(133,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[n.NC("wrappingStrategy.simple","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."),n.NC("wrappingStrategy.advanced","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.")],type:"string",enum:["simple","advanced"],default:"simple",description:n.NC("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return L(e,"simple",["simple","advanced"])}compute(e,t,i){return 2===t.get(2)?"advanced":i}})}},82334:(e,t,i)=>{i.d(t,{C:()=>o});var n=i(4669);const o=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new n.Q5,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}},27374:(e,t,i)=>{i.d(t,{E4:()=>a,pR:()=>l});var n=i(1432),o=i(64141),s=i(82334);const r=n.dz?1.5:1.35;class a{static createFromValidatedSettings(e,t,i){const n=e.get(47),o=e.get(51),s=e.get(50),r=e.get(49),l=e.get(52),d=e.get(64),c=e.get(61);return a._create(n,o,s,r,l,d,c,t,i)}static _create(e,t,i,n,l,d,c,h,u){0===d?d=r*i:d<8&&(d*=i),(d=Math.round(d))<8&&(d=8);const g=1+(u?0:.1*s.C.getZoomLevel());if(i*=g,d*=g,l===o.Bo.TRANSLATE)if("normal"===t||"bold"===t)l=o.Bo.OFF;else{l=`'wght' ${parseInt(t,10)}`,t="normal"}return new a({pixelRatio:h,fontFamily:e,fontWeight:t,fontSize:i,fontFeatureSettings:n,fontVariationSettings:l,lineHeight:d,letterSpacing:c})}constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.fontVariationSettings=e.fontVariationSettings,this.lineHeight=0|e.lineHeight,this.letterSpacing=e.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const e=o.hL.fontFamily,t=a._wrapInQuotes(this.fontFamily);return e&&this.fontFamily!==e?`${t}, ${e}`:t}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}}class l extends a{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=2,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}}},44906:(e,t,i)=>{i.d(t,{N:()=>o,q:()=>s});var n=i(85427);class o{constructor(e){const t=(0,n.K)(e);this._defaultValue=t,this._asciiMap=o._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=(0,n.K)(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}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class s{constructor(){this._actual=new o(0)}add(e){this._actual.set(e,1)}has(e){return 1===this._actual.get(e)}clear(){return this._actual.clear()}}},7988:(e,t,i)=>{i.d(t,{i:()=>o});var n=i(97295);class o{static _nextVisibleColumn(e,t,i){return 9===e?o.nextRenderTabStop(t,i):n.K7(e)||n.C8(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const o=Math.min(t-1,e.length),s=e.substring(0,o),r=new n.W1(s);let a=0;for(;!r.eol();){const e=n.ZH(s,o,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(e,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const o=e.length,s=new n.W1(e);let r=0,a=1;for(;!s.eol();){const l=n.ZH(e,o,s.offset);s.nextGraphemeLength();const d=this._nextVisibleColumn(l,r,i),c=s.offset+1;if(d>=t){return d-t{i.d(t,{h:()=>o});var n=i(24314);class o{static insert(e,t){return{range:new n.e(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}},8625:(e,t,i)=>{i.d(t,{Bj:()=>f,CE:()=>x,DS:()=>E,HV:()=>z,Jn:()=>A,Kh:()=>a,L7:()=>H,Mm:()=>l,Qb:()=>V,Re:()=>L,To:()=>B,UP:()=>I,Vs:()=>N,YF:()=>F,Ym:()=>g,dI:()=>h,eS:()=>y,e_:()=>v,f9:()=>U,fY:()=>c,hw:()=>p,lK:()=>S,lS:()=>O,m$:()=>P,m1:()=>D,m3:()=>W,m9:()=>w,n0:()=>d,oV:()=>R,r0:()=>T,tR:()=>u,ts:()=>M,zJ:()=>k,zu:()=>C,zw:()=>_});var n=i(63580),o=i(41264),s=i(73910),r=i(97781);const a=(0,s.P6G)("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},n.NC("lineHighlight","Background color for the highlight of line at the cursor position.")),l=(0,s.P6G)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.lRK},n.NC("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),d=((0,s.P6G)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},n.NC("rangeHighlight","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),(0,s.P6G)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.xL1,hcLight:s.xL1},n.NC("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),(0,s.P6G)("editor.symbolHighlightBackground",{dark:s.MUv,light:s.MUv,hcDark:null,hcLight:null},n.NC("symbolHighlight","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),(0,s.P6G)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.xL1,hcLight:s.xL1},n.NC("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0),(0,s.P6G)("editorCursor.foreground",{dark:"#AEAFAD",light:o.Il.black,hcDark:o.Il.white,hcLight:"#0F4A85"},n.NC("caret","Color of the editor cursor."))),c=(0,s.P6G)("editorCursor.background",null,n.NC("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),h=(0,s.P6G)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},n.NC("editorWhitespaces","Color of whitespace characters in the editor.")),u=(0,s.P6G)("editorIndentGuide.background",{dark:h,light:h,hcDark:h,hcLight:h},n.NC("editorIndentGuides","Color of the editor indentation guides.")),g=(0,s.P6G)("editorIndentGuide.activeBackground",{dark:h,light:h,hcDark:h,hcLight:h},n.NC("editorActiveIndentGuide","Color of the active editor indentation guides.")),p=(0,s.P6G)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:o.Il.white,hcLight:"#292929"},n.NC("editorLineNumbers","Color of editor line numbers.")),m=(0,s.P6G)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.xL1,hcLight:s.xL1},n.NC("editorActiveLineNumber","Color of editor active line number"),!1,n.NC("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),f=((0,s.P6G)("editorLineNumber.activeForeground",{dark:m,light:m,hcDark:m,hcLight:m},n.NC("editorActiveLineNumber","Color of editor active line number")),(0,s.P6G)("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},n.NC("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."))),_=((0,s.P6G)("editorRuler.foreground",{dark:"#5A5A5A",light:o.Il.lightgrey,hcDark:o.Il.white,hcLight:"#292929"},n.NC("editorRuler","Color of the editor rulers.")),(0,s.P6G)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},n.NC("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.P6G)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},n.NC("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.P6G)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.lRK,hcLight:s.lRK},n.NC("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.P6G)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},n.NC("editorOverviewRulerBorder","Color of the overview ruler border."))),v=(0,s.P6G)("editorOverviewRuler.background",null,n.NC("editorOverviewRulerBackground","Background color of the editor overview ruler.")),C=((0,s.P6G)("editorGutter.background",{dark:s.cvW,light:s.cvW,hcDark:s.cvW,hcLight:s.cvW},n.NC("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.P6G)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:o.Il.fromHex("#fff").transparent(.8),hcLight:s.lRK},n.NC("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.P6G)("editorUnnecessaryCode.opacity",{dark:o.Il.fromHex("#000a"),light:o.Il.fromHex("#0007"),hcDark:null,hcLight:null},n.NC("unnecessaryCodeOpacity","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."))),b=((0,s.P6G)("editorGhostText.border",{dark:null,light:null,hcDark:o.Il.fromHex("#fff").transparent(.8),hcLight:o.Il.fromHex("#292929").transparent(.8)},n.NC("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.P6G)("editorGhostText.foreground",{dark:o.Il.fromHex("#ffffff56"),light:o.Il.fromHex("#0007"),hcDark:null,hcLight:null},n.NC("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.P6G)("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},n.NC("editorGhostTextBackground","Background color of the ghost text in the editor.")),new o.Il(new o.VS(0,122,204,.6))),w=(0,s.P6G)("editorOverviewRuler.rangeHighlightForeground",{dark:b,light:b,hcDark:b,hcLight:b},n.NC("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),S=(0,s.P6G)("editorOverviewRuler.errorForeground",{dark:new o.Il(new o.VS(255,18,18,.7)),light:new o.Il(new o.VS(255,18,18,.7)),hcDark:new o.Il(new o.VS(255,50,50,1)),hcLight:"#B5200D"},n.NC("overviewRuleError","Overview ruler marker color for errors.")),L=(0,s.P6G)("editorOverviewRuler.warningForeground",{dark:s.uoC,light:s.uoC,hcDark:s.pW3,hcLight:s.pW3},n.NC("overviewRuleWarning","Overview ruler marker color for warnings.")),y=(0,s.P6G)("editorOverviewRuler.infoForeground",{dark:s.c63,light:s.c63,hcDark:s.T83,hcLight:s.T83},n.NC("overviewRuleInfo","Overview ruler marker color for infos.")),k=(0,s.P6G)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},n.NC("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),N=(0,s.P6G)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},n.NC("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),x=(0,s.P6G)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},n.NC("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),I=(0,s.P6G)("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),T=(0,s.P6G)("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),D=(0,s.P6G)("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),M=(0,s.P6G)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new o.Il(new o.VS(255,18,18,.8)),light:new o.Il(new o.VS(255,18,18,.8)),hcDark:new o.Il(new o.VS(255,50,50,1)),hcLight:""},n.NC("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),R=(0,s.P6G)("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),P=(0,s.P6G)("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),E=(0,s.P6G)("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),O=(0,s.P6G)("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),A=(0,s.P6G)("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),F=(0,s.P6G)("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),V=(0,s.P6G)("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),W=(0,s.P6G)("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),B=(0,s.P6G)("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),H=(0,s.P6G)("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),z=(0,s.P6G)("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),U=(0,s.P6G)("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},n.NC("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,s.P6G)("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:"#CEA33D"},n.NC("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.P6G)("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:"#cea33d14"},n.NC("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));(0,r.Ic)(((e,t)=>{const i=e.getColor(s.cvW),n=e.getColor(a),o=n&&!n.isTransparent()?n:i;o&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${o}; }`)}))},23795:(e,t,i)=>{function n(e){let t=0,i=0,n=0,o=0;for(let s=0,r=e.length;sn})},83158:(e,t,i)=>{i.d(t,{x:()=>s});var n=i(97295),o=i(7988);function s(e,t,i){let s=n.LC(e);return-1===s&&(s=e.length),function(e,t,i){let n=0;for(let i=0;i{i.d(t,{z:()=>o});var n=i(17301);class o{static joinMany(e){if(0===e.length)return[];let t=e[0];for(let i=1;i=a.startLineNumber?r=new o(r.startLineNumber,Math.max(r.endLineNumberExclusive,a.endLineNumberExclusive)):(i.push(r),r=a)}return null!==r&&i.push(r),i}constructor(e,t){if(e>t)throw new n.he(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e{i.d(t,{q:()=>o});var n=i(17301);class o{static addRange(e,t){let i=0;for(;it))return new o(e,t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new n.he(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new o(this.start+e,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}join(e){return new o(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){const t=Math.max(this.start,e.start),i=Math.min(this.endExclusive,e.endExclusive);if(t<=i)return new o(t,i)}}},50187:(e,t,i)=>{i.d(t,{L:()=>n});class n{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 n(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return n.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return n.isBefore(this,e)}static isBefore(e,t){return e.lineNumber{i.d(t,{e:()=>o});var n=i(50187);class o{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 o.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return o.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 o.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 o.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 o.plusRange(this,e)}static plusRange(e,t){let i,n,s,r;return t.startLineNumbere.endLineNumber?(s=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,r=e.endColumn),new o(i,n,s,r)}intersectRanges(e){return o.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,s=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,d=t.endLineNumber,c=t.endColumn;return id?(s=d,r=c):s===d&&(r=Math.min(r,c)),i>s||i===s&&n>r?null:new o(i,n,s,r)}equalsRange(e){return o.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return o.getEndPosition(this)}static getEndPosition(e){return new n.L(e.endLineNumber,e.endColumn)}getStartPosition(){return o.getStartPosition(this)}static getStartPosition(e){return new n.L(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new o(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new o(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return o.collapseToStart(this)}static collapseToStart(e){return new o(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return o.collapseToEnd(this)}static collapseToEnd(e){return new o(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new o(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new o(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new o(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}}},89636:(e,t,i)=>{i.d(t,{h:()=>n});class n{constructor(e,t,i,o){this._rgba8Brand=void 0,this.r=n._clamp(e),this.g=n._clamp(t),this.b=n._clamp(i),this.a=n._clamp(o)}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}}n.Empty=new n(0,0,0,0)},3860:(e,t,i)=>{i.d(t,{Y:()=>s});var n=i(50187),o=i(24314);class s extends o.e{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 s.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 s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new n.L(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new n.L(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(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;i{i.d(t,{HT:()=>u,kH:()=>h,oe:()=>c});var n=i(97295),o=i(1432),s=i(53060);let r,a,l;function d(){return r||(r=new TextDecoder("UTF-16LE")),r}function c(){return l||(l=o.r()?d():(a||(a=new TextDecoder("UTF-16BE")),a)),l}function h(e,t,i){const n=new Uint16Array(e.buffer,t,i);return i>0&&(65279===n[0]||65534===n[0])?function(e,t,i){const n=[];let o=0;for(let r=0;r=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(let i=0;i{i.d(t,{b:()=>a,q:()=>r});var n=i(53060),o=i(50072);function s(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class r{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}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${s(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${s(this.oldText)}")`:`(replace@${this.oldPosition} "${s(this.oldText)}" with "${s(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const o=t.length;n.T4(e,o,i),i+=4;for(let s=0;s{i.d(t,{D:()=>n});const n={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},24929:(e,t,i)=>{i.d(t,{u:()=>s});var n=i(44906);class o extends n.N{constructor(e){super(0);for(let t=0,i=e.length;t(t.hasOwnProperty(i)||(t[i]=e(i)),t[i])}((e=>new o(e)))},270:(e,t,i)=>{i.d(t,{Af:()=>r,eq:()=>a,t2:()=>d,vu:()=>s});var n=i(53725),o=i(91741);const s="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";const r=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of s)e.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}();function a(e){let t=r;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 l=new o.S;function d(e,t,i,o,s){if(s||(s=n.$.first(l)),i.length>s.maxLen){let n=e-s.maxLen/2;return n<0?n=0:o+=n,d(e,t,i=i.substring(n,e+s.maxLen/2),o,s)}const r=Date.now(),a=e-1-o;let h=-1,u=null;for(let e=1;!(Date.now()-r>=s.timeBudget);e++){const n=a-s.windowSize*e;t.lastIndex=Math.max(0,n);const o=c(t,i,a,h);if(!o&&u)break;if(u=o,n<=0)break;h=n}if(u){const e={word:u[0],startColumn:o+1+u.index,endColumn:o+1+u.index+u[0].length};return t.lastIndex=0,e}return null}function c(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}l.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},47128:(e,t,i)=>{i.d(t,{l:()=>o});var n=i(7988);class o{static whitespaceVisibleColumn(e,t,i){const o=e.length;let s=0,r=-1,a=-1;for(let l=0;l{i.d(t,{U:()=>r});var n=i(55343),o=i(50187),s=i(24314);class r{static columnSelect(e,t,i,r,a,l){const d=Math.abs(a-i)+1,c=i>a,h=r>l,u=rl)continue;if(_r)continue;if(f0&&n--,r.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,n)}static columnSelectRight(e,t,i){let n=0;const s=Math.min(i.fromViewLineNumber,i.toViewLineNumber),r=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let i=s;i<=r;i++){const s=t.getLineMaxColumn(i),r=e.visibleColumnFromColumn(t,new o.L(i,s));n=Math.max(n,r)}let a=i.toViewVisualColumn;return a{i.d(t,{A:()=>c});var n=i(97295),o=i(61329),s=i(55343),r=i(7988),a=i(10839),l=i(24314),d=i(50187);class c{static deleteRight(e,t,i,n){const s=[];let r=3!==e;for(let e=0,d=n.length;e=h.length+1)return!1;const u=h.charAt(c.column-2),g=n.get(u);if(!g)return!1;if((0,s.LN)(u)){if("never"===i)return!1}else if("never"===t)return!1;const p=h.charAt(c.column-1);let m=!1;for(const e of g)e.open===u&&e.close===p&&(m=!0);if(!m)return!1;if("auto"===e){let e=!1;for(let t=0,i=a.length;t1){const e=t.getLineContent(o.lineNumber),s=n.LC(e),a=-1===s?e.length+1:s+1;if(o.column<=a){const e=i.visibleColumnFromColumn(t,o),n=r.i.prevIndentTabStop(e,i.indentSize),s=i.columnFromVisibleColumn(t,o.lineNumber,n);return new l.e(o.lineNumber,s,o.lineNumber,o.column)}}return l.e.fromPositions(c.getPositionAfterDeleteLeft(o,t),o)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=n.oH(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 d.L(i,t.getLineMaxColumn(i))}return e}static cut(e,t,i){const n=[];let r=null;i.sort(((e,t)=>d.L.compare(e.getStartPosition(),t.getEndPosition())));for(let s=0,a=i.length;s1&&(null==r?void 0:r.endLineNumber)!==e.lineNumber?(i=e.lineNumber-1,d=t.getLineMaxColumn(e.lineNumber-1),c=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber)):(i=e.lineNumber,d=1,c=e.lineNumber,h=t.getLineMaxColumn(e.lineNumber));const u=new l.e(i,d,c,h);r=u,u.isEmpty()?n[s]=null:n[s]=new o.T4(u,"")}else n[s]=null;else n[s]=new o.T4(a,"")}return new s.Tp(0,n,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},28108:(e,t,i)=>{i.d(t,{N:()=>n,P:()=>c});var n,o=i(98401),s=i(55343),r=i(10839),a=i(92896),l=i(50187),d=i(24314);class c{static addCursorDown(e,t,i){const n=[];let o=0;for(let a=0,l=t.length;at&&(i=t,n=e.model.getLineMaxColumn(i)),s.Vi.fromModelState(new s.rS(new d.e(r.lineNumber,1,i,n),2,0,new l.L(i,n),0))}const c=t.modelState.selectionStart.getStartPosition().lineNumber;if(r.lineNumberc){const i=e.getLineCount();let n=a.lineNumber+1,o=1;return n>i&&(n=i,o=e.getLineMaxColumn(n)),s.Vi.fromViewState(t.viewState.move(!0,n,o,0))}{const e=t.modelState.selectionStart.getEndPosition();return s.Vi.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,i,n){const o=e.model.validatePosition(n);return s.Vi.fromModelState(a.w.word(e.cursorConfig,e.model,t.modelState,i,o))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new s.Vi(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,n=t.viewState.position.column;return s.Vi.fromViewState(new s.rS(new d.e(i,n,i,n),0,0,new l.L(i,n),0))}static moveTo(e,t,i,n,o){if(i){if(1===t.modelState.selectionStartKind)return this.word(e,t,i,n);if(2===t.modelState.selectionStartKind)return this.line(e,t,i,n,o)}const r=e.model.validatePosition(n),a=o?e.coordinatesConverter.validateViewPosition(new l.L(o.lineNumber,o.column),r):e.coordinatesConverter.convertModelPositionToViewPosition(r);return s.Vi.fromViewState(t.viewState.move(i,a.lineNumber,a.column,0))}static simpleMove(e,t,i,n,o,a){switch(i){case 0:return 4===a?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,o);case 1:return 4===a?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,o);case 2:return 2===a?this._moveUpByViewLines(e,t,n,o):this._moveUpByModelLines(e,t,n,o);case 3:return 2===a?this._moveDownByViewLines(e,t,n,o):this._moveDownByModelLines(e,t,n,o);case 4:return 2===a?t.map((t=>s.Vi.fromViewState(r.o.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>s.Vi.fromModelState(r.o.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,n))));case 5:return 2===a?t.map((t=>s.Vi.fromViewState(r.o.moveToNextBlankLine(e.cursorConfig,e,t.viewState,n)))):t.map((t=>s.Vi.fromModelState(r.o.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:os.Vi.fromViewState(r.o.moveLeft(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineLeft(e,t,i){const n=[];for(let o=0,a=t.length;os.Vi.fromViewState(r.o.moveRight(e.cursorConfig,e,t.viewState,i,n))))}static _moveHalfLineRight(e,t,i){const n=[];for(let o=0,a=t.length;o{i.d(t,{o:()=>c});var n=i(55343),o=i(7988),s=i(50187),r=i(24314),a=i(97295),l=i(47128);class d{constructor(e,t,i){this._cursorPositionBrand=void 0,this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=i}}class c{static leftPosition(e,t){if(t.column>e.getLineMinColumn(t.lineNumber))return t.delta(void 0,-a.HO(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new s.L(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),r=l.l.atomicPosition(o,t.column-1,i,0);if(-1!==r&&r+1>=n)return new s.L(t.lineNumber,r+1)}return this.leftPosition(e,t)}static left(e,t,i){const n=e.stickyTabStops?c.leftPositionAtomicSoftTabs(t,i,e.tabSize):c.leftPosition(t,i);return new d(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(c.clipPositionColumn(n,t),0),l=c.left(e,t,a);s=l.lineNumber,r=l.column}return i.move(n,s,r,0)}static clipPositionColumn(e,t){return new s.L(e.lineNumber,c.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 iu?(i=u,n=l?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),n)):n=e.columnFromVisibleColumn(t,i,h),r=m?0:h-o.i.visibleColumnFromColumn(t.getLineContent(i),n,e.tabSize),void 0!==c){const e=new s.L(i,n),o=t.normalizePosition(e,c);r+=n-o.column,i=o.lineNumber,n=o.column}return new d(i,n,r)}static down(e,t,i,n,o,s,r){return this.vertical(e,t,i,n,o,i+s,r,4)}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=c.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 o=i.selection,a=c.down(e,t,o.selectionStartLineNumber,o.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),l=c.down(e,t,o.positionLineNumber,o.positionColumn,i.leftoverVisibleColumns,1,!1);return new n.rS(new r.e(a.lineNumber,a.column,a.lineNumber,a.column),0,a.leftoverVisibleColumns,new s.L(l.lineNumber,l.column),l.leftoverVisibleColumns)}static up(e,t,i,n,o,s,r){return this.vertical(e,t,i,n,o,i-s,r,3)}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=c.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 o=i.selection,a=c.up(e,t,o.selectionStartLineNumber,o.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),l=c.up(e,t,o.positionLineNumber,o.positionColumn,i.leftoverVisibleColumns,1,!1);return new n.rS(new r.e(a.lineNumber,a.column,a.lineNumber,a.column),0,a.leftoverVisibleColumns,new s.L(l.lineNumber,l.column),l.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{i.d(t,{Nu:()=>w,u6:()=>C,g_:()=>b});var n=i(17301),o=i(97295),s=i(61329),r=i(10291),a=i(24314),l=i(3860);class d{constructor(e,t,i){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=i}getEditOperations(e,t){t.addTrackedEditOperation(new a.e(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new a.e(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(e,t){const i=t.getInverseEditOperations(),n=i[0].range,o=i[1].range;return new l.Y(n.endLineNumber,n.endColumn,o.endLineNumber,o.endColumn-this._charAfterSelection.length)}}class c{constructor(e,t,i){this._position=e,this._text=t,this._charAfter=i}getEditOperations(e,t){t.addTrackedEditOperation(new a.e(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return new l.Y(i.endLineNumber,i.startColumn,i.endLineNumber,i.endColumn-this._charAfter.length)}}var h=i(55343),u=i(24929),g=i(50187),p=i(49119),m=i(51381),f=i(19111),_=i(75383),v=i(1615);class C{static indent(e,t,i){if(null===t||null===i)return[];const n=[];for(let t=0,o=i.length;t1){let n;for(n=i-1;n>=1;n--){const e=t.getLineContent(n);if(o.ow(e)>=0)break}if(n<1)return null;const r=t.getLineMaxColumn(n),l=(0,v.A)(e.autoIndent,t,new a.e(n,r,n,r),e.languageConfigurationService);l&&(s=l.indentation+l.appendText)}return n&&(n===p.wU.Indent&&(s=C.shiftIndent(e,s)),n===p.wU.Outdent&&(s=C.unshiftIndent(e,s)),s=e.normalizeIndentation(s)),s||null}static _replaceJumpToNextIndent(e,t,i,n){let o="";const r=i.getStartPosition();if(e.insertSpaces){const i=e.visibleColumnFromColumn(t,r),n=e.indentSize,s=n-i%n;for(let e=0;ethis._compositionType(i,e,o,s,r,a)));return new h.Tp(4,l,{shouldPushStackElementBefore:L(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,n,o,r){if(!t.isEmpty())return null;const l=t.getPosition(),d=Math.max(1,l.column-n),c=Math.min(e.getLineMaxColumn(l.lineNumber),l.column+o),h=new a.e(l.lineNumber,d,l.lineNumber,c);return e.getValueInRange(h)===i&&0===r?null:new s.Uo(h,i,0,r)}static _typeCommand(e,t,i){return i?new s.Sj(e,t,!0):new s.T4(e,t,!0)}static _enter(e,t,i,n){if(0===e.autoIndent)return C._typeCommand(n,"\n",i);if(!t.tokenization.isCheapToTokenize(n.getStartPosition().lineNumber)||1===e.autoIndent){const s=t.getLineContent(n.startLineNumber),r=o.V8(s).substring(0,n.startColumn-1);return C._typeCommand(n,"\n"+e.normalizeIndentation(r),i)}const r=(0,v.A)(e.autoIndent,t,n,e.languageConfigurationService);if(r){if(r.indentAction===p.wU.None)return C._typeCommand(n,"\n"+e.normalizeIndentation(r.indentation+r.appendText),i);if(r.indentAction===p.wU.Indent)return C._typeCommand(n,"\n"+e.normalizeIndentation(r.indentation+r.appendText),i);if(r.indentAction===p.wU.IndentOutdent){const t=e.normalizeIndentation(r.indentation),o=e.normalizeIndentation(r.indentation+r.appendText),a="\n"+o+"\n"+t;return i?new s.Sj(n,a,!0):new s.Uo(n,a,-1,o.length-t.length,!0)}if(r.indentAction===p.wU.Outdent){const t=C.unshiftIndent(e,r.indentation);return C._typeCommand(n,"\n"+e.normalizeIndentation(t+r.appendText),i)}}const a=t.getLineContent(n.startLineNumber),l=o.V8(a).substring(0,n.startColumn-1);if(e.autoIndent>=4){const r=(0,_.UF)(e.autoIndent,t,n,{unshiftIndent:t=>C.unshiftIndent(e,t),shiftIndent:t=>C.shiftIndent(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(r){let a=e.visibleColumnFromColumn(t,n.getEndPosition());const l=n.endColumn,d=t.getLineContent(n.endLineNumber),c=o.LC(d);if(n=c>=0?n.setEndPosition(n.endLineNumber,Math.max(n.endColumn,c+1)):n.setEndPosition(n.endLineNumber,t.getLineMaxColumn(n.endLineNumber)),i)return new s.Sj(n,"\n"+e.normalizeIndentation(r.afterEnter),!0);{let t=0;return l<=c+1&&(e.insertSpaces||(a=Math.ceil(a/e.indentSize)),t=Math.min(a+1-e.normalizeIndentation(r.afterEnter).length-1,0)),new s.Uo(n,"\n"+e.normalizeIndentation(r.afterEnter),0,t,!0)}}}return C._typeCommand(n,"\n"+e.normalizeIndentation(l),i)}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let e=0,n=i.length;eC.shiftIndent(e,t),unshiftIndent:t=>C.unshiftIndent(e,t)},e.languageConfigurationService);if(null===s)return null;if(s!==e.normalizeIndentation(o)){const o=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);return 0===o?C._typeCommand(new a.e(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(s)+n,!1):C._typeCommand(new a.e(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)&&d)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 a.e(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=(0,h.LN)(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}})),d=this._findAutoClosingPairOpen(e,t,l.map((e=>new g.L(e.lineNumber,e.beforeColumn))),n);if(!d)return null;const c=this._findContainedAutoClosingPair(e,d),p=c?c.close:"";let m=!0;for(const i of l){const{lineNumber:o,beforeColumn:s,afterColumn:l}=i,c=t.getLineContent(o),h=c.substring(0,s-1),g=c.substring(l-1);if(g.startsWith(p)||(m=!1),g.length>0){const t=g.charAt(0);if(!C._isBeforeClosingBrace(e,g)&&!a(t))return null}if(1===d.open.length&&("'"===n||'"'===n)&&"always"!==r){const t=(0,u.u)(e.wordSeparators);if(h.length>0){const e=h.charCodeAt(h.length-1);if(0===t.get(e))return null}}if(!t.tokenization.isCheapToTokenize(o))return null;t.tokenization.forceTokenization(o);const _=t.tokenization.getLineTokens(o),v=(0,f.wH)(_,s-1);if(!d.shouldAutoClose(v,s-v.firstCharOffset))return null;const b=d.findNeutralCharacter();if(b){const e=t.tokenization.getTokenTypeIfInsertingCharacter(o,s,b);if(!d.isOK(e))return null}}return m?d.close.substring(0,d.close.length-p.length):d.close}static _runAutoClosingOpenCharType(e,t,i,n,o,s,r){const a=[];for(let e=0,t=n.length;enew s.T4(new a.e(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),"",!1)));return new h.Tp(4,e,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const g=this._getAutoClosingPairClose(t,i,o,d,!0);return null!==g?this._runAutoClosingOpenCharType(e,t,i,o,d,!0,g):null}static typeWithInterceptors(e,t,i,n,o,r,a){if(!e&&"\n"===a){const e=[];for(let t=0,s=o.length;t{i.d(t,{L:()=>c,w:()=>d});var n=i(97295),o=i(55343),s=i(29436),r=i(24929),a=i(50187),l=i(24314);class d{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=d._findPreviousWordOnLine(e,t,new a.L(o,s));if(0===n)return new a.L(o,r?r.start+1:1);if(1===n)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=d._findPreviousWordOnLine(e,t,new a.L(o,r.start+1))),new a.L(o,r?r.start+1:1);if(3===n){for(;r&&2===r.wordType;)r=d._findPreviousWordOnLine(e,t,new a.L(o,r.start+1));return new a.L(o,r?r.start+1:1)}return r&&s<=r.end+1&&(r=d._findPreviousWordOnLine(e,t,new a.L(o,r.start+1))),new a.L(o,r?r.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,o=e.getLineMaxColumn(i);if(1===t.column)return i>1?new a.L(i-1,e.getLineMaxColumn(i-1)):t;const s=e.getLineContent(i);for(let e=t.column-1;e>1;e--){const t=s.charCodeAt(e-2),r=s.charCodeAt(e-1);if(95===t&&95!==r)return new a.L(i,e);if(45===t&&45!==r)return new a.L(i,e);if((n.mK(t)||n.T5(t))&&n.df(r))return new a.L(i,e);if(n.df(t)&&n.df(r)&&e+1=l.start+1&&(l=d._findNextWordOnLine(e,t,new a.L(o,l.end+1))),s=l?l.start+1:t.getLineMaxColumn(o);return new a.L(o,s)}static _moveWordPartRight(e,t){const i=t.lineNumber,o=e.getLineMaxColumn(i);if(t.column===o)return i1?u=1:(h--,u=n.getLineMaxColumn(h)):(g&&u<=g.end+1&&(g=d._findPreviousWordOnLine(i,n,new a.L(h,g.start+1))),g?u=g.end+1:u>1?u=1:(h--,u=n.getLineMaxColumn(h))),new l.e(h,u,c.lineNumber,c.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const n=new a.L(i.positionLineNumber,i.positionColumn),o=this._deleteInsideWordWhitespace(t,n);return o||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 l.e(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 l.e(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)},c=d._findPreviousWordOnLine(e,t,i);if(c&&s(c))return a(c);const h=d._findNextWordOnLine(e,t,i);return h&&s(h)?a(h):c&&h?r(c.end+1,h.start+1):c?r(c.start+1,c.end+1):h?r(h.start+1,h.end+1):r(1,o+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),n=d._moveWordPartLeft(e,i);return new l.e(i.lineNumber,i.column,n.lineNumber,n.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let n=t;n=p.start+1&&(p=d._findNextWordOnLine(i,n,new a.L(c,p.end+1))),p?h=p.start+1:hBoolean(e)))}},55343:(e,t,i)=>{i.d(t,{LM:()=>u,LN:()=>v,Tp:()=>_,Vi:()=>g,rS:()=>f});var n=i(50187),o=i(24314),s=i(3860),r=i(19111),a=i(7988),l=i(83158);const d=()=>!0,c=()=>!1,h=e=>" "===e||"\t"===e;class u{static shouldRecreate(e){return e.hasChanged(139)||e.hasChanged(125)||e.hasChanged(35)||e.hasChanged(74)||e.hasChanged(76)||e.hasChanged(77)||e.hasChanged(5)||e.hasChanged(9)||e.hasChanged(7)||e.hasChanged(8)||e.hasChanged(12)||e.hasChanged(123)||e.hasChanged(48)||e.hasChanged(87)}constructor(e,t,i,n){this.languageConfigurationService=n,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const o=i.options,s=o.get(139),r=o.get(48);this.readOnly=o.get(87),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=o.get(111),this.lineHeight=r.lineHeight,this.typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(s.height/this.lineHeight)-2),this.useTabStops=o.get(123),this.wordSeparators=o.get(125),this.emptySelectionClipboard=o.get(35),this.copyWithSyntaxHighlighting=o.get(23),this.multiCursorMergeOverlapping=o.get(74),this.multiCursorPaste=o.get(76),this.multiCursorLimit=o.get(77),this.autoClosingBrackets=o.get(5),this.autoClosingQuotes=o.get(9),this.autoClosingDelete=o.get(7),this.autoClosingOvertype=o.get(8),this.autoSurround=o.get(12),this.autoIndent=o.get(10),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const a=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(a)for(const e of a)this.surroundingPairs[e.open]=e.close}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=(0,r.wH)(t,i-1),o=this.languageConfigurationService.getLanguageConfiguration(n.languageId).electricCharacter;return o?o.onElectricCharacter(e,n,i-n.firstCharOffset):null}normalizeIndentation(e){return(0,l.x)(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return h;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return d;case"never":return c}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>-1!==i.indexOf(e)}visibleColumnFromColumn(e,t){return a.i.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const n=a.i.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),o=e.getLineMinColumn(t);if(ns?s:n}}class g{static fromModelState(e){return new p(e)}static fromViewState(e){return new m(e)}static fromModelSelection(e){const t=s.Y.liftSelection(e),i=new f(o.e.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return g.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,n=e.length;i{i.d(t,{f0:()=>o,hZ:()=>n,iy:()=>s});class n{constructor(e,t){this.changes=e,this.hitTimeout=t}}class o{constructor(e,t,i){this.originalRange=e,this.modifiedRange=t,this.innerChanges=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}}class s{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}}},30653:(e,t,i)=>{i.d(t,{p:()=>n});class n{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(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}},96518:(e,t,i)=>{i.d(t,{g:()=>n});const n={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},29102:(e,t,i)=>{i.d(t,{u:()=>n});var n,o=i(63580),s=i(93983);!function(e){e.editorSimpleInput=new s.uy("editorSimpleInput",!1,!0),e.editorTextFocus=new s.uy("editorTextFocus",!1,o.NC("editorTextFocus","Whether the editor text has focus (cursor is blinking)")),e.focus=new s.uy("editorFocus",!1,o.NC("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),e.textInputFocus=new s.uy("textInputFocus",!1,o.NC("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)")),e.readOnly=new s.uy("editorReadonly",!1,o.NC("editorReadonly","Whether the editor is read only")),e.inDiffEditor=new s.uy("inDiffEditor",!1,o.NC("inDiffEditor","Whether the context is a diff editor")),e.columnSelection=new s.uy("editorColumnSelection",!1,o.NC("editorColumnSelection","Whether `editor.columnSelection` is enabled")),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new s.uy("editorHasSelection",!1,o.NC("editorHasSelection","Whether the editor has text selected")),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new s.uy("editorHasMultipleSelections",!1,o.NC("editorHasMultipleSelections","Whether the editor has multiple selections")),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new s.uy("editorTabMovesFocus",!1,o.NC("editorTabMovesFocus","Whether `Tab` will move focus out of the editor")),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInWalkThroughSnippet=new s.uy("isInEmbeddedEditor",!1,!0),e.canUndo=new s.uy("canUndo",!1,!0),e.canRedo=new s.uy("canRedo",!1,!0),e.hoverVisible=new s.uy("editorHoverVisible",!1,o.NC("editorHoverVisible","Whether the editor hover is visible")),e.hoverFocused=new s.uy("editorHoverFocused",!1,o.NC("editorHoverFocused","Whether the editor hover is focused")),e.stickyScrollFocused=new s.uy("stickyScrollFocused",!1,o.NC("stickyScrollFocused","Whether the sticky scroll is focused")),e.stickyScrollVisible=new s.uy("stickyScrollVisible",!1,o.NC("stickyScrollVisible","Whether the sticky scroll is visible")),e.inCompositeEditor=new s.uy("inCompositeEditor",void 0,o.NC("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)")),e.notInCompositeEditor=e.inCompositeEditor.toNegated(),e.languageId=new s.uy("editorLangId","",o.NC("editorLangId","The language identifier of the editor")),e.hasCompletionItemProvider=new s.uy("editorHasCompletionItemProvider",!1,o.NC("editorHasCompletionItemProvider","Whether the editor has a completion item provider")),e.hasCodeActionsProvider=new s.uy("editorHasCodeActionsProvider",!1,o.NC("editorHasCodeActionsProvider","Whether the editor has a code actions provider")),e.hasCodeLensProvider=new s.uy("editorHasCodeLensProvider",!1,o.NC("editorHasCodeLensProvider","Whether the editor has a code lens provider")),e.hasDefinitionProvider=new s.uy("editorHasDefinitionProvider",!1,o.NC("editorHasDefinitionProvider","Whether the editor has a definition provider")),e.hasDeclarationProvider=new s.uy("editorHasDeclarationProvider",!1,o.NC("editorHasDeclarationProvider","Whether the editor has a declaration provider")),e.hasImplementationProvider=new s.uy("editorHasImplementationProvider",!1,o.NC("editorHasImplementationProvider","Whether the editor has an implementation provider")),e.hasTypeDefinitionProvider=new s.uy("editorHasTypeDefinitionProvider",!1,o.NC("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider")),e.hasHoverProvider=new s.uy("editorHasHoverProvider",!1,o.NC("editorHasHoverProvider","Whether the editor has a hover provider")),e.hasDocumentHighlightProvider=new s.uy("editorHasDocumentHighlightProvider",!1,o.NC("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider")),e.hasDocumentSymbolProvider=new s.uy("editorHasDocumentSymbolProvider",!1,o.NC("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider")),e.hasReferenceProvider=new s.uy("editorHasReferenceProvider",!1,o.NC("editorHasReferenceProvider","Whether the editor has a reference provider")),e.hasRenameProvider=new s.uy("editorHasRenameProvider",!1,o.NC("editorHasRenameProvider","Whether the editor has a rename provider")),e.hasSignatureHelpProvider=new s.uy("editorHasSignatureHelpProvider",!1,o.NC("editorHasSignatureHelpProvider","Whether the editor has a signature help provider")),e.hasInlayHintsProvider=new s.uy("editorHasInlayHintsProvider",!1,o.NC("editorHasInlayHintsProvider","Whether the editor has an inline hints provider")),e.hasDocumentFormattingProvider=new s.uy("editorHasDocumentFormattingProvider",!1,o.NC("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider")),e.hasDocumentSelectionFormattingProvider=new s.uy("editorHasDocumentSelectionFormattingProvider",!1,o.NC("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider")),e.hasMultipleDocumentFormattingProvider=new s.uy("editorHasMultipleDocumentFormattingProvider",!1,o.NC("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers")),e.hasMultipleDocumentSelectionFormattingProvider=new s.uy("editorHasMultipleDocumentSelectionFormattingProvider",!1,o.NC("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))}(n||(n={}))},10637:(e,t,i)=>{i.d(t,{n:()=>s,y:()=>o});const n=[];function o(e){n.push(e)}function s(){return n.slice(0)}},45797:(e,t,i)=>{i.d(t,{N:()=>n});class n{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return 0!=(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}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)}}}},96887:(e,t,i)=>{i.d(t,{mY:()=>l,gX:()=>n,MY:()=>r,DI:()=>C,AD:()=>w,gl:()=>d,bw:()=>o,MO:()=>S,WW:()=>s,uZ:()=>a,WU:()=>_,RW:()=>L,hG:()=>v,vx:()=>b});var n,o,s,r,a,l,d,c=i(73046),h=i(70666),u=i(24314),g=i(4669),p=i(5976),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 p.JT{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}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 this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}))}}class _{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class v{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class C{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}function b(e){return e&&h.o.isUri(e.uri)&&u.e.isIRange(e.range)&&(u.e.isIRange(e.originSelectionRange)||u.e.isIRange(e.targetSelectionRange))}!function(e){const t=new Map;t.set(0,c.l.symbolMethod),t.set(1,c.l.symbolFunction),t.set(2,c.l.symbolConstructor),t.set(3,c.l.symbolField),t.set(4,c.l.symbolVariable),t.set(5,c.l.symbolClass),t.set(6,c.l.symbolStruct),t.set(7,c.l.symbolInterface),t.set(8,c.l.symbolModule),t.set(9,c.l.symbolProperty),t.set(10,c.l.symbolEvent),t.set(11,c.l.symbolOperator),t.set(12,c.l.symbolUnit),t.set(13,c.l.symbolValue),t.set(15,c.l.symbolEnum),t.set(14,c.l.symbolConstant),t.set(15,c.l.symbolEnum),t.set(16,c.l.symbolEnumMember),t.set(17,c.l.symbolKeyword),t.set(27,c.l.symbolSnippet),t.set(18,c.l.symbolText),t.set(19,c.l.symbolColor),t.set(20,c.l.symbolFile),t.set(21,c.l.symbolReference),t.set(22,c.l.symbolCustomColor),t.set(23,c.l.symbolFolder),t.set(24,c.l.symbolTypeParameter),t.set(25,c.l.account),t.set(26,c.l.issues),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for CompletionItemKind "+e),i=c.l.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}}(n||(n={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(o||(o={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(s||(s={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(r||(r={})),function(e){const t=new Map;t.set(0,c.l.symbolFile),t.set(1,c.l.symbolModule),t.set(2,c.l.symbolNamespace),t.set(3,c.l.symbolPackage),t.set(4,c.l.symbolClass),t.set(5,c.l.symbolMethod),t.set(6,c.l.symbolProperty),t.set(7,c.l.symbolField),t.set(8,c.l.symbolConstructor),t.set(9,c.l.symbolEnum),t.set(10,c.l.symbolInterface),t.set(11,c.l.symbolFunction),t.set(12,c.l.symbolVariable),t.set(13,c.l.symbolConstant),t.set(14,c.l.symbolString),t.set(15,c.l.symbolNumber),t.set(16,c.l.symbolBoolean),t.set(17,c.l.symbolArray),t.set(18,c.l.symbolObject),t.set(19,c.l.symbolKey),t.set(20,c.l.symbolNull),t.set(21,c.l.symbolEnumMember),t.set(22,c.l.symbolStruct),t.set(23,c.l.symbolEvent),t.set(24,c.l.symbolOperator),t.set(25,c.l.symbolTypeParameter),e.toIcon=function(e){let i=t.get(e);return i||(console.info("No codicon found for SymbolKind "+e),i=c.l.symbolProperty),i}}(a||(a={}));class w{static fromValue(e){switch(e){case"comment":return w.Comment;case"imports":return w.Imports;case"region":return w.Region}return new w(e)}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)}}(l||(l={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(d||(d={}));class S{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then((e=>{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const L=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new g.Q5,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,p.OF)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}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),(0,p.OF)((()=>{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))}))}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._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}},75383:(e,t,i)=>{i.d(t,{$9:()=>c,UF:()=>d,n8:()=>l,r7:()=>a,tI:()=>h});var n=i(97295),o=i(49119),s=i(19111),r=i(51381);function a(e,t,i,s=!0,r){if(e<4)return null;const a=r.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!a)return null;if(i<=1)return{indentation:"",action:null};for(let e=i-1;e>0&&""===t.getLineContent(e);e--)if(1===e)return{indentation:"",action:null};const l=function(e,t,i){const n=e.tokenization.getLanguageIdAtPosition(t,0);if(t>1){let o,s=-1;for(o=t-1;o>=1;o--){if(e.tokenization.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}(t,i,a);if(l<0)return null;if(l<1)return{indentation:"",action:null};const d=t.getLineContent(l);if(a.shouldIncrease(d)||a.shouldIndentNextLine(d))return{indentation:n.V8(d),action:o.wU.Indent,line:l};if(a.shouldDecrease(d))return{indentation:n.V8(d),action:null,line:l};{if(1===l)return{indentation:n.V8(t.getLineContent(l)),action:null,line:l};const e=l-1,i=a.getIndentMetadata(t.getLineContent(e));if(!(3&i)&&4&i){let i=0;for(let n=e-1;n>0;n--)if(!a.shouldIndentNextLine(t.getLineContent(n))){i=n;break}return{indentation:n.V8(t.getLineContent(i+1)),action:null,line:i+1}}if(s)return{indentation:n.V8(t.getLineContent(l)),action:null,line:l};for(let e=l;e>0;e--){const i=t.getLineContent(e);if(a.shouldIncrease(i))return{indentation:n.V8(i),action:o.wU.Indent,line:e};if(a.shouldIndentNextLine(i)){let i=0;for(let n=e-1;n>0;n--)if(!a.shouldIndentNextLine(t.getLineContent(e))){i=n;break}return{indentation:n.V8(t.getLineContent(i+1)),action:null,line:i+1}}if(a.shouldDecrease(i))return{indentation:n.V8(i),action:null,line:e}}return{indentation:n.V8(t.getLineContent(1)),action:null,line:1}}}function l(e,t,i,s,r,l){if(e<4)return null;const d=l.getLanguageConfiguration(i);if(!d)return null;const c=l.getLanguageConfiguration(i).indentRulesSupport;if(!c)return null;const h=a(e,t,s,void 0,l),u=t.getLineContent(s);if(h){const i=h.line;if(void 0!==i){let a=!0;for(let e=i;e0&&c.getLanguageId(0)!==h.languageId?(m=!0,g=u.substr(0,i.startColumn-1-h.firstCharOffset)):g=c.getLineContent().substring(0,i.startColumn-1),i.isEmpty())p=u.substr(i.startColumn-1-h.firstCharOffset);else{p=(0,r.n2)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-h.firstCharOffset)}const f=d.getLanguageConfiguration(h.languageId).indentRulesSupport;if(!f)return null;const _=g,v=n.V8(g),C={tokenization:{getLineTokens:e=>t.tokenization.getLineTokens(e),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(e,i)=>t.getLanguageIdAtPosition(e,i)},getLineContent:e=>e===i.startLineNumber?_:t.getLineContent(e)},b=n.V8(c.getLineContent()),w=a(e,C,i.startLineNumber+1,void 0,d);if(!w){const e=m?b:v;return{beforeEnter:e,afterEnter:e}}let S=m?b:w.indentation;return w.action===o.wU.Indent&&(S=l.shiftIndent(S)),f.shouldDecrease(p)&&(S=l.unshiftIndent(S)),{beforeEnter:m?b:v,afterEnter:S}}function c(e,t,i,n,s,l){if(e<4)return null;const d=(0,r.n2)(t,i.startLineNumber,i.startColumn);if(d.firstCharOffset)return null;const c=l.getLanguageConfiguration(d.languageId).indentRulesSupport;if(!c)return null;const h=d.getLineContent(),u=h.substr(0,i.startColumn-1-d.firstCharOffset);let g;if(i.isEmpty())g=h.substr(i.startColumn-1-d.firstCharOffset);else{g=(0,r.n2)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-d.firstCharOffset)}if(!c.shouldDecrease(u+g)&&c.shouldDecrease(u+n+g)){const n=a(e,t,i.startLineNumber,!1,l);if(!n)return null;let r=n.indentation;return n.action!==o.wU.Indent&&(r=s.unshiftIndent(r)),r}return null}function h(e,t,i){const n=i.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return n?t<1||t>e.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null}},1615:(e,t,i)=>{i.d(t,{A:()=>s});var n=i(49119),o=i(51381);function s(e,t,i,s){const r=(0,o.n2)(t,i.startLineNumber,i.startColumn),a=s.getLanguageConfiguration(r.languageId);if(!a)return null;const l=r.getLineContent(),d=l.substr(0,i.startColumn-1-r.firstCharOffset);let c;if(i.isEmpty())c=l.substr(i.startColumn-1-r.firstCharOffset);else{c=(0,o.n2)(t,i.endLineNumber,i.endColumn).getLineContent().substr(i.endColumn-1-r.firstCharOffset)}let h="";if(i.startLineNumber>1&&0===r.firstCharOffset){const e=(0,o.n2)(t,i.startLineNumber-1);e.languageId===r.languageId&&(h=e.getLineContent())}const u=a.onEnter(e,h,d,c);if(!u)return null;const g=u.indentAction;let p=u.appendText;const m=u.removeText||0;p?g===n.wU.Indent&&(p="\t"+p):p=g===n.wU.Indent||g===n.wU.IndentOutdent?"\t":"";let f=(0,o.u0)(t,i.startLineNumber,i.startColumn);return m&&(f=f.substring(0,f.length-m)),{indentAction:g,appendText:p,removeText:m,indentation:f}}},72042:(e,t,i)=>{i.d(t,{O:()=>n});const n=(0,i(72065).yh)("languageService")},49119:(e,t,i)=>{var n;i.d(t,{V6:()=>o,c$:()=>s,wU:()=>n}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));class o{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;t{i.d(t,{c_:()=>M,u0:()=>O,n2:()=>A});var n=i(4669),o=i(5976),s=i(97295),r=i(270),a=i(49119),l=i(19111);class d{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new a.V6(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new a.V6({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new a.V6({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:d.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:d.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}d.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",d.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";var c=i(9488),h=i(34302);class u{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(0,c.EB)(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const n=t.findTokenIndexAtOffset(i-1);if((0,l.Bu)(t.getStandardTokenType(n)))return null;const o=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,i-1)+e,r=h.Vr.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 d=t.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(d)?{matchOpenBracket:a}:null}}function g(e){return e.global&&(e.lastIndex=0),!0}class p{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&g(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&g(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&g(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&g(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}}var m=i(17301);class f{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=f._createOpenBracketRegExp(e[0]),i=f._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=new Set;return{info:new N(this,e,t),closing:t}})),o=new S.b((e=>{const t=new Set,i=new Set;return{info:new x(this,e,t,i),opening:t,openingColorized:i}}));for(const[e,t]of i){const i=n.get(e),s=o.get(t);i.closing.add(s.info),s.opening.add(i.info)}const s=t.colorizedBracketPairs?y(t.colorizedBracketPairs):i.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[e,t]of s){const i=n.get(e),s=o.get(t);i.closing.add(s.info),s.openingColorized.add(i.info),s.opening.add(i.info)}this._openingBrackets=new Map([...n.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...o.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function y(e){return e.filter((([e,t])=>""!==e&&""!==t))}class k{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class N extends k{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class x extends k{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var I=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},T=function(e,t){return function(i,n){t(i,n,e)}};class D{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const M=(0,_.yh)("languageConfigurationService");let R=class extends o.JT{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new H),this.onDidChangeEmitter=this._register(new n.Q5),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(P));this._register(this.configurationService.onDidChangeConfiguration((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 D(void 0));else for(const e of n)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new D(e)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new D(e.languageId))})))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,i,n){let o=t.getLanguageConfiguration(e);if(!o){if(!n.isRegisteredLanguageId(e))return new z(e,{});o=new z(e,{})}const s=function(e,t){const i=t.getValue(P.brackets,{overrideIdentifier:e}),n=t.getValue(P.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:E(i),colorizedBracketPairs:E(n)}}(o.languageId,i),r=V([o.underlyingConfig,s]);return new z(o.languageId,r)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};R=I([T(0,v.Ui),T(1,C.O)],R);const P={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function E(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}function O(e,t,i){const n=e.getLineContent(t);let o=s.V8(n);return o.length>i-1&&(o=o.substring(0,i-1)),o}function A(e,t,i){e.tokenization.forceTokenization(t);const n=e.tokenization.getLineTokens(t),o=void 0===i?e.getLineMaxColumn(t)-1:i-1;return(0,l.wH)(n,o)}class F{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new W(e,t,++this._order);return this._entries.push(i),this._resolved=null,(0,o.OF)((()=>{for(let e=0;ee.configuration))))}}function V(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 W{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 B{constructor(e){this.languageId=e}}class H extends o.JT{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new n.Q5),this.onDidChange=this._onDidChange.event,this._register(this.register(w.bd,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new F(e),this._entries.set(e,n));const s=n.register(t,i);return this._onDidChange.fire(new B(e)),(0,o.OF)((()=>{s.dispose(),this._onDidChange.fire(new B(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return(null==t?void 0:t.getResolvedConfiguration())||null}}class z{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 f(this.underlyingConfig):null,this.comments=z._handleComments(this.underlyingConfig),this.characterPair=new d(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||r.Af,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new p(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new L(e,this.underlyingConfig)}getWordDefinition(){return(0,r.eq)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new h.EA(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new u(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new a.c$(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}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}}(0,b.z)(M,R,1)},68801:(e,t,i)=>{i.d(t,{bd:()=>d,dQ:()=>l});var n=i(63580),o=i(4669),s=i(89872),r=i(81170),a=i(23193);const l=new class{constructor(){this._onDidChangeLanguages=new o.Q5,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{i.d(t,{Dy:()=>r,Ri:()=>s,TJ:()=>o});var n=i(96887);const o=new class{clone(){return this}equals(e){return this===e}};function s(e,t){return new n.hG([new n.WU(0,"",e)],t)}function r(e,t){const i=new Uint32Array(2);return i[0]=0,i[1]=(32768|e<<0|2<<24)>>>0,new n.DI(i,null===t?o:t)}},19111:(e,t,i)=>{function n(e,t){const i=e.getCount(),n=e.findTokenIndexAtOffset(t),s=e.getLanguageId(n);let r=n;for(;r+10&&e.getLanguageId(a-1)===s;)a--;return new o(e,s,a,r+1,e.getStartOffset(a),e.getEndOffset(r))}i.d(t,{Bu:()=>s,wH:()=>n});class o{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 s(e){return 0!=(3&e)}},34302:(e,t,i)=>{i.d(t,{EA:()=>a,Vr:()=>p});var n=i(97295),o=i(50072),s=i(24314);class r{constructor(e,t,i,n,o,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=o,this.reversedRegex=s,this._openSet=r._toSet(this.open),this._closeSet=r._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const i of e)t.add(i);return t}}class a{constructor(e,t){this._richEditBracketsBrand=void 0;const i=function(e){const t=e.length;e=e.map((e=>[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 r(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 d(e,t){return e.length-t.length}function c(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 h(e){const t=/^[\w ]+$/.test(e);return e=n.ec(e),t?`\\b${e}\\b`:e}function u(e){const t=`(${e.map(h).join(")|(")})`;return n.GF(t,!0)}const g=function(){let e=null,t=null;return function(i){return e!==i&&(e=i,t=function(e){const t=new Uint16Array(e.length);let i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charCodeAt(n);return o.oe().decode(t)}(e)),t}}();class p{static _findPrevBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const r=i.length-(o.index||0),a=o[0].length,l=n+r;return new s.e(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,o){const s=g(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 r=o.index||0,a=o[0].length;if(0===a)return null;const l=n+r;return new s.e(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,o){const s=i.substring(n,o);return this.findNextBracketInText(e,t,s,n)}}},16550:(e,t,i)=>{i.d(t,{si:()=>a,yr:()=>h});var n=i(41264);class o{constructor(e,t,i,n,o){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=o}}const s=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class r{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(s);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let i=this._color2id.get(e);return i||(i=++this._lastColorId,this._color2id.set(e,i),this._id2color[i]=n.Il.fromHex("#"+e),i)}getColorMap(){return this._id2color.slice(0)}}class a{static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];const t=[];let i=0;for(let n=0,s=e.length;n{const i=function(e,t){return et?1:0}(e.token,t.token);return 0!==i?i:e.index-t.index}));let i=0,n="000000",o="ffffff";for(;e.length>=1&&""===e[0].token;){const t=e.shift();-1!==t.fontStyle&&(i=t.fontStyle),null!==t.foreground&&(n=t.foreground),null!==t.background&&(o=t.background)}const s=new r;for(const e of t)s.getId(e);const l=s.getId(n),h=s.getId(o),u=new d(i,l,h),g=new c(u);for(let t=0,i=e.length;t>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const l=/\b(comment|string|regex|regexp)\b/;class d{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new d(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==i&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class c{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;const t=e.indexOf(".");let i,n;-1===t?(i=e,n=""):(i=e.substring(0,t),n=e.substring(t+1));const o=this._children.get(i);return void 0!==o?o.match(n):this._mainRule}insert(e,t,i,n){if(""===e)return void this._mainRule.acceptOverwrite(t,i,n);const o=e.indexOf(".");let s,r;-1===o?(s=e,r=""):(s=e.substring(0,o),r=e.substring(o+1));let a=this._children.get(s);void 0===a&&(a=new c(this._mainRule.clone()),this._children.set(s,a)),a.insert(r,t,i,n)}}function h(e){const t=[];for(let i=1,n=e.length;i{i.d(t,{C2:()=>d,Fq:()=>c});var n=i(97295),o=i(77378),s=i(96887),r=i(276),a=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 l={getInitialState:()=>r.TJ,tokenizeEncoded:(e,t,i)=>(0,r.Dy)(0,i)};function d(e,t,i){return a(this,void 0,void 0,(function*(){if(!i)return h(t,e.languageIdCodec,l);const n=yield s.RW.getOrCreate(i);return h(t,e.languageIdCodec,n||l)}))}function c(e,t,i,n,o,s,r){let a="
",l=n,d=0,c=!0;for(let h=0,u=t.getCount();h0;)r&&c?(g+=" ",c=!1):(g+=" ",c=!0),e--;break}case 60:g+="<",c=!1;break;case 62:g+=">",c=!1;break;case 38:g+="&",c=!1;break;case 0:g+="�",c=!1;break;case 65279:case 8232:case 8233:case 133:g+="�",c=!1;break;case 13:g+="​",c=!1;break;case 32:r&&c?(g+=" ",c=!1):(g+=" ",c=!0);break;default:g+=String.fromCharCode(t),c=!1}}if(a+=`${g}`,u>o||l>=o)break}return a+="
",a}function h(e,t,i){let s='
';const r=n.uq(e);let a=i.getInitialState();for(let e=0,l=r.length;e0&&(s+="
");const d=i.tokenizeEncoded(l,!0,a);o.A.convertToEndOffset(d.tokens,l.length);const c=new o.A(d.tokens,l,t).inflate();let h=0;for(let e=0,t=c.getCount();e${n.YU(l.substring(h,i))}`,h=i}a=d.endState}return s+="
",s}},84973:(e,t,i)=>{i.d(t,{F5:()=>o,Hf:()=>d,Qi:()=>c,RM:()=>s,Tx:()=>h,dJ:()=>a,je:()=>u,pt:()=>g,sh:()=>n,tk:()=>l});var n,o,s,r=i(36248);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(n||(n={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(o||(o={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,r.fS)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function d(e){return e&&"function"==typeof e.read}class c{constructor(e,t,i,n,o,s){this.identifier=e,this.range=t,this.text=i,this.forceMoveMarkers=n,this.isAutoWhitespaceEdit=o,this._isTracked=s}}class h{constructor(e,t,i){this.regex=e,this.wordSeparators=t,this.simpleSearch=i}}class u{constructor(e,t,i){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=i}}function g(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},41720:(e,t,i)=>{i.d(t,{BH:()=>f,Dm:()=>v,Kd:()=>l,Y0:()=>d,n2:()=>_});var n=i(17301),o=i(7988),s=i(45035),r=i(61761);class a{get length(){return this._length}constructor(e){this._length=e}}class l extends a{static create(e,t,i){let n=e.length;return t&&(n=(0,s.Ii)(n,t.length)),i&&(n=(0,s.Ii)(n,i.length)),new l(n,e,t,i,t?t.missingOpeningBracketIds:r.tS.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=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,o){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=o}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new l(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((0,s.Ii)(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class d extends a{static create23(e,t,i,n=!1){let o=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=(0,s.Ii)(o,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");o=(0,s.Ii)(o,i.length),r=r.merge(i.missingOpeningBracketIds)}return n?new h(o,e.listHeight+1,e,t,i,r):new c(o,e.listHeight+1,e,t,i,r)}static getEmpty(){return new g(s.xl,0,[],r.tS.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}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(){this.throwIfImmutable();if(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;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new n.he;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n{i.d(t,{Q:()=>o,Y:()=>s});var n=i(45035);class o{constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${(0,n.Hw)(this.startOffset)}...${(0,n.Hw)(this.endOffset)}) -> ${(0,n.Hw)(this.newLength)}`}}class s{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>r.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return null===i?null:(0,n.BE)(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?(0,n.Hg)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):(0,n.Hg)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=(0,n.Hw)(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,n.Hg)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):(0,n.Hg)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx{i.d(t,{Z:()=>d});var n=i(97295),o=i(41720),s=i(45035),r=i(61761),a=i(6735);class l{static createFromLanguage(e,t){function i(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}const n=new Map;for(const t of e.bracketsNew.openingBrackets){const e=(0,s.Hg)(0,t.bracketText.length),l=i(t),d=r.tS.getEmpty().add(l,r.Qw);n.set(t.bracketText,new a.WU(e,1,l,d,o.n2.create(e,t,d)))}for(const t of e.bracketsNew.closingBrackets){const e=(0,s.Hg)(0,t.bracketText.length);let l=r.tS.getEmpty();const d=t.getOpeningBrackets();for(const e of d)l=l.add(i(e),r.Qw);n.set(t.bracketText,new a.WU(e,2,i(d[0]),l,o.n2.create(e,t,l)))}return new l(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map((e=>function(e){let t=(0,n.ec)(e);/^[\w ]+/.test(e)&&(t=`\\b${t}`);/[\w ]+$/.test(e)&&(t=`${t}\\b`);return t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(2===i.kind&&i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class d{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=l.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}},45035:(e,t,i)=>{i.d(t,{BE:()=>_,By:()=>C,F_:()=>g,Hg:()=>c,Hw:()=>h,Ii:()=>p,PZ:()=>w,Qw:()=>S,VR:()=>v,W9:()=>u,Zq:()=>b,av:()=>r,oR:()=>L,rM:()=>f,tQ:()=>m,xd:()=>l,xl:()=>a});var n=i(97295),o=i(24314);class s{constructor(e,t){this.lineCount=e,this.columnCount=t}toString(){return`${this.lineCount},${this.columnCount}`}}function r(e,t,i,n){return e!==i?c(i-e,n):c(0,n-t)}s.zero=new s(0,0);const a=0;function l(e){return 0===e}const d=Math.pow(2,26);function c(e,t){return e*d+t}function h(e){const t=e,i=Math.floor(t/d);return new s(i,t-i*d)}function u(e){return Math.floor(e/d)}function g(e){return e}function p(e,t){let i=e+t;return t>=d&&(i-=e%d),i}function m(e,t){return e.reduce(((e,i)=>p(e,t(i))),a)}function f(e,t){return e===t}function _(e,t){const i=e,n=t;if(n-i<=0)return a;const o=Math.floor(i/d),s=Math.floor(n/d),r=n-s*d;if(o===s){return c(0,r-(i-o*d))}return c(s-o,r)}function v(e,t){return e=t}function w(e){return c(e.lineNumber-1,e.column-1)}function S(e,t){const i=e,n=Math.floor(i/d),s=i-n*d,r=t,a=Math.floor(r/d),l=r-a*d;return new o.e(n+1,s+1,a+1,l+1)}function L(e){const t=(0,n.uq)(e);return c(t.length-1,t[t.length-1].length)}},13883:(e,t,i)=>{i.d(t,{w:()=>g});var n=i(41720),o=i(2442),s=i(61761),r=i(45035);function a(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){const o=i>>1;for(let s=0;s=3?e[2]:null,t)}function l(e,t){return Math.abs(e.listHeight-t.listHeight)}function d(e,t){return e.listHeight===t.listHeight?n.Y0.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let i=e=e.toMutable();const o=[];let s;for(;;){if(t.listHeight===i.listHeight){s=t;break}if(4!==i.kind)throw new Error("unexpected");o.push(i),i=i.makeLastElementMutable()}for(let e=o.length-1;e>=0;e--){const t=o[e];s?t.childrenLength>=3?s=n.Y0.create23(t.unappendChild(),s,null,!1):(t.appendChildOfSameHeight(s),s=void 0):t.handleChildrenChanged()}return s?n.Y0.create23(e,s,null,!1):e}(e,t):function(e,t){let i=e=e.toMutable();const o=[];for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw new Error("unexpected");o.push(i),i=i.makeFirstElementMutable()}let s=t;for(let e=o.length-1;e>=0;e--){const t=o[e];s?t.childrenLength>=3?s=n.Y0.create23(s,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(s),s=void 0):t.handleChildrenChanged()}return s?n.Y0.create23(s,e,null,!1):e}(t,e)}class c{constructor(e){this.lastOffset=r.xl,this.nextNodes=[e],this.offsets=[r.xl],this.idxs=[]}readLongestNodeAt(e,t){if((0,r.VR)(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=u(this.nextNodes);if(!i)return;const n=u(this.offsets);if((0,r.VR)(e,n))return;if((0,r.VR)(n,e))if((0,r.Ii)(n,i.length)<=e)this.nextNodeAfterCurrent();else{const e=h(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=h(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=u(this.offsets),t=u(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const i=u(this.nextNodes),n=h(i,this.idxs[this.idxs.length-1]);if(-1!==n){this.nextNodes.push(i.getChild(n)),this.offsets.push((0,r.Ii)(e,t.length)),this.idxs[this.idxs.length-1]=n;break}this.idxs.pop()}}}function h(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function u(e){return e.length>0?e[e.length-1]:void 0}function g(e,t,i,n){return new p(e,t,i,n).parseDocument()}class p{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 c(i):void 0,this.positionMapper=new o.Y(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(s.tS.getEmpty());return e||(e=n.Y0.getEmpty()),e}parseList(e){const t=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const t=this.tokenizer.peek();if(!t||2===t.kind&&t.bracketIds.intersects(e))break;i=this.parseChild(e)}4===i.kind&&0===i.childrenLength||t.push(i)}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?a(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())l(n,o)<=l(o,e)?(n=d(n,o),o=e):o=d(o,e);return d(n,o)}(t):a(t,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!(0,r.xd)(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(i=>{if(null!==t&&!(0,r.VR)(i.length,t))return!1;return i.canBeReused(e)}));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e){this._itemsConstructed++;const t=this.tokenizer.read();switch(t.kind){case 2:return new n.Dm(t.bracketIds,t.length);case 0:return t.astNode;case 1:{const i=e.merge(t.bracketIds),o=this.parseList(i),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===t.bracketId||s.bracketIds.intersects(t.bracketIds))?(this.tokenizer.read(),n.Kd.create(t.astNode,o,s.astNode)):n.Kd.create(t.astNode,o,null)}default:throw new Error("unexpected")}}}},61761:(e,t,i)=>{i.d(t,{FE:()=>r,Qw:()=>s,tS:()=>o});const n=[];class o{static create(e,t){if(e<=128&&0===t.length){let i=o.cache[e];return i||(i=new o(e,t),o.cache[e]=i),i}return new o(e,t)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const i=t.getKey(e);let n=i>>5;if(0===n){const e=1<e};class r{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}}},6735:(e,t,i)=>{i.d(t,{WU:()=>l,g:()=>h,xH:()=>d});var n=i(17301),o=i(45797),s=i(41720),r=i(45035),a=i(61761);class l{constructor(e,t,i,n,o){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=o}}class d{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new c(this.textModel,this.bracketTokens),this._offset=r.xl,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,r.Hg)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=(0,r.Ii)(this._offset,e);const t=(0,r.Hw)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=(0,r.Ii)(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class c{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,r.F_)(e.length),e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.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,s=n.getCount();let a=null;if(this.lineTokenOffset1e3)break}if(i>1500)break}const n=(0,r.av)(e,t,this.lineIdx,this.lineCharOffset);return new l(n,0,-1,a.tS.getEmpty(),new s.BH(n))}}class h{constructor(e,t){this.text=e,this._offset=r.xl,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+"|\n","gi"):null,o=[];let d,c=0,h=0,u=0,g=0;const p=[];for(let e=0;e<60;e++)p.push(new l((0,r.Hg)(0,e),0,-1,a.tS.getEmpty(),new s.BH((0,r.Hg)(0,e))));const m=[];for(let e=0;e<60;e++)m.push(new l((0,r.Hg)(1,e),0,-1,a.tS.getEmpty(),new s.BH((0,r.Hg)(1,e))));if(n)for(n.lastIndex=0;null!==(d=n.exec(e));){const e=d.index,i=d[0];if("\n"===i)c++,h=e+1;else{if(u!==e){let t;if(g===c){const i=e-u;if(i{i.d(t,{NL:()=>f,e9:()=>m});var n=i(63580),o=i(17301),s=i(3860),r=i(70666),a=i(93033),l=i(53060),d=i(95935);function c(e){return e.toString()}class h{static create(e,t){const i=e.getAlternativeVersionId(),n=p(e);return new h(i,i,n,n,t,t,[])}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}append(e,t,i,n,o){t.length>0&&(this.changes=(0,a.b)(this.changes,t)),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(l.T4(e,t?t.length:0,i),i+=4,t)for(const n of t)l.T4(e,n.selectionStartLineNumber,i),i+=4,l.T4(e,n.selectionStartColumn,i),i+=4,l.T4(e,n.positionLineNumber,i),i+=4,l.T4(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=l.Ag(e,t);t+=4;for(let o=0;oe.toString())).join(", ")}matchesResource(e){return(r.o.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 h}append(e,t,i,n,o){this._data instanceof h&&this._data.append(e,t,i,n,o)}close(){this._data instanceof h&&(this._data=this._data.serialize())}open(){this._data instanceof h||(this._data=h.deserialize(this._data))}undo(){if(r.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof h&&(this._data=this._data.serialize());const e=h.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(r.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof h&&(this._data=this._data.serialize());const e=h.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof h&&(this._data=this._data.serialize()),this._data.byteLength+168}}class g{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=c(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=c(e);return this._editStackElementsMap.has(t)}setModel(e){const t=c(r.o.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=c(e.uri);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).canAppend(e)}return!1}append(e,t,i,n,o){const s=c(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=c(e);if(this._editStackElementsMap.has(t)){return this._editStackElementsMap.get(t).heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,d.EZ)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function p(e){return"\n"===e.getEOL()?0:1}function m(e){return!!e&&(e instanceof u||e instanceof g)}class f{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);m(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(m(i)&&i.canAppend(this._model))return i;const o=new u(n.NC("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(o,t),o}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],p(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){const o=this._getOrCreateEditStackElement(e,n),s=this._model.applyEdits(t,!0),r=f._computeCursorState(i,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),o.append(this._model,a.map((e=>e.textChange)),p(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return(0,o.dL)(e),null}}}},1516:(e,t,i)=>{i.d(t,{W:()=>h,l:()=>c});var n=i(9488),o=i(97295),s=i(7988),r=i(24314),a=i(94954),l=i(59616),d=i(65094);class c extends a.U{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return(0,l.q)(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,i){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)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,d=-1;const c=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,d=-1;for(let t=e;t=0){l=t,d=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,C=!0,b=0,w=0;for(let o=0;_||C;o++){const r=e-o,g=e+o;o>1&&(r<1||r1&&(g>n||g>i)&&(C=!1),o>5e4&&(_=!1,C=!1);let S=-1;if(_&&r>=1){const e=this._computeIndentLevel(r-1);e>=0?(l=r-1,d=e,S=Math.ceil(e/this.textModel.getOptions().indentSize)):(c(r),S=this._getIndentLevelForWhitespaceLine(s,a,d))}let L=-1;if(C&&g<=n){const e=this._computeIndentLevel(g-1);e>=0?(h=g-1,u=e,L=Math.ceil(e/this.textModel.getOptions().indentSize)):(m(g),L=this._getIndentLevelForWhitespaceLine(s,u,p))}if(0!==o){if(1===o){if(g<=n&&L>=0&&w+1===L){_=!1,f=g,v=g,b=L;continue}if(r>=1&&S>=0&&S-1===w){C=!1,f=r,v=r,b=S;continue}if(f=e,v=e,b=w,0===b)return{startLineNumber:f,endLineNumber:v,indent:b}}_&&(S>=b?f=r:_=!1),C&&(L>=b?v=g:C=!1)}else w=S}return{startLineNumber:f,endLineNumber:v,indent:b}}getLinesBracketGuides(e,t,i,s){var a;const l=[];for(let i=e;i<=t;i++)l.push([]);const c=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new r.e(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let u;if(i&&c.length>0){const o=(e<=i.lineNumber&&i.lineNumber<=t?c:this.textModel.bracketPairs.getBracketPairsInRange(r.e.fromPositions(i)).toArray()).filter((e=>r.e.strictContainsPosition(e.range,i)));u=null===(a=(0,n.dF)(o,(e=>true)))||void 0===a?void 0:a.range}const g=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,p=new h;for(const i of c){if(!i.closingBracketRange)continue;const n=u&&i.range.equalsRange(u);if(!n&&!s.includeInactive)continue;const r=p.getInlineClassName(i.nestingLevel,i.nestingLevelOfEqualBracketType,g)+(s.highlightActive&&n?" "+p.activeClassName:""),a=i.openingBracketRange.getStartPosition(),c=i.closingBracketRange.getStartPosition(),h=s.horizontalGuides===d.s6.Enabled||s.horizontalGuides===d.s6.EnabledForActive&&n;if(i.range.startLineNumber===i.range.endLineNumber){h&&l[i.range.startLineNumber-e].push(new d.UO(-1,i.openingBracketRange.getEndPosition().column,r,new d.vW(!1,c.column),-1,-1));continue}const m=this.getVisibleColumnFromPosition(c),f=this.getVisibleColumnFromPosition(i.openingBracketRange.getStartPosition()),_=Math.min(f,m,i.minVisibleColumnIndentation+1);let v=!1;o.LC(this.textModel.getLineContent(i.closingBracketRange.startLineNumber))=e&&f>_&&l[a.lineNumber-e].push(new d.UO(_,-1,r,new d.vW(!1,a.column),-1,-1)),c.lineNumber<=t&&m>_&&l[c.lineNumber-e].push(new d.UO(_,-1,r,new d.vW(!v,c.column),-1,-1)))}for(const e of l)e.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return l}getVisibleColumnFromPosition(e){return s.i.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,d=-2,c=-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!==d&&(-2===d||d=0){d=e,c=t;break}}}r[t]=this._getIndentLevelForWhitespaceLine(s,l,c)}}return r}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return-1===t||-1===i?0:t{i.d(t,{Ck:()=>r,oQ:()=>s});var n=i(9488),o=i(85427);class s{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,o.A)(e);const i=this.values,n=this.prefixSum,s=t.length;return 0!==s&&(this.values=new Uint32Array(i.length+s),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+s),this.values.set(t,e),e-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,o.A)(e),t=(0,o.A)(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;const s=i.length-e;return t>=s&&(t=s),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=(0,o.A)(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 a(n,e-s)}}class r{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 a(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=(0,n.Zv)(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;n{i.d(t,{HS:()=>Wt,qx:()=>Bt,yO:()=>Mt});var n=i(9488),o=i(41264),s=i(17301),r=i(4669),a=i(5976),l=i(97295),d=i(70666),c=i(23795),h=i(83158),u=i(50187),g=i(24314),p=i(3860),m=i(22075),f=i(72042),_=i(51381),v=i(84973),C=i(19111),b=i(34302);class w{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class S{constructor(e,t,i,n,o,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class L extends S{constructor(e,t,i,n,o,s,r){super(e,t,i,n,o,s),this.minVisibleColumnIndentation=r}}var y=i(2442),k=i(35382),N=i(45035),x=i(13883),I=i(61761),T=i(6735);function D(e,t){if(0===e.length)return t;if(0===t.length)return e;const i=new n.H9(R(e)),o=R(t);o.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let s=i.dequeue();function r(e){if(void 0===e){const e=i.takeWhile((e=>!0))||[];return s&&e.unshift(s),e}const t=[];for(;s&&!(0,N.xd)(e);){const[n,o]=s.splitAt(e);t.push(n),e=(0,N.BE)(n.lengthAfter,e),s=null!=o?o:i.dequeue()}return(0,N.xd)(e)||t.push(new M(!1,e,e)),t}const a=[];function l(e,t,i){if(a.length>0&&(0,N.rM)(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new y.Q(e.startOffset,t,(0,N.Ii)(e.newLength,i))}else a.push({startOffset:e,endOffset:t,newLength:i})}let d=N.xl;for(const e of o){const t=r(e.lengthBefore);if(e.modified){const i=(0,N.tQ)(t,(e=>e.lengthBefore)),n=(0,N.Ii)(d,i);l(d,n,e.lengthAfter),d=n}else for(const e of t){const t=d;d=(0,N.Ii)(d,e.lengthBefore),e.modified&&l(t,d,e.lengthAfter)}}return a}class M{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=(0,N.BE)(e,this.lengthAfter);return(0,N.rM)(t,N.xl)?[this,void 0]:this.modified?[new M(this.modified,this.lengthBefore,e),new M(this.modified,N.xl,t)]:[new M(this.modified,e,e),new M(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${(0,N.Hw)(this.lengthBefore)} -> ${(0,N.Hw)(this.lengthAfter)}`}}function R(e){const t=[];let i=N.xl;for(const n of e){const e=(0,N.BE)(i,n.startOffset);(0,N.xd)(e)||t.push(new M(!1,e,e));const o=(0,N.BE)(n.startOffset,n.endOffset);t.push(new M(!0,o,n.newLength)),i=n.endOffset}return t}class P extends a.JT{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new r.Q5,this.denseKeyProvider=new I.FE,this.brackets=new k.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new T.g(this.textModel.getValue(),e);this.initialAstWithoutTokens=(0,x.w)(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new y.Q((0,N.Hg)(e.fromLineNumber-1,0),(0,N.Hg)(e.toLineNumber,0),(0,N.Hg)(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=e.changes.map((e=>{const t=g.e.lift(e.range);return new y.Q((0,N.PZ)(t.getStartPosition()),(0,N.PZ)(t.getEndPosition()),(0,N.oR)(e.text))})).reverse();this.handleEdits(t,!1)}handleEdits(e,t){const i=D(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=D(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const n=t,o=new T.xH(this.textModel,this.brackets);return(0,x.w)(o,e,n,i)}getBracketsInRange(e,t){this.flushQueue();const i=(0,N.Hg)(e.startLineNumber-1,e.startColumn-1),o=(0,N.Hg)(e.endLineNumber-1,e.endColumn-1);return new n.W$((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens;A(n,N.xl,n.length,i,o,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const i=(0,N.PZ)(e.getStartPosition()),o=(0,N.PZ)(e.getEndPosition());return new n.W$((e=>{const n=this.initialAstWithoutTokens||this.astWithTokens,s=new F(e,t,this.textModel);V(n,N.xl,n.length,i,o,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return O(t,N.xl,t.length,(0,N.PZ)(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return E(t,N.xl,t.length,(0,N.PZ)(e))}}function E(e,t,i,n){if(4===e.kind||2===e.kind){const o=[];for(const n of e.children)i=(0,N.Ii)(t,n.length),o.push({nodeOffsetStart:t,nodeOffsetEnd:i}),t=i;for(let t=o.length-1;t>=0;t--){const{nodeOffsetStart:i,nodeOffsetEnd:s}=o[t];if((0,N.VR)(i,n)){const o=E(e.children[t],i,s,n);if(o)return o}}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,N.Qw)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function O(e,t,i,n){if(4===e.kind||2===e.kind){for(const o of e.children){if(i=(0,N.Ii)(t,o.length),(0,N.VR)(n,i)){const e=O(o,t,i,n);if(e)return e}t=i}return null}if(3===e.kind)return null;if(1===e.kind){const n=(0,N.Qw)(t,i);return{bracketInfo:e.bracketInfo,range:n}}return null}function A(e,t,i,n,o,s,r,a,l,d,c=!1){if(r>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let c=0;c200)return!0;let d=!0;if(2===e.kind){let c=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),c=t,t++,a.set(e.openingBracket.text,t)}const h=(0,N.Ii)(t,e.openingBracket.length);let u=-1;if(s.includeMinIndentation&&(u=e.computeMinIndentation(t,s.textModel)),d=s.push(new L((0,N.Qw)(t,i),(0,N.Qw)(t,h),e.closingBracket?(0,N.Qw)((0,N.Ii)(h,(null===(l=e.child)||void 0===l?void 0:l.length)||N.xl),i):void 0,r,c,e,u)),t=h,d&&e.child){const l=e.child;if(i=(0,N.Ii)(t,l.length),(0,N.By)(t,o)&&(0,N.Zq)(i,n)&&(d=V(l,t,i,n,o,s,r+1,a),!d))return!1}null==a||a.set(e.openingBracket.text,c)}else{let i=t;for(const t of e.children){const e=i;if(i=(0,N.Ii)(i,t.length),(0,N.By)(e,o)&&(0,N.By)(n,i)&&(d=V(t,e,i,n,o,s,r,a),!d))return!1}}return d}class W extends a.JT{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new a.XK),this.onDidChangeEmitter=new r.Q5,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())})))}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.canBuildAST){if(!this.bracketPairsTree.value){const i=new a.SL;this.bracketPairsTree.value=(e=i.add(new P(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))||n.W$.empty}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))||n.W$.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketsInRange(e,t))||n.W$.empty}findMatchingBracketUp(e,t,i){const n=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){const i=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!i)return null;const n=this.getBracketPairsInRange(g.e.fromPositions(t,t)).findLast((e=>i.closes(e.openingBracketInfo)));return n?n.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!s)return null;const r=s.textIsBracket[t];return r?z(this._findMatchingBracketUp(r,n,B(i))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(g.e.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,n.tT)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),g.e.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const i=B(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((0,C.Bu)(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((0,C.Bu)(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.tokenization.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&&!(0,C.Bu)(n.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,r,s),d=null;for(;;){const n=b.Vr.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 H)return null;d=i}}a=n.endColumn-1}if(d)return d}if(s>0&&n.getStartOffset(s)===e.column-1){const r=s-1,a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!(0,C.Bu)(n.getStandardTokenType(r))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,a,r),d=b.Vr.findPrevBracketInRange(a.reversedRegex,i,o,s,l);if(d&&d.startColumn<=e.column&&e.column<=d.endColumn){const e=o.substring(d.startColumn-1,d.endColumn-1).toLowerCase(),i=this._matchFoundBracket(d,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof H?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 H?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 H.INSTANCE;const d=b.Vr.findPrevBracketInRange(o,t,n,a,l);if(!d)break;const c=n.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return d;l=d.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const i=this.textModel.tokenization.getLineTokens(e),o=i.getCount(),s=this.textModel.getLineContent(e);let r=o-1,l=s.length,d=s.length;e===t.lineNumber&&(r=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,d=t.column-1);let c=!0;for(;r>=0;r--){const t=i.getLanguageId(r)===n&&!(0,C.Bu)(i.getStandardTokenType(r));if(t)c?l=i.getStartOffset(r):(l=i.getStartOffset(r),d=i.getEndOffset(r));else if(c&&l!==d){const t=a(e,s,l,d);if(t)return t}c=t}if(c&&l!==d){const t=a(e,s,l,d);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 H.INSTANCE;const d=b.Vr.findNextBracketInRange(o,t,n,a,l);if(!d)break;const c=n.substring(d.startColumn-1,d.endColumn-1).toLowerCase();if(e.isOpen(c)?s++:e.isClose(c)&&s--,0===s)return d;a=d.endColumn-1}return null},l=this.textModel.getLineCount();for(let e=t.lineNumber;e<=l;e++){const i=this.textModel.tokenization.getLineTokens(e),o=i.getCount(),s=this.textModel.getLineContent(e);let r=0,l=0,d=0;e===t.lineNumber&&(r=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,d=t.column-1);let c=!0;for(;r=1;e--){const t=this.textModel.tokenization.getLineTokens(e),r=t.getCount(),a=this.textModel.getLineContent(e);let l=r-1,d=a.length,c=a.length;if(e===i.lineNumber){l=t.findTokenIndexAtOffset(i.column-1),d=i.column-1,c=i.column-1;const e=t.getLanguageId(l);n!==e&&(n=e,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let h=!0;for(;l>=0;l--){const i=t.getLanguageId(l);if(n!==i){if(o&&s&&h&&d!==c){const t=b.Vr.findPrevBracketInRange(o.reversedRegex,e,a,d,c);if(t)return this._toFoundBracket(s,t);h=!1}n=i,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const r=!!o&&!(0,C.Bu)(t.getStandardTokenType(l));if(r)h?d=t.getStartOffset(l):(d=t.getStartOffset(l),c=t.getEndOffset(l));else if(s&&o&&h&&d!==c){const t=b.Vr.findPrevBracketInRange(o.reversedRegex,e,a,d,c);if(t)return this._toFoundBracket(s,t)}h=r}if(s&&o&&h&&d!==c){const t=b.Vr.findPrevBracketInRange(o.reversedRegex,e,a,d,c);if(t)return this._toFoundBracket(s,t)}}return null}findNextBracket(e){var t;const i=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(t=this.bracketPairsTree.value)||void 0===t?void 0:t.object.getFirstBracketAfter(i))||null;const n=this.textModel.getLineCount();let o=null,s=null,r=null;for(let e=i.lineNumber;e<=n;e++){const t=this.textModel.tokenization.getLineTokens(e),n=t.getCount(),a=this.textModel.getLineContent(e);let l=0,d=0,c=0;if(e===i.lineNumber){l=t.findTokenIndexAtOffset(i.column-1),d=i.column-1,c=i.column-1;const e=t.getLanguageId(l);o!==e&&(o=e,s=this.languageConfigurationService.getLanguageConfiguration(o).brackets,r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew)}let h=!0;for(;lvoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const n=B(t),o=this.textModel.getLineCount(),s=new Map;let r=[];const a=(e,t)=>{if(!s.has(e)){const i=[];for(let e=0,n=t?t.brackets.length:0;e{for(;;){if(n&&++l%100==0&&!n())return H.INSTANCE;const a=b.Vr.findNextBracketInRange(e.forwardRegex,t,i,o,s);if(!a)break;const d=i.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),c=e.textIsBracket[d];if(c&&(c.isOpen(d)?r[c.index]++:c.isClose(d)&&r[c.index]--,-1===r[c.index]))return this._matchFoundBracket(a,c,!1,n);o=a.endColumn-1}return null};let c=null,h=null;for(let e=i.lineNumber;e<=o;e++){const t=this.textModel.tokenization.getLineTokens(e),n=t.getCount(),o=this.textModel.getLineContent(e);let s=0,r=0,l=0;if(e===i.lineNumber){s=t.findTokenIndexAtOffset(i.column-1),r=i.column-1,l=i.column-1;const e=t.getLanguageId(s);c!==e&&(c=e,h=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a(c,h))}let u=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class H{constructor(){this._searchCanceledBrand=void 0}}function z(e){return e instanceof H?null:e}H.INSTANCE=new H;var U=i(8625),j=i(97781);class q extends a.JT{constructor(e){super(),this.textModel=e,this.colorProvider=new K,this.onDidChangeEmitter=new r.Q5,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,n){if(n)return[];if(void 0===t)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray()}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new g.e(1,1,this.textModel.getLineCount(),1),e,t):[]}}class K{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,j.Ic)(((e,t)=>{const i=[U.zJ,U.Vs,U.CE,U.UP,U.r0,U.m1],n=new K;t.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${e.getColor(U.ts)}; }`);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}; }`)}}));var G=i(95215),$=i(1516);class Z{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Q(e,t,i,n,o){let s;for(o.spacesDiff=0,o.looksLikeAlignment=!1,s=0;s0&&a>0)return;if(l>0&&d>0)return;const c=Math.abs(a-d),h=Math.abs(r-l);if(0===c)return o.spacesDiff=h,void(h>0&&0<=l-1&&l-10?o++:m>1&&s++,Q(r,a,h,p,c),c.looksLikeAlignment&&(!i||t!==c.spacesDiff))continue;const _=c.spacesDiff;_<=8&&d[_]++,r=h,a=p}let h=i;o!==s&&(h=o{const i=d[t];i>e&&(e=i,u=t)})),4===u&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(u=2)}return{insertSpaces:h,tabSize:u}}function J(e){return(1&e.metadata)>>>0}function X(e,t){e.metadata=254&e.metadata|t<<0}function ee(e){return(2&e.metadata)>>>1==1}function te(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function ie(e){return(4&e.metadata)>>>2==1}function ne(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function oe(e,t){e.metadata=231&e.metadata|t<<3}function se(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class re{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,X(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,ne(this,!1),oe(this,1),se(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,te(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;ne(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),oe(this,this.options.stickiness),se(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 ae=new re(null,0,0);ae.parent=ae,ae.left=ae,ae.right=ae,X(ae,0);class le{constructor(){this.root=ae,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,o){return this.root===ae?[]:function(e,t,i,n,o,s){let r=e.root,a=0,l=0,d=0,c=0;const h=[];let u=0;for(;r!==ae;)if(ee(r))te(r.left,!1),te(r.right,!1),r===r.parent.right&&(a-=r.parent.delta),r=r.parent;else{if(!ee(r.left)){if(l=a+r.maxEnd,li)te(r,!0);else{if(c=a+r.end,c>=t){r.setCachedOffsets(d,c,s);let e=!0;n&&r.ownerId&&r.ownerId!==n&&(e=!1),o&&ie(r)&&(e=!1),e&&(h[u++]=r)}te(r,!0),r.right===ae||ee(r.right)||(a+=r.delta,r=r.right)}}return te(e.root,!1),h}(this,e,t,i,n,o)}search(e,t,i){return this.root===ae?[]:function(e,t,i,n){let o=e.root,s=0,r=0,a=0;const l=[];let d=0;for(;o!==ae;){if(ee(o)){te(o.left,!1),te(o.right,!1),o===o.parent.right&&(s-=o.parent.delta),o=o.parent;continue}if(o.left!==ae&&!ee(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&&ie(o)&&(e=!1),e&&(l[d++]=o),te(o,!0),o.right===ae||ee(o.right)||(s+=o.delta,o=o.right)}return te(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!==ae;)ee(i)?(te(i.left,!1),te(i.right,!1),i=i.parent):i.left===ae||ee(i.left)?(i.ownerId===t&&(n[o++]=i),te(i,!0),i.right===ae||ee(i.right)||(i=i.right)):i=i.left;return te(e.root,!1),n}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const i=[];let n=0;for(;t!==ae;)ee(t)?(te(t.left,!1),te(t.right,!1),t=t.parent):t.left===ae||ee(t.left)?t.right===ae||ee(t.right)?(i[n++]=t,te(t,!0)):t=t.right:t=t.left;return te(e.root,!1),i}(this)}insert(e){he(this,e),this._normalizeDeltaIfNecessary()}delete(e){ue(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 d=0;for(;n!==ae;)if(ee(n))te(n.left,!1),te(n.right,!1),n===n.parent.right&&(o-=n.parent.delta),n=n.parent;else{if(!ee(n.left)){if(s=o+n.maxEnd,si?te(n,!0):(a=o+n.end,a>=t&&(n.setCachedOffsets(r,a,0),l[d++]=n),te(n,!0),n.right===ae||ee(n.right)||(o+=n.delta,n=n.right))}return te(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),te(o,!0)):(te(o,!0),o.right===ae||ee(o.right)||(s+=o.delta,o=o.right))}te(e.root,!1)}(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let s=0,r=o.length;si)&&(1!==n&&(2===n||t))}function ce(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,d=n,c=Math.min(l,d),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&&de(h,r,t,e)&&(u=!0),!p&&de(g,a,t,e)&&(p=!0)}if(c>0&&!o){const e=l>d?2:0;!u&&de(h,r,t+c,e)&&(u=!0),!p&&de(g,a,t+c,e)&&(p=!0)}{const n=o?1:0;!u&&de(h,r,i,n)&&(e.start=t+d,u=!0),!p&&de(g,a,i,n)&&(e.end=t+d,p=!0)}const m=d-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 he(e,t){if(e.root===ae)return t.parent=ae,t.left=ae,t.right=ae,X(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(Ce(o,s,n.start+i,n.end+i)<0){if(n.left===ae){t.start-=i,t.end-=i,t.maxEnd-=i,n.left=t;break}n=n.left}else{if(n.right===ae){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}}t.parent=n,t.left=ae,t.right=ae,X(t,1)}(e,t),ve(t.parent);let i=t;for(;i!==e.root&&1===J(i.parent);)if(i.parent===i.parent.parent.left){const t=i.parent.parent.right;1===J(t)?(X(i.parent,0),X(t,0),X(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&(i=i.parent,pe(e,i)),X(i.parent,0),X(i.parent.parent,1),me(e,i.parent.parent))}else{const t=i.parent.parent.left;1===J(t)?(X(i.parent,0),X(t,0),X(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&(i=i.parent,me(e,i)),X(i.parent,0),X(i.parent.parent,1),pe(e,i.parent.parent))}return X(e.root,0),t}function ue(e,t){let i,n;if(t.left===ae?(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===ae?(i=t.left,n=t):(n=function(e){for(;e.left!==ae;)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,X(i,0),t.detach(),ge(),_e(i),void(e.root.parent=ae);const o=1===J(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,X(n,J(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ae&&(n.left.parent=n),n.right!==ae&&(n.right.parent=n)),t.detach(),o)return ve(i.parent),n!==t&&(ve(n),ve(n.parent)),void ge();let s;for(ve(i),ve(i.parent),n!==t&&(ve(n),ve(n.parent));i!==e.root&&0===J(i);)i===i.parent.left?(s=i.parent.right,1===J(s)&&(X(s,0),X(i.parent,1),pe(e,i.parent),s=i.parent.right),0===J(s.left)&&0===J(s.right)?(X(s,1),i=i.parent):(0===J(s.right)&&(X(s.left,0),X(s,1),me(e,s),s=i.parent.right),X(s,J(i.parent)),X(i.parent,0),X(s.right,0),pe(e,i.parent),i=e.root)):(s=i.parent.left,1===J(s)&&(X(s,0),X(i.parent,1),me(e,i.parent),s=i.parent.left),0===J(s.left)&&0===J(s.right)?(X(s,1),i=i.parent):(0===J(s.left)&&(X(s.right,0),X(s,1),pe(e,s),s=i.parent.left),X(s,J(i.parent)),X(i.parent,0),X(s.left,0),me(e,i.parent),i=e.root));X(i,0),ge()}function ge(){ae.parent=ae,ae.delta=0,ae.start=0,ae.end=0}function pe(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!==ae&&(i.left.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,_e(t),_e(i)}function me(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!==ae&&(i.right.parent=t),i.parent=t.parent,t.parent===ae?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,_e(t),_e(i)}function fe(e){let t=e.end;if(e.left!==ae){const i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==ae){const i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function _e(e){e.maxEnd=fe(e)}function ve(e){for(;e!==ae;){const t=fe(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function Ce(e,t,i,n){return e===i?t-n:e-i}class be{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!==we)return Se(this.right);let e=this;for(;e.parent!==we&&e.parent.left!==e;)e=e.parent;return e.parent===we?we:e.parent}prev(){if(this.left!==we)return Le(this.left);let e=this;for(;e.parent!==we&&e.parent.right!==e;)e=e.parent;return e.parent===we?we:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const we=new be(null,0);function Se(e){for(;e.left!==we;)e=e.left;return e}function Le(e){for(;e.right!==we;)e=e.right;return e}function ye(e){return e===we?0:e.size_left+e.piece.length+ye(e.right)}function ke(e){return e===we?0:e.lf_left+e.piece.lineFeedCnt+ke(e.right)}function Ne(){we.parent=we}function xe(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!==we&&(i.left.parent=t),i.parent=t.parent,t.parent===we?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function Ie(e,t){const i=t.left;t.left=i.right,i.right!==we&&(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===we?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function Te(e,t){let i,n;if(t.left===we?(n=t,i=n.right):t.right===we?(n=t,i=n.left):(n=Se(t.right),i=n.right),n===e.root)return e.root=i,i.color=0,t.detach(),Ne(),void(e.root.parent=we);const o=1===n.color;if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?(i.parent=n.parent,Re(e,i)):(n.parent===t?i.parent=n:i.parent=n.parent,Re(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!==we&&(n.left.parent=n),n.right!==we&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,Re(e,n)),t.detach(),i.parent.left===i){const t=ye(i),n=ke(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,Me(e,i.parent,o,s)}}if(Re(e,i.parent),o)return void Ne();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,xe(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,Ie(e,s),s=i.parent.right),s.color=i.parent.color,i.parent.color=0,s.right.color=0,xe(e,i.parent),i=e.root)):(s=i.parent.left,1===s.color&&(s.color=0,i.parent.color=1,Ie(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,xe(e,s),s=i.parent.left),s.color=i.parent.color,i.parent.color=0,s.left.color=0,Ie(e,i.parent),i=e.root));i.color=0,Ne()}function De(e,t){for(Re(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&&xe(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,Ie(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&&Ie(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,xe(e,t.parent.parent))}e.root.color=0}function Me(e,t,i,n){for(;t!==e.root&&t!==we;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}function Re(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=ye((t=t.parent).left)-t.size_left,n=ke(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}}we.parent=we,we.left=we,we.right=we,we.color=0;var Pe=i(77277);const Ee=65535;function Oe(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class Ae{constructor(e,t,i,n,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=o}}function Fe(e,t=!0){const i=[0];let n=1;for(let t=0,o=e.length;t(e!==we&&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 He{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 ze{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new We("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=we,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=Fe(e[t].buffer));const i=new Ve(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 He(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 We(t,Fe(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 Be(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==we;)if(n.left!==we&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e){i+=n.size_left;return 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!==we;)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=n-this.getOffsetAt(i+1,1);return new u.L(i+1,e+1)}return new u.L(i+1,o.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===we){const t=n-e-this.getOffsetAt(i+1,1);return new u.L(i+1,t+1)}t=t.right}return new u.L(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!==we;){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===we)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,d=s.start.line,c=s.end.line;let h=l[d]+s.start.column;if(n&&(10===a.charCodeAt(h)&&(h++,r--),e[t++]=i,i="",n=!1,0===r))return!0;if(d===c)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[d+1]-this._EOLLength)):a.substring(h,l[d+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let n=d+1;ne+p,t.reset(0)):(v=h.buffer,C=e=>e,t.reset(p));do{if(f=t.next(v),f){if(C(f.index)>=m)return d;this.positionInBuffer(e,C(f.index)-u,_);const t=this.getLineFeedCnt(e.piece.bufferIndex,o,_),s=_.line===o.line?_.column-o.column+n:_.column+1,r=s+f[0].length;if(c[d++]=(0,Pe.iE)(new g.e(i+t,s,i+t,r),f,a),C(f.index)+f[0].length>=m)return d;if(d>=l)return d}}while(f);return d}findMatchesLineByLine(e,t,i,n){const o=[];let s=0;const r=new Pe.sz(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 d=this.positionInBuffer(a.node,a.remainder);const c=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,r,e.startLineNumber,e.startColumn,d,c,t,i,n,s,o),o;let h=e.startLineNumber,u=a.node;for(;u!==l.node;){const l=this.getLineFeedCnt(u.piece.bufferIndex,d,u.piece.end);if(l>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,c=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),g=a[d.line+l],p=h===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(u,r,h,p,d,this.positionInBuffer(u,g-c),t,i,n,s,o),s>=n)return o;h+=l}const c=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){const a=this.getLineContent(h).substring(c,e.endColumn-1);return s=this._findMatchesInLine(t,r,a,e.endLineNumber,c,s,o,i,n),o}if(s=this._findMatchesInLine(t,r,this.getLineContent(h).substr(c),h,c,s,o,i,n),s>=n)return o;h++,a=this.nodeAt2(h,1),u=a.node,d=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,d,c,t,i,n,s,o),o}_findMatchesInLine(e,t,i,n,o,s,r,a,l){const d=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,c=i.length;let h=-a;for(;-1!==(h=i.indexOf(t,h+a));)if((!d||(0,Pe.cM)(d,i,c,h,a))&&(r[s++]=new v.tk(new g.e(n,h+1+o,n,h+1+a+o),null),s>=l))return s;return s}let c;t.reset(0);do{if(c=t.next(i),c&&(r[s++]=(0,Pe.iE)(new g.e(n,c.index+1+o,n,c.index+1+c[0].length+o),c,a),s>=l))return s}while(c);return s}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==we){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 Ve(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)){if(10===this.nodeCharCodeAt(i,n)){const e={line:o.start.line+1,column:0};o=new Ve(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 d=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=c))break;a=d+1}return i?(i.line=d,i.column=r-h,null):{line:d,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;tEe){const t=[];for(;e.length>Ee;){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,Ee),e=e.substring(Ee));const o=Fe(n);t.push(new Ve(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 We(n,o))}const i=Fe(e);return t.push(new Ve(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 We(e,i)),t}let t=this._buffers[0].buffer.length;const i=Fe(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!==we;){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!==we;)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,d=r-o,c=i.length+d;e.piece=new Ve(i.bufferIndex,i.start,s,a,c),Me(this,e,d,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),d=i.length+l;e.piece=new Ve(i.bufferIndex,s,i.end,r,d),Me(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,d=this.getLineFeedCnt(n.bufferIndex,n.start,l),c=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,o);e.piece=new Ve(n.bufferIndex,n.start,l,d,c),Me(this,e,c-r,d-a);const h=new Ve(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=Fe(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!==we;)if(i.left!==we&&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!==we;){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===we||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;if(n===i.length-1)return!1;return!(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!==we&&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 Ve(e.piece.bufferIndex,e.piece.start,o,r,s),Me(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,d=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new Ve(t.piece.bufferIndex,a,t.piece.end,d,l),Me(this,t,-1,-1),0===t.piece.length&&i.push(t);const c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(let e=0;ee.sortIndex-t.sortIndex))}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=o,this._mightContainNonBasicASCII=s;const p=this._doApplyEdits(a);let m=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),m=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const i=u[e].oldContent,n=this.getLineContent(t);0!==n.length&&n!==i&&-1===l.LC(n)&&m.push(t)}}return this._onDidChangeContent.fire(),new v.je(g,p,m)}_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 g.e(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(""),[d,h,u]=(0,c.Q)(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:d,firstLineLength:h,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(je._sortOpsDescending);const t=[];for(let i=0;i0){const e=r.eolCount+1;d=1===e?new g.e(a,l,a,l+r.firstLineLength):new g.e(a,l,a+e-1,r.lastLineLength+1)}else d=new g.e(a,l,a,l);i=d.endLineNumber,n=d.endColumn,t.push(d),o=r}return t}static _sortOpsAscending(e,t){const i=g.e.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=g.e.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class qe{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 Ae(Oe(e),n,o,s,r);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new We(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=l.Ut(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=l.ab(e)))}finish(e=!0){return this._finish(),new qe(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=Fe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var Ge=i(15393),$e=i(45463),Ze=i(270),Qe=i(96887),Ye=i(94954),Je=i(1432),Xe=i(84013),et=i(19247),tt=i(276);class it{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}replace(e,t,i){if(e>=this._store.length)return;if(0===t)return void this.insert(e,i);if(0===i)return void this.delete(e,t);const n=this._store.slice(0,e),o=this._store.slice(e+t),s=function(e,t){const i=[];for(let n=0;n=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;e0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new nt(e,[t]))}finalize(){return this._tokens}}var st=i(77378);class rt{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new lt(e)}getStartState(e){return 1===e?this.initialState:this.store.getEndState(e-1)}}class at extends rt{constructor(e,t,i,n){super(e,t),this._textModel=i,this._languageIdCodec=n}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const n=this.store.getFirstInvalidEndStateLineNumber();if(!n||n>t)break;const o=this._textModel.getLineContent(n),s=this.getStartState(n),r=ht(this._languageIdCodec,i,this.tokenizationSupport,o,!0,s);e.add(n,r.tokens),this.store.setEndState(n,r.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);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=ht(this._languageIdCodec,n,this.tokenizationSupport,s,!0,i),a=new st.A(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,s=this.getStartState(n);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),d=ht(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new st.A(d.tokens,a,this._languageIdCodec)}isCheapToTokenize(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&o>=1;o--){const e=this._textModel.getLineFirstNonWhitespaceColumn(o);if(0!==e&&(e0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class ct{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}removeMin(){if(0===this._ranges.length)return null;const e=this._ranges[0];return e.start+1===e.endExclusive?this._ranges.shift():this._ranges[0]=new et.q(e.start+1,e.endExclusive),e.start}addRange(e){et.q.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let n=i;for(;!(n>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function ht(e,t,i,n,o,r){let a=null;if(i)try{a=i.tokenizeEncoded(n,o,r.clone())}catch(e){(0,s.dL)(e)}return a||(a=(0,tt.Dy)(e.encodeLanguageId(t),r)),st.A.convertToEndOffset(a.tokens,n.length),a}class ut{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Ge.To)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.isTokenizationComplete()}_tokenizeOneInvalidLine(e){if(!this._tokenizerWithStateStore||!this._hasLinesToTokenize())return this._tokenizerWithStateStore._textModel.getLineCount()+1;const t=this._tokenizerWithStateStore.store.getFirstInvalidEndStateLineNumber();return this._tokenizerWithStateStore.updateTokensUntilLine(e,t),t}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.isTokenizationComplete()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new $e.z(e,t))}}const gt=new Uint32Array(0).buffer;class pt{static deleteBeginning(e,t){return null===e||e===gt?e:pt.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===gt)return e;const i=mt(e),n=i[i.length-2];return pt.delete(e,t,n)}static delete(e,t,i){if(null===e||e===gt||t===i)return e;const n=mt(e),o=n.length>>>1;if(0===t&&n[n.length-2]===i)return gt;const s=st.A.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 c=new Uint32Array(a);return c.set(n.subarray(0,a),0),c.buffer}static append(e,t){if(t===gt)return e;if(e===gt)return t;if(null===e)return e;if(null===t)return null;const i=mt(e),n=mt(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=st.A.findIndexInTokensArray(n,t);if(s>0){n[s-1<<1]===t&&s--}for(let e=s;e0}getTokens(e,t,i){let n=null;if(t1&&(t=ft.N.getLanguageId(n[1])!==e),!t)return gt}if(!n||0===n.length){const i=new Uint32Array(2);return i[0]=t,i[1]=vt(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]=pt.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=pt.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let n=null;i=this._len||(0!==t?(this._lineTokens[n]=pt.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=pt.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)):this._lineTokens[n]=pt.insert(this._lineTokens[n],e.column-1,i))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const i=[];for(let n=0,o=e.length;n>>0}class Ct{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 o=null;for(let e=0,t=this._pieces.length;ei.endLineNumber){o=o||{index:e};break}if(n.removeTokens(i),n.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(n.endLineNumberi.endLineNumber){o=o||{index:e};continue}const[s,r]=n.split(i);s.isEmpty()?o=o||{index:e}:r.isEmpty()||(this._pieces.splice(e,1,s,r),e++,t++,o=o||{index:e})}return o=o||{index:this._pieces.length},t.length>0&&(this._pieces=n.Zv(this._pieces,o.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const i=this._pieces;if(0===i.length)return t;const n=i[Ct._findFirstPieceWithLine(i,e)].getLineTokens(e);if(!n)return t;const o=t.getCount(),s=n.getCount();let r=0;const a=[];let l=0,d=0;const c=(e,t)=>{e!==d&&(d=e,a[l++]=e,a[l++]=t)};for(let e=0;e>>0,d=~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)}}class bt extends Ye.U{constructor(e,t,i,n,o,s){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=i,this._bracketPairsTextModelPart=n,this._languageId=o,this._attachedViews=s,this._semanticTokens=new Ct(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new r.Q5),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new r.Q5),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new r.Q5),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new wt(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,i,n]=(0,c.Q)(t.text);this._semanticTokens.acceptEdit(t.range,e,i,n,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new s.he("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this.grammarTokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),n=this.getLineTokens(t.lineNumber),o=n.findTokenIndexAtOffset(t.column-1),[s,r]=bt._findLanguageBoundaries(n,o),a=(0,Ze.t2)(t.column,this.getLanguageConfiguration(n.getLanguageId(o)).getWordDefinition(),i.substring(s,r),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(o>0&&s===t.column-1){const[s,r]=bt._findLanguageBoundaries(n,o-1),a=(0,Ze.t2)(t.column,this.getLanguageConfiguration(n.getLanguageId(o-1)).getWordDefinition(),i.substring(s,r),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}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{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(n.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let i=this._attachedViewStates.get(e);i||(i=new St((()=>this.refreshRanges(i.lineRanges))),this._attachedViewStates.set(e,i)),i.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){var t;this._tokens.flush(),null===(t=this._debugBackgroundTokens)||void 0===t||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new lt(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[i,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=Qe.RW.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(e){return(0,s.dL)(e),[null,null]}return[e,t]})();if(this._tokenizer=i&&n?new at(this._textModel.getLineCount(),i,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{if(2===this._backgroundTokenizationState)return;this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(e,t)=>{var i,n,o;if(!t)throw new s.he;const r=null!==(n=null===(i=this._tokenizer)||void 0===i?void 0:i.store.getFirstInvalidEndStateLineNumber())&&void 0!==n?n:void 0;void 0!==r&&e>=r&&(null===(o=this._tokenizer)||void 0===o||o.store.setEndState(e,t))}};i&&i.createBackgroundTokenizer&&!i.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ut(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),(null==i?void 0:i.backgroundTokenizerShouldOnlyVerifyTokens)&&i.createBackgroundTokenizer?(this._debugBackgroundTokens=new _t(this._languageIdCodec),this._debugBackgroundStates=new lt(this._textModel.getLineCount()),this._debugBackgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,{setTokens:e=>{var t;null===(t=this._debugBackgroundTokens)||void 0===t||t.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{var i;null===(i=this._debugBackgroundStates)||void 0===i||i.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.handleChanges()}handleDidChangeContent(e){var t,i,n;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const i of e.changes){const[e,n]=(0,c.Q)(i.text);this._tokens.acceptEdit(i.range,e,n),null===(t=this._debugBackgroundTokens)||void 0===t||t.acceptEdit(i.range,e,n)}null===(i=this._debugBackgroundStates)||void 0===i||i.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),null===(n=this._defaultBackgroundTokenizer)||void 0===n||n.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=$e.z.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var i,n;if(!this._tokenizer)return;e=Math.max(1,e),t=Math.min(this._textModel.getLineCount(),t);const o=new ot,{heuristicTokens:s}=this._tokenizer.tokenizeHeuristically(o,e,t),r=this.setTokens(o.finalize());if(s)for(const e of r.changes)null===(i=this._backgroundTokenizer.value)||void 0===i||i.requestTokens(e.fromLineNumber,e.toLineNumber+1);null===(n=this._defaultBackgroundTokenizer)||void 0===n||n.checkFinished()}forceTokenization(e){var t,i;const n=new ot;null===(t=this._tokenizer)||void 0===t||t.updateTokensUntilLine(n,e),this.setTokens(n.finalize()),null===(i=this._defaultBackgroundTokenizer)||void 0===i||i.checkFinished()}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const i=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,i);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const o=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,i);!n.equals(o)&&(null===(t=this._debugBackgroundTokenizer.value)||void 0===t?void 0:t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const n=this._textModel.validatePosition(new u.L(e,t));return this.forceTokenization(n.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const n=this._textModel.validatePosition(e);return this.forceTokenization(n.lineNumber),this._tokenizer.tokenizeLineWithEdit(n,t,i)}get hasTokens(){return this._tokens.hasTokens}}class St extends a.JT{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Ge.pY((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,n.fS)(this._computedLineRanges,this._lineRanges)||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}var Lt=i(14706),yt=i(64862),kt=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},Nt=function(e,t){return function(i,n){t(i,n,e)}};function xt(e,t){let i;return i="string"==typeof e?function(e){const t=new Ke;return t.acceptChunk(e),t.finish()}(e):v.Hf(e)?function(e){const t=new Ke;let i;for(;"string"==typeof(i=e.read());)t.acceptChunk(i);return t.finish()}(e):e,i.create(t)}let It=0;class Tt{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 Dt=()=>{throw new Error("Invalid change accessor")};let Mt=class e extends a.JT{static resolveOptions(e,t){if(t.detectIndentation){const i=Y(e,t.tabSize,t.insertSpaces);return new v.dJ({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new v.dJ(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,a.F8)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(t,i,n,o=null,s,c,h){super(),this._undoRedoService=s,this._languageService=c,this._languageConfigurationService=h,this._onWillDispose=this._register(new r.Q5),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new Ut((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new r.Q5),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new r.Q5),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new r.Q5),this._eventEmitter=this._register(new jt),this._languageSelectionListener=this._register(new a.XK),this._deltaDecorationCallCnt=0,this._attachedViews=new qt,It++,this.id="$model"+It,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==o?d.o.parse("inmemory://model/"+It):o,this._attachedEditorCount=0;const{textBuffer:u,disposable:p}=xt(t,n.defaultEOL);this._buffer=u,this._bufferDisposable=p,this._options=e.resolveOptions(this._buffer,n);const m="string"==typeof i?i:i.languageId;"string"!=typeof i&&(this._languageSelectionListener.value=i.onDidChange((()=>this._setLanguage(i.languageId)))),this._bracketPairs=this._register(new W(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new $.l(this,this._languageConfigurationService)),this._decorationProvider=this._register(new q(this)),this._tokenizationTextModelPart=new bt(this._languageService,this._languageConfigurationService,this,this._bracketPairs,m,this._attachedViews);const f=this._buffer.getLineCount(),_=this._buffer.getValueLengthInRange(new g.e(1,1,f,this._buffer.getLineLength(f)+1),0);n.largeFileOptimizations?this._isTooLargeForTokenization=_>e.LARGE_FILE_SIZE_THRESHOLD||f>e.LARGE_FILE_LINE_COUNT_THRESHOLD:this._isTooLargeForTokenization=!1,this._isTooLargeForSyncing=_>e._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=l.PJ(It),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new Et,this._commandManager=new G.NL(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()}))),this._languageService.requestRichLanguageFeatures(m)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new je([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=a.JT.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Lt.fV(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,s.b1)();const{textBuffer:t,disposable:i}=xt(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,o,s,r,a){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),isEolChange:a,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._decorations=Object.create(null),this._decorationsTree=new Et,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Lt.dQ([new Lt.Jx],this._versionId,!1,!1),this._createContentChanged2(new g.e(1,1,o,s),0,n,this.getValue(),!1,!1,!0,!1))}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 Lt.dQ([new Lt.CZ],this._versionId,!1,!1),this._createContentChanged2(new g.e(1,1,o,s),0,n,this.getValue(),!1,!1,!1,!0))}_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.originalIndentSize,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 v.dJ({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._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const i=Y(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),(0,h.x)(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(l.Qe.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 Tt(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),d=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,d=1;else if(l>t)l=t,d=this.getLineMaxColumn(l);else if(d<=1)d=1;else{const e=this.getLineMaxColumn(l);d>=e&&(d=e)}return i===o&&n===s&&r===l&&a===d&&e instanceof g.e&&!(e instanceof p.Y)?e:new g.e(o,s,l,d)}_isValidPosition(e,t,i){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===i){const i=this._buffer.getLineCharCode(e,t-2);if(l.ZG(i))return!1}return!0}_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 u.L(1,1);if(n>s)return new u.L(s,this.getLineMaxColumn(s));if(o<=1)return new u.L(n,1);const r=this.getLineMaxColumn(n);if(o>=r)return new u.L(n,r);if(1===i){const e=this._buffer.getLineCharCode(n,o-2);if(l.ZG(e))return new u.L(n,o-1)}return new u.L(n,o)}validatePosition(e){return this._assertNotDisposed(),e instanceof u.L&&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=l.ZG(e),a=l.ZG(t);return!r&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof g.e&&!(e instanceof p.Y)&&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=l.ZG(e),a=l.ZG(t);return i||a?n===s&&o===r?new g.e(n,o-1,s,r-1):i&&a?new g.e(n,o-1,s,r+1):i?new g.e(n,o-1,s,r):new g.e(n,o,s,r+1):new g.e(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 g.e(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=>g.e.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 d;if(l.push(a.reduce(((e,t)=>g.e.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!i&&e.indexOf("\n")<0){const t=new Pe.bc(e,i,n,o).parseSearchRequest();if(!t)return[];d=e=>this.findMatchesLineByLine(e,t,s,r)}else d=t=>Pe.pM.findMatches(this,new Pe.bc(e,i,n,o),t,s,r);return l.map(d).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 Pe.bc(e,i,n,o).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new g.e(r.lineNumber,r.column,a,this.getLineMaxColumn(a)),d=this.findMatchesLineByLine(l,t,s,1);return Pe.pM.findNextMatch(this,new Pe.bc(e,i,n,o),r,s),d.length>0?d[0]:(l=new g.e(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),d=this.findMatchesLineByLine(l,t,s,1),d.length>0?d[0]:null)}return Pe.pM.findNextMatch(this,new Pe.bc(e,i,n,o),r,s)}findPreviousMatch(e,t,i,n,o,s){this._assertNotDisposed();const r=this.validatePosition(t);return Pe.pM.findPreviousMatch(this,new Pe.bc(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 v.Qi?e:new v.Qi(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 g.e(n,1,n,o);t.push(new v.Qi(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,n)}_applyUndo(e,t,i,n){const o=e.map((e=>{const t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new g.e(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 g.e(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(),o=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),s=this._buffer.getLineCount(),r=o.changes;if(this._trimAutoWhitespaceLines=o.trimAutoWhitespaceLineNumbers,0!==r.length){for(let e=0,t=r.length;e=0;t--){const i=l+t,n=f+t;w.takeFromEndWhile((e=>e.lineNumber>n));const o=w.takeFromEndWhile((e=>e.lineNumber===n));e.push(new Lt.rU(i,this.getLineContent(n),o))}if(pe.lineNumbere.lineNumber===t))}e.push(new Lt.Tx(o+1,l+g,c,d))}t+=m}this._emitContentChangedEvent(new Lt.dQ(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:r,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===o.reverseEdits?void 0:o.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=Array.from(e).map((e=>new Lt.rU(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Lt.D8(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,zt(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){(0,s.dL)(e)}return i.addDecoration=Dt,i.changeDecoration=Dt,i.changeDecorationOptions=Dt,i.removeDecoration=Dt,i.deltaDecorations=Dt,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,s.dL)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_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:Ht[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(Ht[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,o=!1){const s=this.getLineCount(),r=Math.min(s,Math.max(1,e)),a=Math.min(s,Math.max(1,t)),l=this.getLineMaxColumn(a),d=new g.e(r,1,a,l),c=this._getDecorationsInRange(d,i,o);return(0,n.vA)(c,this._decorationProvider.getDecorationsInRange(d,i,o)),c}getDecorationsInRange(e,t=0,i=!1,o=!1){const s=this.validateRange(e),r=this._getDecorationsInRange(s,t,i);return(0,n.vA)(r,this._decorationProvider.getDecorationsInRange(s,t,i,o)),r}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 Lt.gk.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;this._onDidChangeDecorations.beginDeferredEmit();try{const l=new Array(r);for(;sthis._setLanguage(e.languageId,t))),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(const i of e){if(" "!==i&&"\t"!==i)break;t++}return t}(this.getLineContent(e))+1}};function Rt(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function Pt(e){return!!e.options.after||!!e.options.before}Mt._MODEL_SYNC_LIMIT=52428800,Mt.LARGE_FILE_SIZE_THRESHOLD=20971520,Mt.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,Mt.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:m.D.tabSize,indentSize:m.D.indentSize,insertSpaces:m.D.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:m.D.trimAutoWhitespace,largeFileOptimizations:m.D.largeFileOptimizations,bracketPairColorizationOptions:m.D.bracketPairColorizationOptions},Mt=kt([Nt(4,yt.tJ),Nt(5,f.O),Nt(6,_.c_)],Mt);class Et{constructor(){this._decorationsTree0=new le,this._decorationsTree1=new le,this._injectedTextDecorationsTree=new le}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){Pt(e)?this._injectedTextDecorationsTree.insert(e):Rt(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Pt(e)?this._injectedTextDecorationsTree.delete(e):Rt(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){Pt(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Rt(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 Ot(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class At{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Ft extends At{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:v.sh.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 Vt extends At{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?o.Il.fromHex(e):t.getColor(e.id)}}class Wt{static from(e){return e instanceof Wt?e:new Wt(e)}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}}class Bt{static register(e){return new Bt(e)}static createDynamic(e){return new Bt(e)}constructor(e){var t,i,n,o,s;this.description=e.description,this.blockClassName=e.blockClassName?Ot(e.blockClassName):null,this.blockDoesNotCollapse=null!==(t=e.blockDoesNotCollapse)&&void 0!==t?t:null,this.blockIsAfterEnd=null!==(i=e.blockIsAfterEnd)&&void 0!==i?i:null,this.blockPadding=null!==(n=e.blockPadding)&&void 0!==n?n:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?Ot(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 Ft(e.overviewRuler):null,this.minimap=e.minimap?new Vt(e.minimap):null,this.glyphMarginClassName=e.glyphMarginClassName?Ot(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Ot(e.linesDecorationsClassName):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Ot(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Ot(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Ot(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Ot(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Ot(e.afterContentClassName):null,this.after=e.after?Wt.from(e.after):null,this.before=e.before?Wt.from(e.before):null,this.hideInCommentTokens=null!==(o=e.hideInCommentTokens)&&void 0!==o&&o,this.hideInStringTokens=null!==(s=e.hideInStringTokens)&&void 0!==s&&s}}Bt.EMPTY=Bt.register({description:"empty"});const Ht=[Bt.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Bt.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Bt.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Bt.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function zt(e){return e instanceof Bt?e:Bt.createDynamic(e)}class Ut extends a.JT{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new r.Q5),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),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.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._actual.fire(e)}}class jt extends a.JT{constructor(){super(),this._fastEmitter=this._register(new r.Q5),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new r.Q5),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))}}class qt{constructor(){this._onDidChangeVisibleRanges=new r.Q5,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new Kt((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class Kt{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map((e=>new $e.z(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}},94954:(e,t,i)=>{i.d(t,{U:()=>o});var n=i(5976);class o extends n.JT{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},77277:(e,t,i)=>{i.d(t,{bc:()=>l,cM:()=>u,iE:()=>d,pM:()=>h,sz:()=>g});var n=i(97295),o=i(24929),s=i(50187),r=i(24314),a=i(84973);class l{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=n.GF(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 a.Tx(t,this.wordSeparators?(0,o.u)(this.wordSeparators):null,i?this.searchString:null)}}function d(e,t,i){if(!i)return new a.tk(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 h{static findMatches(e,t,i,n,o){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,i,new g(s.wordSeparators,s.regex),n,o):this._doFindMatchesLineByLine(e,i,s,n,o):[]}static _getMultilineMatchRange(e,t,i,n,o,s){let a,l,d=0;if(n?(d=n.findLineFeedCountBeforeOffset(o),a=t+o+d):a=t+o,n){const e=n.findLineFeedCountBeforeOffset(o+s.length)-d;l=a+s.length+e}else l=a+s.length;const c=e.getPositionAt(a),h=e.getPositionAt(l);return new r.e(c.lineNumber,c.column,h.lineNumber,h.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 c(r):null,l=[];let h,u=0;for(i.reset(0);h=i.next(r);)if(l[u++]=d(this._getMultilineMatchRange(e,s,r,a,h.index,h[0]),h,n),u>=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=c))return o;return o}const p=new g(e.wordSeparators,e.regex);let m;p.reset(0);do{if(m=p.next(t),m&&(s[o++]=d(new r.e(i,m.index+1+n,i,m.index+1+m[0].length+n),m,l),o>=c))return o}while(m);return o}static findNextMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const s=new g(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 s.L(t.lineNumber,1),a=e.getOffsetAt(o),l=e.getLineCount(),h=e.getValueInRange(new r.e(o.lineNumber,o.column,l,e.getLineMaxColumn(l)),1),u="\r\n"===e.getEOL()?new c(h):null;i.reset(t.column-1);const g=i.next(h);return g?d(this._getMultilineMatchRange(e,a,h,u,g.index,g[0]),g,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new s.L(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?d(new r.e(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 g(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 r.e(1,1,t.lineNumber,t.column),i,n,9990);if(o.length>0)return o[o.length-1];const a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new s.L(a,e.getLineMaxColumn(a)),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=d(new r.e(i,o.index+1,i,o.index+1+o[0].length),o,n);return s}}function u(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 g{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 o=i.index,s=i[0].length;if(o===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){n.ZH(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=o,this._prevMatchLength=s,!this._wordSeparators||u(this._wordSeparators,e,t,o,s))return i}while(i);return null}}},59616:(e,t,i)=>{function n(e,t){let i=0,n=0;const o=e.length;for(;nn})},26987:(e,t,i)=>{i.d(t,{gD:()=>r});var n=i(35146),o=i(50187),s=i(84973);class r{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 d(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 d(e-1,this.getMaxOutputOffset(e-1))}else if(1===i){if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength));return(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&&a(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let e=i.offsetInInputWithInjections;if(l(this.injectionOptions[i.injectedTextIndex].cursorStops))return e;let t=i.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[i.injectedTextIndex]&&!a(this.injectionOptions[t].cursorStops)&&(e-=this.injectionOptions[t].content.length,!l(this.injectionOptions[t].cursorStops));)t--;return e}}if(1===t||4===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}(0,n.vE)(t)}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 a(e){return null==e||(e===s.RM.Right||e===s.RM.Both)}function l(e){return null==e||(e===s.RM.Left||e===s.RM.Both)}class d{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new o.L(e+this.outputLineIndex,this.outputOffset+1)}}},20927:(e,t,i)=>{i.d(t,{O:()=>g});var n=i(71050),o=i(4669),s=i(22258),r=i(70666),a=i(50187),l=i(24314),d=i(3860),c=i(96887),h=i(70902);class u{static chord(e,t){return(0,s.gx)(e,t)}}function g(){return{editor:void 0,languages:void 0,CancellationTokenSource:n.A,Emitter:o.Q5,KeyCode:h.VD,KeyMod:u,Position:a.L,Range:l.e,Selection:d.Y,SelectionDirection:h.a$,MarkerSeverity:h.ZL,MarkerTag:h.eB,Uri:r.o,Token:c.WU}}u.CtrlCmd=2048,u.Shift=1024,u.Alt=512,u.WinCtrl=256},91387:(e,t,i)=>{i.d(t,{k:()=>oe});var n=i(2484),o=i(70666),s=i(50187),r=i(24314),a=i(97295),l=i(90310);class d{constructor(e,t,i,n){this._uri=e,this._lines=t,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new s.L(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,i=new Uint32Array(t);for(let n=0;nt&&(t=s),o>i&&(i=o),r>i&&(i=r)}t++,i++;const n=new u(i,t,0);for(let t=0,i=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let p=null;let m=null;class f{static _createLink(e,t,i,n,o){let s=o-1;do{const i=t.charCodeAt(s);if(2!==e.get(i))break;s--}while(s>n);if(n>0){const e=t.charCodeAt(n-1),i=t.charCodeAt(s);(40===e&&41===i||91===e&&93===i||123===e&&125===i)&&s--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:s+2},url:t.substring(n,s+1)}}static computeLinks(e,t=function(){return null===p&&(p=new g([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),p}()){const i=function(){if(null===m){m=new h.N(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}_.INSTANCE=new _;var v=i(20927),C=i(84013),b=i(31446),w=i(60652),S=i(35146),L=i(45463);function y(e,t,i,o){return new n.Hs(e,t,i).ComputeDiff(o)}class k{constructor(e){const t=[],i=[];for(let n=0,o=e.length;n(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class x{constructor(e,t,i,n,o,s,r,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=o,this.modifiedStartColumn=s,this.modifiedEndLineNumber=r,this.modifiedEndColumn=a}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),r=t.getEndColumn(e.originalStart+e.originalLength-1),a=i.getStartLineNumber(e.modifiedStart),l=i.getStartColumn(e.modifiedStart),d=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),c=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new x(n,o,s,r,a,l,d,c)}}class I{constructor(e,t,i,n,o){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=i,this.modifiedEndLineNumber=n,this.charChanges=o}static createFromDiffResult(e,t,i,n,o,s,r){let a,l,d,c,h;if(0===t.originalLength?(a=i.getStartLineNumber(t.originalStart)-1,l=0):(a=i.getStartLineNumber(t.originalStart),l=i.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(d=n.getStartLineNumber(t.modifiedStart)-1,c=0):(d=n.getStartLineNumber(t.modifiedStart),c=n.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const s=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=y(s,a,o,!0).changes;r&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let i=t[0];for(let n=1,o=e.length;n1&&r>1;){if(e.charCodeAt(i-2)!==t.charCodeAt(r-2))break;i--,r--}(i>1||r>1)&&this._pushTrimWhitespaceCharChange(n,o+1,1,i,s+1,1,r)}{let i=M(e,1),r=M(t,1);const a=e.length+1,l=t.length+1;for(;i!0;const t=Date.now();return()=>Date.now()-t ${this.seq2Range}`}join(e){return new A(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}}class F{isValid(){return!0}}F.instance=new F;class V{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new E.he("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&l>0&&3===s.get(a-1,l-1)&&(h+=r.get(a-1,l-1)),h+=n?n(a,l):1):h=-1;const u=Math.max(d,c,h);if(u===h){const e=a>0&&l>0?r.get(a-1,l-1):0;r.set(a,l,e+1),s.set(a,l,3)}else u===d?(r.set(a,l,0),s.set(a,l,1)):u===c&&(r.set(a,l,0),s.set(a,l,2));o.set(a,l,u)}const a=[];let l=e.length,d=t.length;function c(e,t){e+1===l&&t+1===d||a.push(new A(new P.q(e+1,l),new P.q(t+1,d))),l=e,d=t}let h=e.length-1,u=t.length-1;for(;h>=0&&u>=0;)3===s.get(h,u)?(c(h,u),h--,u--):1===s.get(h,u)?h--:u--;return c(-1,-1),a.reverse(),new O(a,!1)}}function H(e,t,i){let n=i;return n=function(e,t,i){const n=[];i.length>0&&n.push(i[0]);for(let e=1;e0?i[n-1].seq2Range.endExclusive:-1,r=n+10?i[n-1].seq1Range.endExclusive:-1,r=n+1o&&i.getElement(e.seq2Range.start-s)===i.getElement(e.seq2Range.endExclusive-s)&&s<20;)s++;s--;let r=0;for(;e.seq2Range.start+rl&&(l=d,a=n)}return 0!==a?new A(e.seq1Range.delta(a),e.seq2Range.delta(a)):e}class U{compute(e,t,i=F.instance){if(0===e.length||0===t.length)return O.trivial(e,t);function n(i,n){for(;i=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class K{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class G{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:$(this.lines[e-1]))+(e===this.lines.length?0:$(this.lines[e])))}}function $(e){let t=0;for(;t0&&t.endExclusive>=e.length&&(t=new P.q(t.start-1,t.endExclusive),n=!0),this.lineRange=t;for(let t=this.lineRange.start;tString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=X(e>0?this.elements[e-1]:-1),i=X(ee?i=n:t=n+1}const n=0===t?0:this.firstCharOffsetByLineMinusOne[t-1];return new s.L(this.lineRange.start+t+1,e-n+1+this.offsetByLine[t])}translateRange(e){return r.e.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!Q(this.elements[e]))return;let t=e;for(;t>0&&Q(this.elements[t-1]);)t--;let i=e;for(;i=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const Y={0:0,1:0,2:0,3:10,4:2,5:3,6:10,7:10};function J(e){return Y[e]}function X(e){return 10===e?7:13===e?6:function(e){return 32===e||9===e}(e)?5:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:4}const ee={smart:new class{computeDiff(e,t,i){var n;const o=new T(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),s=[];let a=null;for(const e of o.changes){let t,i;t=0===e.originalEndLineNumber?new L.z(e.originalStartLineNumber+1,e.originalStartLineNumber+1):new L.z(e.originalStartLineNumber,e.originalEndLineNumber+1),i=0===e.modifiedEndLineNumber?new L.z(e.modifiedStartLineNumber+1,e.modifiedStartLineNumber+1):new L.z(e.modifiedStartLineNumber,e.modifiedEndLineNumber+1);let o=new w.f0(t,i,null===(n=e.charChanges)||void 0===n?void 0:n.map((e=>new w.iy(new r.e(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new r.e(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));a&&(a.modifiedRange.endLineNumberExclusive!==o.modifiedRange.startLineNumber&&a.originalRange.endLineNumberExclusive!==o.originalRange.startLineNumber||(o=new w.f0(a.originalRange.join(o.originalRange),a.modifiedRange.join(o.modifiedRange),a.innerChanges&&o.innerChanges?a.innerChanges.concat(o.innerChanges):void 0),s.pop())),s.push(o),a=o}return(0,S.eZ)((()=>(0,S.DM)(s,((e,t)=>t.originalRange.startLineNumber-e.originalRange.endLineNumberExclusive==t.modifiedRange.startLineNumber-e.modifiedRange.endLineNumberExclusive&&e.originalRange.endLineNumberExclusiver(e.trim()))),l=t.map((e=>r(e.trim()))),d=new G(a,e),c=new G(l,t),h=(()=>d.length+c.length<1500?this.dynamicProgrammingDiffing.compute(d,c,n,((i,n)=>e[i]===t[n]?0===t[n].length?.1:1+Math.log(1+t[n].length):.99)):this.myersDiffingAlgorithm.compute(d,c))();let u=h.diffs,g=h.hitTimeout;u=H(d,c,u);const p=[],m=i=>{if(o)for(let s=0;si.seq1Range.start-f==i.seq2Range.start-_));m(i.seq1Range.start-f),f=i.seq1Range.endExclusive,_=i.seq2Range.endExclusive;const s=this.refineDiff(e,t,i,n,o);s.hitTimeout&&(g=!0);for(const e of s.mappings)p.push(e)}m(e.length-f);const v=function(e,t,i){const n=[];for(const o of function*(e,t){let i,n;for(const o of e)void 0!==n&&t(n,o)?i.push(o):(i&&(yield i),i=[o]),n=o;i&&(yield i)}(e.map((e=>function(e,t,i){let n=0,o=0;e.modifiedRange.startColumn-1>=i[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&(n=1);1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+n<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+n<=e.modifiedRange.endLineNumber&&(o=-1);const s=new L.z(e.originalRange.startLineNumber+n,e.originalRange.endLineNumber+1+o),r=new L.z(e.modifiedRange.startLineNumber+n,e.modifiedRange.endLineNumber+1+o);return new w.f0(s,r,[e])}(e,t,i))),((e,t)=>e.originalRange.overlapOrTouch(t.originalRange)||e.modifiedRange.overlapOrTouch(t.modifiedRange)))){const e=o[0],t=o[o.length-1];n.push(new w.f0(e.originalRange.join(t.originalRange),e.modifiedRange.join(t.modifiedRange),o.map((e=>e.innerChanges[0]))))}return(0,S.eZ)((()=>(0,S.DM)(n,((e,t)=>t.originalRange.startLineNumber-e.originalRange.endLineNumberExclusive==t.modifiedRange.startLineNumber-e.modifiedRange.endLineNumberExclusive&&e.originalRange.endLineNumberExclusivee&&n.push(new A(o.s1Range,o.s2Range)),o=void 0}for(const r of i){function a(e,t){var i,n,a,l;if(!o||!o.s1Range.containsRange(e)||!o.s2Range.containsRange(t))if(!o||o.s1Range.endExclusive0||t.length>0;){const n=e[0],o=t[0];let s;s=n&&(!o||n.seq1Range.start0&&i[i.length-1].seq1Range.endExclusive>=s.seq1Range.start?i[i.length-1]=i[i.length-1].join(s):i.push(s)}return i}(i,n)}(s,r,l),l=function(e,t,i){const n=[];for(const e of i){const t=n[n.length-1];t&&(e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2)?n[n.length-1]=new A(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):n.push(e)}return n}(0,0,l);return{mappings:l.map((e=>new w.iy(s.translateRange(e.seq1Range),r.translateRange(e.seq2Range)))),hitTimeout:a.hitTimeout}}}};var te=i(36248),ie=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 ne extends d{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){const i=(0,c.t2)(e.column,(0,c.eq)(t),this._lines[e.lineNumber-1],0);return i?new r.e(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn):null}words(e){const t=this._lines,i=this._wordenize.bind(this);let n=0,o="",s=0,r=[];return{*[Symbol.iterator](){for(;;)if(sthis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const e=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>e&&(i=e,n=!0)}return n?{lineNumber:t,column:i}:e}}class oe{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}acceptNewModel(e){this._models[e.url]=new ne(o.o.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,t,i){return ie(this,void 0,void 0,(function*(){const n=this._getModel(e);return n?b.a.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}))}computeDiff(e,t,i,n){return ie(this,void 0,void 0,(function*(){const o=this._getModel(e),s=this._getModel(t);return o&&s?oe.computeDiff(o,s,i,n):null}))}static computeDiff(e,t,i,n){const o="experimental"===n?ee.experimental:ee.smart,s=e.getLinesContent(),r=t.getLinesContent(),a=o.computeDiff(s,r,i);return{identical:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:a.changes.map((e=>{var t;return[e.originalRange.startLineNumber,e.originalRange.endLineNumberExclusive,e.modifiedRange.startLineNumber,e.modifiedRange.endLineNumberExclusive,null===(t=e.innerChanges)||void 0===t?void 0:t.map((e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn]))]}))}}static _modelsAreIdentical(e,t){const i=e.getLineCount();if(i!==t.getLineCount())return!1;for(let n=1;n<=i;n++){if(e.getLineContent(n)!==t.getLineContent(n))return!1}return!0}computeMoreMinimalEdits(e,t,i){return ie(this,void 0,void 0,(function*(){const o=this._getModel(e);if(!o)return t;const s=[];let a;t=t.slice(0).sort(((e,t)=>{if(e.range&&t.range)return r.e.compareRangesUsingStarts(e.range,t.range);return(e.range?0:1)-(t.range?0:1)}));for(let{range:e,text:l,eol:d}of t){if("number"==typeof d&&(a=d),r.e.isEmpty(e)&&!l)continue;const t=o.getValueInRange(e);if(l=l.replace(/\r\n|\n|\r/g,o.eol),t===l)continue;if(Math.max(l.length,t.length)>oe._diffLimit){s.push({range:e,text:l});continue}const c=(0,n.a$)(t,l,i),h=o.offsetAt(r.e.lift(e).getStartPosition());for(const e of c){const t=o.positionAt(h+e.originalStart),i=o.positionAt(h+e.originalStart+e.originalLength),n={text:l.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:i.lineNumber,endColumn:i.column}};o.getValueInRange(n.range)!==n.text&&s.push(n)}}return"number"==typeof a&&s.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),s}))}computeLinks(e){return ie(this,void 0,void 0,(function*(){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?f.computeLinks(e):[]}(t):null}))}textualSuggest(e,t,i,n){return ie(this,void 0,void 0,(function*(){const o=new C.G(!0),s=new RegExp(i,n),r=new Set;e:for(const i of e){const e=this._getModel(i);if(e)for(const i of e.words(s))if(i!==t&&isNaN(Number(i))&&(r.add(i),r.size>oe._suggestionsLimit))break e}return{words:Array.from(r),duration:o.elapsed()}}))}computeWordRanges(e,t,i,n){return ie(this,void 0,void 0,(function*(){const o=this._getModel(e);if(!o)return Object.create(null);const s=new RegExp(i,n),r=Object.create(null);for(let e=t.startLineNumber;ethis._host.fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(n,t),Promise.resolve((0,te.$E)(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}oe._diffLimit=1e5,oe._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=(0,v.O)())},85215:(e,t,i)=>{i.d(t,{p:()=>n});const n=(0,i(72065).yh)("editorWorkerService")},88191:(e,t,i)=>{i.d(t,{A:()=>u});var n=i(89954),o=i(43702),s=i(59870),r=i(65026),a=i(72065),l=i(43557),d=i(50988),c=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},h=function(e,t){return function(i,n){t(i,n,e)}};const u=(0,a.yh)("ILanguageFeatureDebounceService");var g;!function(e){const t=new WeakMap;let i=0;e.of=function(e){let n=t.get(e);return void 0===n&&(n=++i,t.set(e,n)),n}}(g||(g={}));class p{constructor(e,t,i,n,s,r){this._logService=e,this._name=t,this._registry=i,this._default=n,this._min=s,this._max=r,this._cache=new o.z6(50,.7)}_key(e){return e.id+this._registry.all(e).reduce(((e,t)=>(0,n.SP)(g.of(t),e)),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?(0,s.uZ)(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 s.N(6),this._cache.set(i,n));const o=(0,s.uZ)(n.update(t),this._min,this._max);return(0,d.xn)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${o}ms`),o}_overall(){const e=new s.nM;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=0|this._overall()||this._default;return(0,s.uZ)(e,this._min,this._max)}}let m=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,d=`${g.of(e)},${r}${l?","+l:""}`;let c=this._data.get(d);return c||(c=new p(this._logService,t,e,0|this._overallAverage()||1.5*r,r,a),this._data.set(d,c)),c}_overallAverage(){const e=new s.nM;for(const t of this._data.values())e.update(t.default());return e.value}};m=c([h(0,l.VZ)],m),(0,r.z)(u,m,1)},71922:(e,t,i)=>{i.d(t,{p:()=>n});const n=(0,i(72065).yh)("ILanguageFeaturesService")},48656:(e,t,i)=>{var n=i(4669),o=i(5976),s=i(84973),r=i(14118),a=i(88721);function l(e,t,i,n,o,s){if(Array.isArray(e)){let r=0;for(const a of e){const e=l(a,t,i,n,o,s);if(10===e)return e;e>r&&(r=e)}return r}if("string"==typeof e)return n?"*"===e?5:e===i?10:0:0;if(e){const{language:l,pattern:d,scheme:c,hasAccessToAllModels:h,notebookType:u}=e;if(!n&&!h)return 0;u&&o&&(t=o);let g=0;if(c)if(c===t.scheme)g=10;else{if("*"!==c)return 0;g=5}if(l)if(l===i)g=10;else{if("*"!==l)return 0;g=Math.max(g,5)}if(u)if(u===s)g=10;else{if("*"!==u||void 0===s)return 0;g=Math.max(g,5)}if(d){let e;if(e="string"==typeof d?d:Object.assign(Object.assign({},d),{base:(0,a.Fv)(d.base)}),e!==t.fsPath&&!(0,r.EQ)(e,t.fsPath))return 0;g=10}return g}return 0}function d(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(d):!!e.exclusive)}class c{constructor(e,t,i,n){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=n}equals(e){var t,i;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&(null===(t=this.notebookUri)||void 0===t?void 0:t.toString())===(null===(i=e.notebookUri)||void 0===i?void 0:i.toString())}}class h{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new n.Q5,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,o.OF)((()=>{if(i){const e=this._entries.indexOf(i);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const e of this._entries)e._score>0&&t.push(e.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,(e=>t.push(e.provider))),t}orderedGroups(e){const t=[];let i,n;return this._orderedForEach(e,(e=>{i&&n===e._score?i.push(e.provider):(n=e._score,i=[e.provider],t.push(i))})),t}_orderedForEach(e,t){this._updateScores(e);for(const e of this._entries)e._score>0&&t(e)}_updateScores(e){var t,i;const n=null===(t=this._notebookInfoResolver)||void 0===t?void 0:t.call(this,e.uri),o=n?new c(e.uri,e.getLanguageId(),n.uri,n.type):new c(e.uri,e.getLanguageId(),void 0,void 0);if(!(null===(i=this._lastCandidate)||void 0===i?void 0:i.equals(o))){this._lastCandidate=o;for(const t of this._entries)if(t._score=l(t.selector,o.uri,o.languageId,(0,s.pt)(e),o.notebookUri,o.notebookType),d(t.selector)&&t._score>0){for(const e of this._entries)e._score=0;t._score=1e3;break}this._entries.sort(h._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:e._timet._time?-1:0}}var u=i(71922),g=i(65026);(0,g.z)(u.p,class{constructor(){this.referenceProvider=new h(this._score.bind(this)),this.renameProvider=new h(this._score.bind(this)),this.codeActionProvider=new h(this._score.bind(this)),this.definitionProvider=new h(this._score.bind(this)),this.typeDefinitionProvider=new h(this._score.bind(this)),this.declarationProvider=new h(this._score.bind(this)),this.implementationProvider=new h(this._score.bind(this)),this.documentSymbolProvider=new h(this._score.bind(this)),this.inlayHintsProvider=new h(this._score.bind(this)),this.colorProvider=new h(this._score.bind(this)),this.codeLensProvider=new h(this._score.bind(this)),this.documentFormattingEditProvider=new h(this._score.bind(this)),this.documentRangeFormattingEditProvider=new h(this._score.bind(this)),this.onTypeFormattingEditProvider=new h(this._score.bind(this)),this.signatureHelpProvider=new h(this._score.bind(this)),this.hoverProvider=new h(this._score.bind(this)),this.documentHighlightProvider=new h(this._score.bind(this)),this.selectionRangeProvider=new h(this._score.bind(this)),this.foldingRangeProvider=new h(this._score.bind(this)),this.linkProvider=new h(this._score.bind(this)),this.inlineCompletionsProvider=new h(this._score.bind(this)),this.completionProvider=new h(this._score.bind(this)),this.linkedEditingRangeProvider=new h(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new h(this._score.bind(this)),this.documentSemanticTokensProvider=new h(this._score.bind(this)),this.documentOnDropEditProvider=new h(this._score.bind(this)),this.documentPasteEditProvider=new h(this._score.bind(this))}_score(e){var t;return null===(t=this._notebookTypeResolver)||void 0===t?void 0:t.call(this,e)}},1)},45606:(e,t,i)=>{i.d(t,{T:()=>N});var n=i(4669),o=i(5976),s=i(97295),r=i(14118),a=i(81170),l=i(66663),d=i(88721),c=i(95935),h=i(68801);let u=[],g=[],p=[];function m(e,t=!1){!function(e,t,i){const n=function(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,r.Qc)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(d.KR.sep)>=0}}(e,t);u.push(n),n.userConfigured?p.push(n):g.push(n);i&&!n.userConfigured&&u.forEach((e=>{e.mime===n.mime||e.userConfigured||(n.extension&&e.extension===n.extension&&console.warn(`Overwriting extension <<${n.extension}>> to now point to mime <<${n.mime}>>`),n.filename&&e.filename===n.filename&&console.warn(`Overwriting filename <<${n.filename}>> to now point to mime <<${n.mime}>>`),n.filepattern&&e.filepattern===n.filepattern&&console.warn(`Overwriting filepattern <<${n.filepattern}>> to now point to mime <<${n.mime}>>`),n.firstline&&e.firstline===n.firstline&&console.warn(`Overwriting firstline <<${n.firstline}>> to now point to mime <<${n.mime}>>`))}))}(e,!1,t)}function f(e,t){return function(e,t){let i;if(e)switch(e.scheme){case l.lg.file:i=e.fsPath;break;case l.lg.data:i=c.Vb.parseMetaData(e).get(c.Vb.META_DATA_LABEL);break;case l.lg.vscodeNotebookCell:i=void 0;break;default:i=e.path}if(!i)return[{id:"unknown",mime:a.v.unknown}];i=i.toLowerCase();const n=(0,d.EZ)(i),o=_(i,n,p);if(o)return[o,{id:h.bd,mime:a.v.text}];const r=_(i,n,g);if(r)return[r,{id:h.bd,mime:a.v.text}];if(t){const e=function(e){(0,s.uS)(e)&&(e=e.substr(1));if(e.length>0)for(let t=u.length-1;t>=0;t--){const i=u[t];if(!i.firstline)continue;const n=e.match(i.firstline);if(n&&n.length>0)return i}return}(t);if(e)return[e,{id:h.bd,mime:a.v.text}]}return[{id:"unknown",mime:a.v.unknown}]}(e,t).map((e=>e.id))}function _(e,t,i){var n;let o,s,r;for(let a=i.length-1;a>=0;a--){const l=i[a];if(t===l.filenameLowercase){o=l;break}if(l.filepattern&&(!s||l.filepattern.length>s.filepattern.length)){const i=l.filepatternOnPath?e:t;(null===(n=l.filepatternLowercase)||void 0===n?void 0:n.call(l,i))&&(s=l)}l.extension&&(!r||l.extension.length>r.extension.length)&&t.endsWith(l.extensionLowercase)&&(r=l)}return o||(s||(r||void 0))}var v=i(23193),C=i(89872);const b=Object.prototype.hasOwnProperty,w="vs.editor.nullLanguage";class S{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(w,0),this._register(h.bd,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||w}}class L extends o.JT{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new n.Q5),this.onDidChange=this._onDidChange.event,L.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new S,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(h.dQ.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){L.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},u=u.filter((e=>e.userConfigured)),g=[];const e=[].concat(h.dQ.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),C.B.as(v.IP.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;b.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let n=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),n=t.mimetypes[0]),n||(n=`text/x-${i}`,e.mimetypes.push(n)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)m({id:i,mime:n,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const o of t.filenames)m({id:i,mime:n,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(const e of t.filenamePatterns)m({id:i,mime:n,filepattern:e},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.IO)(t)||m({id:i,mime:n,firstline:t},this._warnOnOverwrite)}catch(i){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,i)}}e.aliases.push(i);let o=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(o=0===t.aliases.length?[null]:t.aliases),null!==o)for(const t of o)t&&0!==t.length&&e.aliases.push(t);const r=null!==o&&o.length>0;if(r&&null===o[0]);else{const t=(r?o[0]:null)||i;!r&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&b.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return b.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&b.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?f(e,t):[]}}L.instanceCount=0;var y=i(9488),k=i(96887);class N extends o.JT{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new n.Q5),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new n.Q5),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new n.Q5({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,N.instanceCount++,this._registry=this._register(new L(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){N.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,y.Xh)(i,null)}createById(e){return new x(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new x(this.onDidChange,(()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=h.bd),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),k.RW.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}N.instanceCount=0;class x{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new n.Q5({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,null===(e=this._emitter)||void 0===e||e.fire(this.languageId))}}},36357:(e,t,i)=>{i.d(t,{i:()=>n});const n=(0,i(72065).yh)("markerDecorationsService")},86036:(e,t,i)=>{i.d(t,{x:()=>_});var n=i(98674),o=i(5976),s=i(84973),r=i(97781),a=i(8625),l=i(73733),d=i(24314),c=i(66663),h=i(4669),u=i(73910),g=i(43702),p=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},m=function(e,t){return function(i,n){t(i,n,e)}};class f extends o.JT{constructor(e){super(),this.model=e,this._markersData=new Map,this._register((0,o.OF)((()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()})))}update(e,t){const i=[...this._markersData.keys()];this._markersData.clear();const n=this.model.deltaDecorations(i,t);for(let t=0;tthis._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new f(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const i=this._markerDecorations.get(e.uri);i&&(i.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==c.lg.inMemory&&e.uri.scheme!==c.lg.internal&&e.uri.scheme!==c.lg.vscode||null===(t=this._markerService)||void 0===t||t.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500}),i=t.map((t=>({range:this._createDecorationRange(e.model,t),options:this._createDecorationOption(t)})));e.update(t,i)&&this._onDidChangeMarker.fire(e.model)}_createDecorationRange(e,t){let i=d.e.lift(t);if(t.severity!==n.ZL.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(i=i.setEndPosition(i.startLineNumber,i.startColumn+2)),i=e.validateRange(i),i.isEmpty()){const t=e.getLineLastNonWhitespaceColumn(i.startLineNumber)||e.getLineMaxColumn(i.startLineNumber);if(1===t||i.endColumn>=t)return i;const n=e.getWordAtPosition(i.getStartPosition());n&&(i=new d.e(i.startLineNumber,n.startColumn,i.endLineNumber,n.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n=0}};_=p([m(0,l.q),m(1,n.lT)],_)},73733:(e,t,i)=>{i.d(t,{q:()=>n});const n=(0,i(72065).yh)("modelService")},51200:(e,t,i)=>{i.d(t,{b:()=>k});var n=i(4669),o=i(5976),s=i(1432),r=i(3654),a=i(22075),l=i(68801),d=i(72042),c=i(71765),h=i(33108),u=i(64862),g=i(89954),p=i(95215),m=i(66663),f=i(36248),_=i(51381),v=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=function(e,t){return function(i,n){t(i,n,e)}};function b(e){return e.toString()}function w(e){const t=new g.yP,i=e.createSnapshot();let n;for(;n=i.read();)t.update(n);return t.digest()}class S{constructor(e,t,i){this.model=e,this._modelEventListeners=new o.SL,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>i(e,t))))}dispose(){this._modelEventListeners.dispose()}}const L=s.IJ||s.dz?1:2;class y{constructor(e,t,i,n,o,s,r,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=n,this.heapSize=o,this.sha1=s,this.versionId=r,this.alternativeVersionId=a}}let k=class e extends o.JT{constructor(e,t,i,o,s){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._languageService=o,this._languageConfigurationService=s,this._onModelAdded=this._register(new n.Q5),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new n.Q5),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new n.Q5),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var i;let n=a.D.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let o="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(o=Math.max(t,1))}let s=a.D.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let r=L;const l=e.eol;"\r\n"===l?r=2:"\n"===l&&(r=1);let d=a.D.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(d="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let c=a.D.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(c="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let h=a.D.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(h="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let u=a.D.bracketPairColorizationOptions;return(null===(i=e.editor)||void 0===i?void 0:i.bracketPairColorization)&&"object"==typeof e.editor.bracketPairColorization&&(u={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:o,insertSpaces:s,detectIndentation:c,defaultEOL:r,trimAutoWhitespace:d,largeFileOptimizations:h,bracketPairColorizationOptions:u}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&"string"==typeof i&&"auto"!==i?i:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(t,i,n){const o="string"==typeof t?t:t.languageId;let s=this._modelCreationOptionsByLanguageAndResource[o+i];if(!s){const t=this._configurationService.getValue("editor",{overrideIdentifier:o,resource:i}),r=this._getEOL(i,o);s=e._readModelOptions({editor:t,eol:r},n),this._modelCreationOptionsByLanguageAndResource[o+i]=s}return s}_updateModelOptions(t){const i=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let o=0,s=n.length;oe){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){const o=this.getCreationOptions(t,i,n),s=new r.yO(e,t,o,i,this._undoRedoService,this._languageService,this._languageConfigurationService);if(i&&this._disposedModels.has(b(i))){const e=this._removeDisposedModel(i),t=this._undoRedoService.getElements(i),n=w(s)===e.sha1;if(n||e.sharesUndoRedoStack){for(const e of t.past)(0,p.e9)(e)&&e.matchesResource(i)&&e.setModel(s);for(const e of t.future)(0,p.e9)(e)&&e.matchesResource(i)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(i,!0,(e=>(0,p.e9)(e)&&e.matchesResource(i))),n&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const a=b(s.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");const l=new S(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[a]=l,l}createModel(e,t,i,n=!1){let o;return o=t?this._createModelData(e,t,i,n):this._createModelData(e,l.bd,i,n),this._onModelAdded.fire(o.model),o.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i0||e.future.length>0){for(const i of e.past)(0,p.e9)(i)&&i.matchesResource(t.uri)&&(s=!0,r+=i.heapSize(t.uri),i.setModel(t.uri));for(const i of e.future)(0,p.e9)(i)&&i.matchesResource(t.uri)&&(s=!0,r+=i.heapSize(t.uri),i.setModel(t.uri))}}const a=e.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(s)if(!o&&r>a){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else this._ensureDisposedModelsHeapSize(a-r),this._undoRedoService.setElementsValidFlag(t.uri,!1,(e=>(0,p.e9)(e)&&e.matchesResource(t.uri))),this._insertDisposedModel(new y(t.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),o,r,w(t),t.getVersionId(),t.getAlternativeVersionId()));else if(!o){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[i],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[t.getLanguageId()+t.uri],this._onModelRemoved.fire(t)}_onDidChangeLanguage(t,i){const n=i.oldLanguage,o=t.getLanguageId(),s=this.getCreationOptions(n,t.uri,t.isForSimpleWidget),r=this.getCreationOptions(o,t.uri,t.isForSimpleWidget);e._setModelOptionsForModel(t,r,s),this._onModelModeChanged.fire({model:t,oldLanguageId:n})}};k.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,k=v([C(0,h.Ui),C(1,c.y),C(2,u.tJ),C(3,d.O),C(4,_.c_)],k)},88216:(e,t,i)=>{i.d(t,{S:()=>n});const n=(0,i(72065).yh)("textModelService")},88802:(e,t,i)=>{i.d(t,{$:()=>m,h:()=>f});var n=i(45797),o=i(97781),s=i(43557),r=i(50187),a=i(24314),l=i(23795);class d{static create(e,t){return new d(e,new c(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new a.e(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,i,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber,[n,o,s]=this._tokens.split(t,e.startColumn-1,i,e.endColumn-1);return[new d(this._startLineNumber,n),new d(this._startLineNumber+s,o)]}applyEdit(e,t){const[i,n,o]=(0,l.Q)(t);this.acceptEdit(e,i,n,o,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,i,n,o){this._acceptDeleteRange(e),this._acceptInsertText(new r.L(e.startLineNumber,e.startColumn),t,i,n,o),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const e=i-t;return void(this._startLineNumber-=e)}const n=this._tokens.getMaxDeltaLine();if(!(t>=n+1)){if(t<0&&i>=n+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const n=-t;this._startLineNumber-=n,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,n,o){if(0===t&&0===i)return;const s=e.lineNumber-this._startLineNumber;if(s<0)return void(this._startLineNumber+=t);s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,i,n,o)}}class c{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)){let o=n;for(;o>t&&this._getDeltaLine(o-1)===e;)o--;let s=n;for(;se||c===e&&u>=t)&&(ce||c===e&&g>=t){if(co?p-=o-i:p=i;else if(u===t&&g===i){if(!(u===n&&p>o)){d=!0;continue}p-=o-i}else if(uo)){d=!0;continue}u===t?(g=i,p=g+(p-o)):(g=0,p=g+(p-o))}else if(u>n){if(0===a&&!d){l=r;break}u-=a}else{if(!(u===n&&g>=o))throw new Error("Not possible!");e&&0===u&&(g+=e,p+=e),u-=a,g-=o-i,p-=o-i}const f=4*l;s[f]=u,s[f+1]=g,s[f+2]=p,s[f+3]=m,l++}this._tokenCount=l}acceptInsertText(e,t,i,n,o,s){const r=0===i&&1===n&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let s=0;s=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},p=function(e,t){return function(i,n){t(i,n,e)}};let m=class{constructor(e,t,i,n){this._legend=e,this._themeService=t,this._languageService=i,this._logService=n,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new v}getMetadata(e,t,i){const o=this._languageService.languageIdCodec.encodeLanguageId(i),r=this._hashTable.get(e,t,o);let a;if(r)a=r.metadata,this._logService.getLevel()===s.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${n.N.getForeground(a)}, fontStyle ${n.N.getFontStyle(a).toString(2)}`);else{let r=this._legend.tokenTypes[e];const l=[];if(r){let e=t;for(let t=0;e>0&&t>=1;e>0&&this._logService.getLevel()===s.in.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${t.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),l.push("not-in-legend"));const n=this._themeService.getColorTheme().getTokenStyleMetadata(r,l,i);if(void 0===n)a=2147483647;else{if(a=0,void 0!==n.italic){a|=1|(n.italic?1:0)<<11}if(void 0!==n.bold){a|=2|(n.bold?2:0)<<11}if(void 0!==n.underline){a|=4|(n.underline?4:0)<<11}if(void 0!==n.strikethrough){a|=8|(n.strikethrough?8:0)<<11}if(n.foreground){a|=16|n.foreground<<15}0===a&&(a=2147483647)}}else this._logService.getLevel()===s.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),a=2147483647,r="not-in-legend";this._hashTable.add(e,t,o,a),this._logService.getLevel()===s.in.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${e} (${r}) / ${t} (${l.join(" ")}): foreground ${n.N.getForeground(a)}, fontStyle ${n.N.getFontStyle(a).toString(2)}`)}return a}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,console.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,i,n,o){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,console.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${i}: The provided start offset ${n} is outside the previous data (length ${o}).`))}};function f(e,t,i){const n=e.data,o=e.data.length/5|0,s=Math.max(Math.ceil(o/1024),400),r=[];let a=0,l=1,c=0;for(;ae&&0===n[5*t];)t--;if(t-1===e){let e=h;for(;e+1d)t.warnOverlappingSemanticTokens(r,d+1);else{const e=t.getMetadata(_,v,i);2147483647!==e&&(0===p&&(p=r),u[g]=r-p,u[g+1]=d,u[g+2]=h,u[g+3]=e,g+=4,m=r,f=h)}l=r,c=d,a++}g!==u.length&&(u=u.subarray(0,g));const _=d.create(p,u);r.push(_)}return r}m=g([p(1,o.XE),p(2,u.O),p(3,s.VZ)],m);class _{constructor(e,t,i,n){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=n,this.next=null}}class v{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=v._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{i.d(t,{s:()=>n});const n=(0,i(72065).yh)("semanticTokensStylingService")},84146:(e,t,i)=>{var n=i(5976),o=i(72042),s=i(97781),r=i(43557),a=i(88802),l=i(73343),d=i(65026),c=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},h=function(e,t){return function(i,n){t(i,n,e)}};let u=class extends n.JT{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.$(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};u=c([h(0,s.XE),h(1,r.VZ),h(2,o.O)],u),(0,d.z)(l.s,u,1)},71765:(e,t,i)=>{i.d(t,{V:()=>o,y:()=>s});var n=i(72065);const o=(0,n.yh)("textResourceConfigurationService"),s=(0,n.yh)("textResourcePropertiesService")},31446:(e,t,i)=>{i.d(t,{a:()=>l});var n=i(24314),o=i(77277),s=i(97295),r=i(35146),a=i(270);class l{static computeUnicodeHighlights(e,t,i){const l=i?i.startLineNumber:1,c=i?i.endLineNumber:e.getLineCount(),h=new d(t),u=h.getCandidateCodePoints();let g;var p;g="allNonBasicAscii"===u?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(""+(p=Array.from(u),`[${s.ec(p.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const m=new o.sz(null,g),f=[];let _,v=!1,C=0,b=0,w=0;e:for(let t=l,i=c;t<=i;t++){const i=e.getLineContent(t),o=i.length;m.reset(0);do{if(_=m.next(i),_){let e=_.index,l=_.index+_[0].length;if(e>0){const t=i.charCodeAt(e-1);s.ZG(t)&&e--}if(l+1=i){v=!0;break e}f.push(new n.e(t,e+1,t,l+1))}}}while(_)}return{ranges:f,hasMore:v,ambiguousCharacterCount:C,invisibleCharacterCount:b,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(e,t){const i=new d(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const n=e.codePointAt(0),o=i.ambiguousCharacters.getPrimaryConfusable(n),r=s.ZK.getLocales().filter((e=>!s.ZK.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(n)));return{kind:0,confusableWith:String.fromCodePoint(o),notAmbiguousInLocales:r}}case 1:return{kind:2}}}}class d{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.ZK.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.vU.codePoints)c(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,o=!1;if(t)for(const e of t){const t=e.codePointAt(0),i=s.$i(e);n=n||i,i||this.ambiguousCharacters.isAmbiguous(t)||s.vU.isInvisibleCharacter(t)||(o=!0)}return!n&&o?0:this.options.invisibleCharacters&&!c(e)&&s.vU.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function c(e){return" "===e||"\n"===e||"\t"===e}},70902:(e,t,i)=>{var n,o,s,r,a,l,d,c,h,u,g,p,m,f,_,v,C,b,w,S,L,y,k,N,x,I,T,D,M,R,P,E,O,A,F,V,W,B;i.d(t,{E$:()=>N,F5:()=>y,Ij:()=>l,In:()=>F,Lu:()=>T,MG:()=>k,MY:()=>u,OI:()=>W,RM:()=>v,VD:()=>w,Vi:()=>c,WW:()=>E,ZL:()=>S,_x:()=>h,a$:()=>P,a7:()=>s,ao:()=>n,bw:()=>b,cR:()=>O,cm:()=>r,d2:()=>V,eB:()=>L,g4:()=>M,g_:()=>R,gl:()=>C,gm:()=>m,jl:()=>f,np:()=>o,py:()=>I,r3:()=>d,r4:()=>A,rf:()=>g,sh:()=>x,up:()=>B,vQ:()=>D,wT:()=>p,wU:()=>_,we:()=>a}),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(n||(n={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(o||(o={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(s||(s={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(r||(r={})),function(e){e[e.Deprecated=1]="Deprecated"}(a||(a={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(l||(l={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(d||(d={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(c||(c={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(h||(h={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(u||(u={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(g||(g={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.autoClosingBrackets=5]="autoClosingBrackets",e[e.screenReaderAnnounceInlineSuggestion=6]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=7]="autoClosingDelete",e[e.autoClosingOvertype=8]="autoClosingOvertype",e[e.autoClosingQuotes=9]="autoClosingQuotes",e[e.autoIndent=10]="autoIndent",e[e.automaticLayout=11]="automaticLayout",e[e.autoSurround=12]="autoSurround",e[e.bracketPairColorization=13]="bracketPairColorization",e[e.guides=14]="guides",e[e.codeLens=15]="codeLens",e[e.codeLensFontFamily=16]="codeLensFontFamily",e[e.codeLensFontSize=17]="codeLensFontSize",e[e.colorDecorators=18]="colorDecorators",e[e.colorDecoratorsLimit=19]="colorDecoratorsLimit",e[e.columnSelection=20]="columnSelection",e[e.comments=21]="comments",e[e.contextmenu=22]="contextmenu",e[e.copyWithSyntaxHighlighting=23]="copyWithSyntaxHighlighting",e[e.cursorBlinking=24]="cursorBlinking",e[e.cursorSmoothCaretAnimation=25]="cursorSmoothCaretAnimation",e[e.cursorStyle=26]="cursorStyle",e[e.cursorSurroundingLines=27]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=28]="cursorSurroundingLinesStyle",e[e.cursorWidth=29]="cursorWidth",e[e.disableLayerHinting=30]="disableLayerHinting",e[e.disableMonospaceOptimizations=31]="disableMonospaceOptimizations",e[e.domReadOnly=32]="domReadOnly",e[e.dragAndDrop=33]="dragAndDrop",e[e.dropIntoEditor=34]="dropIntoEditor",e[e.emptySelectionClipboard=35]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=36]="experimentalWhitespaceRendering",e[e.extraEditorClassName=37]="extraEditorClassName",e[e.fastScrollSensitivity=38]="fastScrollSensitivity",e[e.find=39]="find",e[e.fixedOverflowWidgets=40]="fixedOverflowWidgets",e[e.folding=41]="folding",e[e.foldingStrategy=42]="foldingStrategy",e[e.foldingHighlight=43]="foldingHighlight",e[e.foldingImportsByDefault=44]="foldingImportsByDefault",e[e.foldingMaximumRegions=45]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=46]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=47]="fontFamily",e[e.fontInfo=48]="fontInfo",e[e.fontLigatures=49]="fontLigatures",e[e.fontSize=50]="fontSize",e[e.fontWeight=51]="fontWeight",e[e.fontVariations=52]="fontVariations",e[e.formatOnPaste=53]="formatOnPaste",e[e.formatOnType=54]="formatOnType",e[e.glyphMargin=55]="glyphMargin",e[e.gotoLocation=56]="gotoLocation",e[e.hideCursorInOverviewRuler=57]="hideCursorInOverviewRuler",e[e.hover=58]="hover",e[e.inDiffEditor=59]="inDiffEditor",e[e.inlineSuggest=60]="inlineSuggest",e[e.letterSpacing=61]="letterSpacing",e[e.lightbulb=62]="lightbulb",e[e.lineDecorationsWidth=63]="lineDecorationsWidth",e[e.lineHeight=64]="lineHeight",e[e.lineNumbers=65]="lineNumbers",e[e.lineNumbersMinChars=66]="lineNumbersMinChars",e[e.linkedEditing=67]="linkedEditing",e[e.links=68]="links",e[e.matchBrackets=69]="matchBrackets",e[e.minimap=70]="minimap",e[e.mouseStyle=71]="mouseStyle",e[e.mouseWheelScrollSensitivity=72]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=73]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=74]="multiCursorMergeOverlapping",e[e.multiCursorModifier=75]="multiCursorModifier",e[e.multiCursorPaste=76]="multiCursorPaste",e[e.multiCursorLimit=77]="multiCursorLimit",e[e.occurrencesHighlight=78]="occurrencesHighlight",e[e.overviewRulerBorder=79]="overviewRulerBorder",e[e.overviewRulerLanes=80]="overviewRulerLanes",e[e.padding=81]="padding",e[e.parameterHints=82]="parameterHints",e[e.peekWidgetDefaultFocus=83]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=84]="definitionLinkOpensInPeek",e[e.quickSuggestions=85]="quickSuggestions",e[e.quickSuggestionsDelay=86]="quickSuggestionsDelay",e[e.readOnly=87]="readOnly",e[e.renameOnType=88]="renameOnType",e[e.renderControlCharacters=89]="renderControlCharacters",e[e.renderFinalNewline=90]="renderFinalNewline",e[e.renderLineHighlight=91]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=92]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=93]="renderValidationDecorations",e[e.renderWhitespace=94]="renderWhitespace",e[e.revealHorizontalRightPadding=95]="revealHorizontalRightPadding",e[e.roundedSelection=96]="roundedSelection",e[e.rulers=97]="rulers",e[e.scrollbar=98]="scrollbar",e[e.scrollBeyondLastColumn=99]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=100]="scrollBeyondLastLine",e[e.scrollPredominantAxis=101]="scrollPredominantAxis",e[e.selectionClipboard=102]="selectionClipboard",e[e.selectionHighlight=103]="selectionHighlight",e[e.selectOnLineNumbers=104]="selectOnLineNumbers",e[e.showFoldingControls=105]="showFoldingControls",e[e.showUnused=106]="showUnused",e[e.snippetSuggestions=107]="snippetSuggestions",e[e.smartSelect=108]="smartSelect",e[e.smoothScrolling=109]="smoothScrolling",e[e.stickyScroll=110]="stickyScroll",e[e.stickyTabStops=111]="stickyTabStops",e[e.stopRenderingLineAfter=112]="stopRenderingLineAfter",e[e.suggest=113]="suggest",e[e.suggestFontSize=114]="suggestFontSize",e[e.suggestLineHeight=115]="suggestLineHeight",e[e.suggestOnTriggerCharacters=116]="suggestOnTriggerCharacters",e[e.suggestSelection=117]="suggestSelection",e[e.tabCompletion=118]="tabCompletion",e[e.tabIndex=119]="tabIndex",e[e.unicodeHighlighting=120]="unicodeHighlighting",e[e.unusualLineTerminators=121]="unusualLineTerminators",e[e.useShadowDOM=122]="useShadowDOM",e[e.useTabStops=123]="useTabStops",e[e.wordBreak=124]="wordBreak",e[e.wordSeparators=125]="wordSeparators",e[e.wordWrap=126]="wordWrap",e[e.wordWrapBreakAfterCharacters=127]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=128]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=129]="wordWrapColumn",e[e.wordWrapOverride1=130]="wordWrapOverride1",e[e.wordWrapOverride2=131]="wordWrapOverride2",e[e.wrappingIndent=132]="wrappingIndent",e[e.wrappingStrategy=133]="wrappingStrategy",e[e.showDeprecated=134]="showDeprecated",e[e.inlayHints=135]="inlayHints",e[e.editorClassName=136]="editorClassName",e[e.pixelRatio=137]="pixelRatio",e[e.tabFocusMode=138]="tabFocusMode",e[e.layoutInfo=139]="layoutInfo",e[e.wrappingInfo=140]="wrappingInfo"}(p||(p={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(m||(m={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(f||(f={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(_||(_={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(v||(v={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(C||(C={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(b||(b={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.Semicolon=80]="Semicolon",e[e.Equal=81]="Equal",e[e.Comma=82]="Comma",e[e.Minus=83]="Minus",e[e.Period=84]="Period",e[e.Slash=85]="Slash",e[e.Backquote=86]="Backquote",e[e.BracketLeft=87]="BracketLeft",e[e.Backslash=88]="Backslash",e[e.BracketRight=89]="BracketRight",e[e.Quote=90]="Quote",e[e.OEM_8=91]="OEM_8",e[e.IntlBackslash=92]="IntlBackslash",e[e.Numpad0=93]="Numpad0",e[e.Numpad1=94]="Numpad1",e[e.Numpad2=95]="Numpad2",e[e.Numpad3=96]="Numpad3",e[e.Numpad4=97]="Numpad4",e[e.Numpad5=98]="Numpad5",e[e.Numpad6=99]="Numpad6",e[e.Numpad7=100]="Numpad7",e[e.Numpad8=101]="Numpad8",e[e.Numpad9=102]="Numpad9",e[e.NumpadMultiply=103]="NumpadMultiply",e[e.NumpadAdd=104]="NumpadAdd",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=106]="NumpadSubtract",e[e.NumpadDecimal=107]="NumpadDecimal",e[e.NumpadDivide=108]="NumpadDivide",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.AudioVolumeMute=112]="AudioVolumeMute",e[e.AudioVolumeUp=113]="AudioVolumeUp",e[e.AudioVolumeDown=114]="AudioVolumeDown",e[e.BrowserSearch=115]="BrowserSearch",e[e.BrowserHome=116]="BrowserHome",e[e.BrowserBack=117]="BrowserBack",e[e.BrowserForward=118]="BrowserForward",e[e.MediaTrackNext=119]="MediaTrackNext",e[e.MediaTrackPrevious=120]="MediaTrackPrevious",e[e.MediaStop=121]="MediaStop",e[e.MediaPlayPause=122]="MediaPlayPause",e[e.LaunchMediaPlayer=123]="LaunchMediaPlayer",e[e.LaunchMail=124]="LaunchMail",e[e.LaunchApp2=125]="LaunchApp2",e[e.Clear=126]="Clear",e[e.MAX_VALUE=127]="MAX_VALUE"}(w||(w={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(S||(S={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(L||(L={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(y||(y={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(k||(k={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(N||(N={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(x||(x={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(I||(I={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(T||(T={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(D||(D={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(M||(M={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(R||(R={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(P||(P={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(E||(E={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(O||(O={})),function(e){e[e.Deprecated=1]="Deprecated"}(A||(A={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(F||(F={})),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"}(V||(V={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(W||(W={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(B||(B={}))},20913:(e,t,i)=>{i.d(t,{B8:()=>d,Oe:()=>n,UX:()=>a,aq:()=>l,iN:()=>h,ld:()=>r,qq:()=>s,ug:()=>o,xi:()=>c});var n,o,s,r,a,l,d,c,h,u=i(63580);!function(e){e.noSelection=u.NC("noSelection","No selection"),e.singleSelectionRange=u.NC("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),e.singleSelection=u.NC("singleSelection","Line {0}, Column {1}"),e.multiSelectionRange=u.NC("multiSelectionRange","{0} selections ({1} characters selected)"),e.multiSelection=u.NC("multiSelection","{0} selections"),e.emergencyConfOn=u.NC("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'."),e.openingDocs=u.NC("openingDocs","Now opening the Editor Accessibility documentation page."),e.readonlyDiffEditor=u.NC("readonlyDiffEditor"," in a read-only pane of a diff editor."),e.editableDiffEditor=u.NC("editableDiffEditor"," in a pane of a diff editor."),e.readonlyEditor=u.NC("readonlyEditor"," in a read-only code editor"),e.editableEditor=u.NC("editableEditor"," in a code editor"),e.changeConfigToOnMac=u.NC("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."),e.changeConfigToOnWinLinux=u.NC("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now."),e.auto_on=u.NC("auto_on","The editor is configured to be optimized for usage with a Screen Reader."),e.auto_off=u.NC("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),e.tabFocusModeOnMsg=u.NC("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),e.tabFocusModeOnMsgNoKb=u.NC("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),e.tabFocusModeOffMsg=u.NC("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),e.tabFocusModeOffMsgNoKb=u.NC("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding."),e.openDocMac=u.NC("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."),e.openDocWinLinux=u.NC("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility."),e.outroMsg=u.NC("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),e.showAccessibilityHelpAction=u.NC("showAccessibilityHelpAction","Show Accessibility Help")}(n||(n={})),function(e){e.inspectTokensAction=u.NC("inspectTokens","Developer: Inspect Tokens")}(o||(o={})),function(e){e.gotoLineActionLabel=u.NC("gotoLineActionLabel","Go to Line/Column...")}(s||(s={})),function(e){e.helpQuickAccessActionLabel=u.NC("helpQuickAccess","Show all Quick Access Providers")}(r||(r={})),function(e){e.quickCommandActionLabel=u.NC("quickCommandActionLabel","Command Palette"),e.quickCommandHelp=u.NC("quickCommandActionHelp","Show And Run Commands")}(a||(a={})),function(e){e.quickOutlineActionLabel=u.NC("quickOutlineActionLabel","Go to Symbol..."),e.quickOutlineByCategoryActionLabel=u.NC("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")}(l||(l={})),function(e){e.editorViewAccessibleLabel=u.NC("editorViewAccessibleLabel","Editor content"),e.accessibilityHelpMessage=u.NC("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")}(d||(d={})),function(e){e.toggleHighContrast=u.NC("toggleHighContrast","Toggle High Contrast Theme")}(c||(c={})),function(e){e.bulkEditServiceSummary=u.NC("bulkEditServiceSummary","Made {0} edits in {1} files")}(h||(h={}))},14706:(e,t,i)=>{i.d(t,{CZ:()=>l,D8:()=>c,Jx:()=>n,Tx:()=>a,dQ:()=>d,fV:()=>h,gk:()=>o,lN:()=>r,rU:()=>s});class n{constructor(){this.changeType=1}}class 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 o(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new o(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}constructor(e,t,i,n,o){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=o}}class s{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class r{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class a{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class l{constructor(){this.changeType=5}}class d{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;t{var n;i.d(t,{UO:()=>o,s6:()=>n,vW:()=>s}),function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(n||(n={}));class o{constructor(e,t,i,n,o,s){if(this.visibleColumn=e,this.column=t,this.className=i,this.horizontalLine=n,this.forWrappedLinesAfterColumn=o,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class s{constructor(e,t){this.top=e,this.endColumn=t}}},77378:(e,t,i)=>{i.d(t,{A:()=>o});var n=i(45797);class o{static createEmpty(e,t){const i=o.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new o(n,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof o&&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=n.N.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return n.N.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return n.N.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return n.N.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[1+(e<<1)];return n.N.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return n.N.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return o.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new s(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 s=new Array;let r=0;for(;;){const o=tr){n+=this._text.substring(r,a.offset);const e=this._tokens[1+(t<<1)];s.push(n.length,e),r=a.offset}n+=a.text,s.push(n.length,a.tokenMetadata),i++}}return new o(new Uint32Array(s),n,this._languageIdCodec)}}o.defaultTokenMetadata=33587200;class s{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)break;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 s&&(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}}},50461:(e,t,i)=>{i.d(t,{O:()=>o});var n=i(5976);class o extends n.JT{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{i.d(t,{Kp:()=>o,k:()=>a});var n=i(97295);class o{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=s||(a[l++]=new o(Math.max(1,t.startColumn-n+1),Math.min(r+1,t.endColumn-n+1),t.className,t.type));return a}static filter(e,t,i,n){if(0===e.length)return[];const s=[];let r=0;for(let a=0,l=e.length;at)continue;if(d.isEmpty()&&(0===l.type||3===l.type))continue;const c=d.startLineNumber===t?d.startColumn:i,h=d.endLineNumber===t?d.endColumn:n;s[r++]=new o(c,h,l.inlineClassName,l.type)}return s}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=o._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 a{static normalize(e,t){if(0===t.length)return[];const i=[],o=new r;let s=0;for(let r=0,a=t.length;r1){const t=e.charCodeAt(l-2);n.ZG(t)&&l--}if(d>1){const t=e.charCodeAt(d-2);n.ZG(t)&&d--}const u=l-1,g=d-2;s=o.consumeLowerThan(u,s,i),0===o.count&&(s=u),o.insert(g,c,h)}return o.consumeLowerThan(1073741824,s,i),i}}},91557:(e,t,i)=>{i.d(t,{Nd:()=>c,zG:()=>l,IJ:()=>d,d1:()=>g,tF:()=>m});var n=i(63580),o=i(97295),s=i(50072),r=i(92550);class a{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class l{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class d{constructor(e,t,i,n,o,s,a,l,d,c,h,u,g,p,m,f,_,v,C){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=o,this.containsRTL=s,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=d.sort(r.Kp.compare),this.tabSize=c,this.startVisibleColumn=h,this.spaceWidth=u,this.stopRenderingLineAfter=m,this.renderWhitespace="all"===f?4:"boundary"===f?1:"selection"===f?2:"trailing"===f?3:0,this.renderControlCharacters=_,this.fontLigatures=v,this.selectionsOnLine=C&&C.sort(((e,t)=>e.startOffset>>16}static getCharIndex(e){return(65535&e)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return 0===this._horizontalOffset.length?0:this._horizontalOffset[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=h.getPartIndex(t),n=h.getCharIndex(t);return new c(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=h.getPartIndex(r),d=h.getCharIndex(r);let c;c=l!==h.getPartIndex(a)?t:h.getCharIndex(a);return i-d<=c-i?o:s}}class u{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function g(e,t){if(0===e.lineContent.length){if(e.lineDecorations.length>0){t.appendString("");let i=0,n=0,o=0;for(const s of e.lineDecorations)1!==s.type&&2!==s.type||(t.appendString(''),1===s.type&&(o|=1,i++),2===s.type&&(o|=2,n++));t.appendString("");const s=new h(1,i+n);return s.setColumnInfo(1,i,0,0),new u(s,!1,o)}return t.appendString(""),new u(new h(0,0),!1,0)}return function(e,t){const i=e.fontIsMonospace,s=e.canUseHalfwidthRightwardsArrow,r=e.containsForeignElements,a=e.lineContent,l=e.len,d=e.isOverflowing,c=e.overflowingCharCount,g=e.parts,p=e.fauxIndentLength,m=e.tabSize,f=e.startVisibleColumn,C=e.containsRTL,b=e.spaceWidth,w=e.renderSpaceCharCode,S=e.renderWhitespace,L=e.renderControlCharacters,y=new h(l+1,g.length);let k=!1,N=0,x=f,I=0,T=0,D=0;C?t.appendString(''):t.appendString("");for(let e=0,n=g.length;e=p&&(t+=n)}}for(f&&(t.appendString(' style="width:'),t.appendString(String(b*i)),t.appendString('px"')),t.appendASCIICharCode(62);N1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=n;e++)t.appendCharCode(160)}else i=2,n=1,t.appendCharCode(w),t.appendCharCode(8204);I+=i,T+=n,N>=p&&(x+=n)}}else for(t.appendASCIICharCode(62);N=p&&(x+=s)}C?D++:D=0,N>=l&&!k&&n.isPseudoAfter()&&(k=!0,y.setColumnInfo(N+1,e,I,T)),t.appendString("")}k||y.setColumnInfo(l+1,g.length-1,I,T);d&&(t.appendString(''),t.appendString(n.NC("showMore","Show more ({0})",function(e){if(e<1024)return n.NC("overflow.chars","{0} chars",e);if(e<1048576)return`${(e/1024).toFixed(1)} KB`;return`${(e/1024/1024).toFixed(1)} MB`}(c))),t.appendString(""));return t.appendString(""),new u(y,C,r)}(function(e){const t=e.lineContent;let i,n,s;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(r[l++]=new a(n,"",0,!1));let d=n;for(let c=0,h=i.getCount();c=s){const i=!!t&&o.Ut(e.substring(d,s));r[l++]=new a(s,u,0,i);break}const g=!!t&&o.Ut(e.substring(d,h));r[l++]=new a(h,u,0,g),d=h}return r}(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,s);e.renderControlCharacters&&!e.isBasicASCII&&(l=function(e,t){const i=[];let n=new a(0,"",0,!1),o=0;for(const s of t){const t=s.endIndex;for(;on.endIndex&&(n=new a(o,s.type,s.metadata,s.containsRTL),i.push(n)),n=new a(o+1,"mtkcontrol",s.metadata,!1),i.push(n))}o>n.endIndex&&(n=new a(t,s.type,s.metadata,s.containsRTL),i.push(n))}return i}(t,l));(4===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine||3===e.renderWhitespace&&!e.continuesWithWrappedLine)&&(l=function(e,t,i,n){const s=e.continuesWithWrappedLine,r=e.fauxIndentLength,l=e.tabSize,d=e.startVisibleColumn,c=e.useMonospaceOptimizations,h=e.selectionsOnLine,u=1===e.renderWhitespace,g=3===e.renderWhitespace,p=e.renderSpaceWidth!==e.spaceWidth,m=[];let f=0,_=0,v=n[_].type,C=n[_].containsRTL,b=n[_].endIndex;const w=n.length;let S,L=!1,y=o.LC(t);-1===y?(L=!0,y=i,S=i):S=o.ow(t);let k=!1,N=0,x=h&&h[N],I=d%l;for(let e=r;e=x.endOffset&&(N++,x=h&&h[N]),eS)d=!0;else if(9===s)d=!0;else if(32===s)if(u)if(k)d=!0;else{const n=e+1e),d&&g&&(d=L||e>S),d&&C&&e>=y&&e<=S&&(d=!1),k){if(!d||!c&&I>=l){if(p){for(let t=(f>0?m[f-1].endIndex:r)+1;t<=e;t++)m[f++]=new a(t,"mtkw",1,!1)}else m[f++]=new a(e,"mtkw",1,!1);I%=l}}else(e===b||d&&e>r)&&(m[f++]=new a(e,v,0,C),I%=l);for(9===s?I=l:o.K7(s)?I+=2:I++,k=d;e===b&&(_++,_0?t.charCodeAt(i-1):0,n=i>1?t.charCodeAt(i-2):0;32===e&&32!==n&&9!==n||(T=!0)}else T=!0;if(T)if(p){for(let e=(f>0?m[f-1].endIndex:r)+1;e<=i;e++)m[f++]=new a(e,"mtkw",1,!1)}else m[f++]=new a(i,"mtkw",1,!1);else m[f++]=new a(i,v,0,C);return m}(e,t,s,l));let d=0;if(e.lineDecorations.length>0){for(let t=0,i=e.lineDecorations.length;th&&(h=e.startOffset,d[c++]=new a(h,r,u,g)),!(e.endOffset+1<=n)){h=n,d[c++]=new a(h,r+" "+e.className,u|e.metadata,g);break}h=e.endOffset+1,d[c++]=new a(h,r+" "+e.className,u|e.metadata,g),l++}n>h&&(h=n,d[c++]=new a(h,r,u,g))}const u=i[i.length-1].endIndex;if(l=50&&(o[s++]=new a(c+1,t,i,d),h=c+1,c=-1);h!==l&&(o[s++]=new a(l,t,i,d))}else o[s++]=r;n=l}else for(let e=0,i=t.length;e50){const e=i.type,t=i.metadata,d=i.containsRTL,c=Math.ceil(l/50);for(let i=1;i=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||1564===e)}function v(e){return e.toString(16).toUpperCase().padStart(4,"0")}},63664:(e,t,i)=>{i.d(t,{x:()=>o});var n=i(24314);class o{constructor(e,t,i,o){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=i,this._model=o,this.visibleRange=new n.e(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}},1118:(e,t,i)=>{i.d(t,{$l:()=>h,$t:()=>d,IP:()=>a,SQ:()=>u,Wx:()=>c,l_:()=>s,ud:()=>r,wA:()=>l});var n=i(97295),o=i(24314);class s{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 r{constructor(e,t){this.tabSize=e,this.data=t}}class a{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 l{constructor(e,t,i,n,o,s,r,a,d,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=l.isBasicASCII(i,s),this.containsRTL=l.containsRTL(i,this.isBasicASCII,o),this.tokens=r,this.inlineDecorations=a,this.tabSize=d,this.startVisibleColumn=c}static isBasicASCII(e,t){return!t||n.$i(e)}static containsRTL(e,t,i){return!(t||!i)&&n.Ut(e)}}class d{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class c{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new d(new o.e(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class h{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class u{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}}},89743:(e,t,i)=>{i.d(t,{E:()=>a});var n=i(4669),o=i(5976),s=i(89636),r=i(96887);class a extends o.JT{static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,o.dk)(new a)),this._INSTANCE}constructor(){super(),this._onDidChange=new n.Q5,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(r.RW.onDidChange((e=>{e.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const e=r.RW.getColorMap();if(!e)return this._colors=[s.h.Empty],void(this._backgroundIsLight=!0);this._colors=[s.h.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}}a._INSTANCE=null},68263:(e,t,i)=>{i.d(t,{p:()=>a});var n=i(97295),o=i(44906),s=i(14706),r=i(26987);class a{static create(e){return new a(e.get(128),e.get(127))}constructor(e,t){this.classifier=new l(e,t)}createLineBreaksComputer(e,t,i,n,o){const s=[],r=[],a=[];return{addRequest:(e,t,i)=>{s.push(e),r.push(t),a.push(i)},finalize:()=>{const l=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,g=[];for(let e=0,d=s.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 d=[],c=[];function h(e,t,i,o,s,r,a,l){if(-1===s)return null;const h=i.length;if(h<=1)return null;const u="keepAll"===l,p=t.breakOffsets,_=t.breakOffsetsVisibleColumn,v=f(i,o,s,r,a),C=s-v,b=d,w=c;let S=0,L=0,y=0,k=s;const N=p.length;let x=0;if(x>=0){let e=Math.abs(_[x]-k);for(;x+1=e)break;e=t,x++}}for(;xt&&(t=L,s=y);let a=0,l=0,d=0,c=0;if(s<=k){let f=s,v=0===t?0:i.charCodeAt(t-1),y=0===t?0:e.get(v),N=!0;for(let s=t;sL&&m(v,y,h,p,u)&&(a=t,l=f),f+=_,f>k){t>L?(d=t,c=f-_):(d=s+1,c=f),f-l>C&&(a=0),N=!1;break}v=h,y=p}if(N){S>0&&(b[S]=p[p.length-1],w[S]=_[p.length-1],S++);break}}if(0===a){let h=s,p=i.charCodeAt(t),f=e.get(p),_=!1;for(let o=t-1;o>=L;o--){const t=o+1,s=i.charCodeAt(o);if(9===s){_=!0;break}let g,v;if(n.YK(s)?(o--,g=0,v=2):(g=e.get(s),v=n.K7(s)?r:1),h<=k){if(0===d&&(d=t,c=h),h<=k-C)break;if(m(s,g,p,f,u)){a=t,l=h;break}}h-=v,p=s,f=g}if(0!==a){const e=C-(c-l);if(e<=o){const t=i.charCodeAt(d);let s;s=n.ZG(t)?2:g(t,c,o,r),e-s<0&&(a=0)}}if(_){x--;continue}}if(0===a&&(a=d,l=c),a<=L){const e=i.charCodeAt(L);n.ZG(e)?(a=L+2,l=y+2):(a=L+1,l=y+g(e,y,o,r))}for(L=a,b[S]=a,y=l,w[S]=l,S++,k=l+C;x<0||x=f)break;f=e,x++}}return 0===S?null:(b.length=S,w.length=S,d=t.breakOffsets,c=t.breakOffsetsVisibleColumn,t.breakOffsets=b,t.breakOffsetsVisibleColumn=w,t.wrappedTextIndentLength=v,t)}function u(e,t,i,o,a,l,d,c){const h=s.gk.applyInjectedText(t,i);let u,p;if(i&&i.length>0?(u=i.map((e=>e.options)),p=i.map((e=>e.column-1))):(u=null,p=null),-1===a)return u?new r.gD(p,u,[h.length],[],0):null;const _=h.length;if(_<=1)return u?new r.gD(p,u,[h.length],[],0):null;const v="keepAll"===c,C=f(h,o,a,l,d),b=a-C,w=[],S=[];let L=0,y=0,k=0,N=a,x=h.charCodeAt(0),I=e.get(x),T=g(x,0,o,l),D=1;n.ZG(x)&&(T+=1,x=h.charCodeAt(1),I=e.get(x),D++);for(let t=D;t<_;t++){const i=t,s=h.charCodeAt(t);let r,a;n.ZG(s)?(t++,r=0,a=2):(r=e.get(s),a=g(s,T,o,l)),m(x,I,s,r,v)&&(y=i,k=T),T+=a,T>N&&((0===y||T-k>b)&&(y=i,k=T-a),w[L]=y,S[L]=k,L++,N=k+b,y=0),x=s,I=r}return 0!==L||i&&0!==i.length?(w[L]=_,S[L]=T,new r.gD(p,u,w,S,C)):null}function g(e,t,i,o){return 9===e?i-t%i:n.K7(e)||e<32?o:1}function p(e,t){return t-e%t}function m(e,t,i,n,o){return 32!==i&&(2===t&&2!==n||1!==t&&1===n||!o&&3===t&&2!==n||!o&&3===n&&1!==t)}function f(e,t,i,o,s){let r=0;if(0!==s){const a=n.LC(e);if(-1!==a){for(let i=0;ii&&(r=0)}}return r}},30665:(e,t,i)=>{i.d(t,{EY:()=>o,Tj:()=>s});class n{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 o{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&&(g=i-p);const m=l.color;let f=this._color2Id[m];f||(f=++this._lastAssignedId,this._color2Id[m]=f,this._id2Color[f]=m);const _=new n(g-p,g+p,f);l.setColorZone(_),r.push(_)}return this._colorZonesInvalid=!1,r.sort(n.compare),r}}},18596:(e,t,i)=>{i.d(t,{A:()=>o});class n{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class o{constructor(e,t,i){this.configuration=e,this.theme=new n(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}},30168:(e,t,i)=>{i.d(t,{$t:()=>d,CU:()=>a,Fd:()=>l,zg:()=>c});var n=i(50187),o=i(24314),s=i(1118),r=i(64141);class a{constructor(e,t,i,n,o){this._cachedOnlyMinimapDecorations=null,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 r=e.range,a=e.options;let l;if(a.isWholeLine){const e=this._coordinatesConverter.convertModelPositionToViewPosition(new n.L(r.startLineNumber,1),0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new n.L(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);l=new o.e(e.lineNumber,e.column,t.lineNumber,t.column)}else l=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new s.$l(l,a),this._decorationsCache[t]=i}return i}getDecorationsViewportData(e,t=!1){let i=null!==this._cachedModelDecorationsResolver;return i=i&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),i=i&&this._cachedOnlyMinimapDecorations===t,i||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,t),this._cachedModelDecorationsResolverViewRange=e,this._cachedOnlyMinimapDecorations=t),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1){const i=new o.e(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(i,t).inlineDecorations[0]}_getDecorationsInRange(e,t){const i=this._linesCollection.getDecorationsInRange(e,this.editorId,(0,r.$J)(this.configuration.options),t),n=e.startLineNumber,a=e.endLineNumber,d=[];let c=0;const h=[];for(let e=n;e<=a;e++)h[e-n]=[];for(let e=0,t=i.length;e1===e))}function c(e,t){return h(e,t.range,(e=>2===e))}function h(e,t,i){for(let n=t.startLineNumber;n<=t.endLineNumber;n++){const o=e.tokenization.getLineTokens(n),s=n===t.startLineNumber,r=n===t.endLineNumber;let a=s?o.findTokenIndexAtOffset(t.startColumn-1):0;for(;at.endColumn-1)break}if(!i(o.getStandardTokenType(a)))return!1;a++}}return!0}},32484:(e,t,i)=>{i.d(t,{j:()=>Fe});var n=i(9488),o=i(15393),s=i(41264),r=i(5976),a=i(1432),l=i(97295),d=i(64141),c=i(17301),h=i(55343),u=i(50187),g=i(24314),p=i(3860);class m{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new h.rS(new g.e(1,1,1,1),0,0,new u.L(1,1),0),new h.rS(new g.e(1,1,1,1),0,0,new u.L(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 h.Vi(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?p.Y.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):p.Y.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 h.rS(g.e.fromPositions(r,a),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+n.column-r.column,s,t.leftoverVisibleColumns+i.column-s.column)}_setState(e,t,i){if(i&&(i=m._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 h.rS(i,t.selectionStartKind,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 h.rS(n,i.selectionStartKind,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 h.rS(n,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,o,t.leftoverVisibleColumns)}else{const n=e.coordinatesConverter.convertModelPositionToViewPosition(new u.L(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),o=e.coordinatesConverter.convertModelPositionToViewPosition(new u.L(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),s=new g.e(n.lineNumber,n.column,o.lineNumber,o.column),r=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new h.rS(s,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,r,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class f{constructor(e){this.context=e,this.cursors=[new m(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(0,n.VJ)(this.cursors,(0,n.tT)((e=>e.viewState.position),u.L.compare)).viewState.position}getBottomMostViewPosition(){return(0,n.jV)(this.cursors,(0,n.tT)((e=>e.viewState.position),u.L.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(h.Vi.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),g.e.compareRangesUsingStarts));for(let i=0;ia&&e.index--;e.splice(a,1),t.splice(r,1),this._removeSecondaryCursor(a-1),i--}}}}class _{constructor(e,t,i,n){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=n}}var v=i(29436),C=i(51336),b=i(14706);class w{constructor(){this.type=0}}class S{constructor(){this.type=1}}class L{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class y{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class k{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}}class N{constructor(){this.type=5}}class x{constructor(e){this.type=6,this.isFocused=e}}class I{constructor(){this.type=7}}class T{constructor(){this.type=8}}class D{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class M{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class R{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class P{constructor(e,t,i,n,o,s,r){this.source=e,this.minimalReveal=t,this.range=i,this.selections=n,this.verticalType=o,this.revealHorizontal=s,this.scrollType=r,this.type=12}}class E{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class O{constructor(e){this.theme=e,this.type=14}}class A{constructor(e){this.type=15,this.ranges=e}}class F{constructor(){this.type=16}}class V{constructor(){this.type=17}}var W=i(4669);class B extends r.JT{constructor(){super(),this._onEvent=this._register(new W.Q5),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.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 H{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class z{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}attemptToMerge(e){return e.kind!==this.kind?null:new z(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class U{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new U(this.oldHasFocus,e.hasFocus)}}class j{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)}attemptToMerge(e){return e.kind!==this.kind?null:new j(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class q{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class K{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class G{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;ts&&(n=n.slice(0,s),o=!0);const r=ie.from(this._model,this);return this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,r,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=g.e.fromPositions(r[0],r[0]),e.emitViewEvent(new P(t,i,a,l,n,o,s))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,n=t.length;i0){const t=h.Vi.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,t)&&this.revealPrimary(e,"modelChange",!1,0,!0,0)}else{const t=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,h.Vi.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,h.Vi.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&&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=ie.from(this._model,this);if(s.equals(n))return!1;const r=this._cursors.getSelections(),a=this._cursors.getViewSelections();if(e.emitViewEvent(new y(a,r,i)),!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 G(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,d=n.text.lastIndexOf(a,l-1);if(-1===d)return null;t.push([d,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=ie.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){(0,c.dL)(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,n,o,!1)&&this.revealPrimary(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return ne.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new re(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===t&&this._executeEditOperation(C.u6.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))}),e,t)}type(e,t,i){this._executeEdit((()=>{if("keyboard"===i){const e=t.length;let i=0;for(;i{this._executeEditOperation(C.u6.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 p.Y(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(C.u6.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,n||[]))}),e,o,4)}cut(e,t){this._executeEdit((()=>{this._executeEditOperation(v.A.cut(this.context.cursorConfig,this._model,this.getSelections()))}),e,t)}executeCommand(e,t,i){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new h.Tp(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}executeCommands(e,t,i){this._executeEdit((()=>{this._executeEditOperation(new h.Tp(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),e,i)}}class ie{static from(e,t){return new ie(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}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 oe{static executeCommands(e,t,i){const n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},o=this._innerExecuteCommands(n,i);for(let e=0,t=n.trackedRanges.length;e0&&(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 p.Y(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new p.Y(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):s[i]=e.selectionsBefore[i];return s}));r||(r=e.selectionsBefore);const a=[];for(const 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{g.e.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=p.Y.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(0,c.dL)(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:r}}static _getLoserCursorMap(e){(e=e.slice(0)).sort(((e,t)=>-g.e.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}}class se{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class re{static _capture(e,t){const i=[];for(const n of t){if(n.startLineNumber!==n.endLineNumber)return null;i.push(new se(e.getLineContent(n.startLineNumber),n.startColumn-1,n.endColumn-1))}return i}constructor(e,t){this._original=re._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=re._capture(e,t);if(!i)return null;if(this._original.length!==i.length)return null;const n=[];for(let e=0,t=this._original.length;e>>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 ue(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=ge.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;return i+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;return this._lineHeight*e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0))+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,d;-1===r?(r=a,d=s+1,l=0):(d=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));let c=o,h=c;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){(c<=m&&mm)&&(f=e)}for(c+=i,p[e-n]=h,h+=i;d===e;)h+=l,c+=l,r++,r>=a?d=s+1:(d=0|this.getAfterLineNumberForWhitespaceIndex(r),l=0|this.getHeightForWhitespaceIndex(r));if(c>=t){s=e;break}}-1===f&&(f=s);const _=0|this.getVerticalOffsetForLineNumber(s);let v=n,C=s;return vt&&C--,{bigNumbersDelta:g,startLineNumber:n,endLineNumber:s,relativeVerticalOffset:p,centeredLineNumber:f,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:C}}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}}ge.INSTANCE_COUNT=0;var pe=i(1118);class me{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 fe extends r.JT{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new W.Q5),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new me(0,0,0,0),this._scrollable=this._register(new ce.Rm({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 z(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 _e extends r.JT{constructor(e,t,i){super(),this._configuration=e;const n=this._configuration.options,o=n.get(139),s=n.get(81);this._linesLayout=new ge(t,n.get(64),s.top,s.bottom),this._scrollable=this._register(new fe(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new me(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(109)?125:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(64)&&this._linesLayout.setLineHeight(t.get(64)),e.hasChanged(81)){const e=t.get(81);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(139)){const e=t.get(139),i=e.contentWidth,n=e.height,o=this._scrollable.getScrollDimensions(),s=o.contentWidth;this._scrollable.setScrollDimensions(new me(i,o.contentWidth,n,this._getContentHeight(i,n,s)))}else this._updateHeight();e.hasChanged(109)&&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(98);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(100)?o+=Math.max(0,t-n.get(64)-n.get(81).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 me(t,e.contentWidth,i,this._getContentHeight(t,i,n)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new pe.l_(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new pe.l_(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(e){const t=this._configuration.options,i=t.get(140),n=t.get(48),o=t.get(139);if(i.isViewportWrapping){const i=t.get(70);return e>o.contentWidth+n.typicalHalfwidthCharacterWidth&&i.enabled&&"right"===i.side?e+o.verticalScrollbarWidth:e}{const i=t.get(99)*n.typicalHalfwidthCharacterWidth,s=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+i+o.verticalScrollbarWidth,s)}}setMaxLineWidth(e){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new me(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,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}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})}}var ve=i(89743),Ce=i(30168),be=i(65094),we=i(3654),Se=i(77378);function Le(e,t){return null===e?t?ke.INSTANCE:Ne.INSTANCE:new ye(e,t)}class ye{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 b.gk(0,0,e+1,this._projectionData.injectionOptions[t],0)));s=b.gk.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=Ie(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,d=a.injectionOptions;let c,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(c-o,0),l=t+Math.min(h-o,s);r!==l&&n.push(new pe.Wx(r,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(!(h<=s))break;e+=r,t++}}}c=l?e.tokenization.getLineTokens(t).withInserted(l.map(((e,t)=>({offset:e,text:d[t].content,tokenMetadata:Se.A.defaultTokenMetadata})))):e.tokenization.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=Ie(n.wrappedTextIndentLength)+l);const d=this._projectionData.getMinOutputOffset(i)+1,c=l.length+1,h=i+1=xe.length)for(let t=1;t<=e;t++)xe[t]=Te(t);return xe[e]}function Te(e){return new Array(e+1).join(" ")}var De=i(90310);class Me{constructor(e,t,i,n,o,s,r,a,l,d){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=n,this.fontInfo=o,this.tabSize=s,this.wrappingStrategy=r,this.wrappingColumn=a,this.wrappingIndent=l,this.wordBreak=d,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new Ee(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),o=this.model.getInjectedTextDecorations(this._editorId),s=i.length,r=this.createLineBreaksComputer(),a=new n.H9(b.gk.fromDecorations(o));for(let e=0;et.lineNumber===e+1));r.addRequest(i[e],n,t?t[e]:null)}const l=r.finalize(),d=[],c=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(g.e.compareRangesUsingStarts);let h=1,u=0,p=-1,m=p+1=h&&t<=u,n=Le(l[e],!i);d[e]=n.getViewLineCount(),this.modelLineProjections[e]=n}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new De.Ck(d)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e)))}setHiddenAreas(e){const t=function(e){if(0===e.length)return[];const t=e.slice();t.sort(g.e.compareRangesUsingStarts);const i=[];let n=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,s=t.length;eo+1?(i.push(new g.e(n,1,o,1)),n=s.startLineNumber,o=s.endLineNumber):s.endLineNumber>o&&(o=s.endLineNumber)}return i.push(new g.e(n,1,o,1)),i}(e.map((e=>this.model.validateRange(e)))),i=this.hiddenAreasDecorationIds.map((e=>this.model.getDecorationRange(e))).sort(g.e.compareRangesUsingStarts);if(t.length===i.length){let e=!1;for(let n=0;n({range:e,options:we.qx.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,n);const o=t;let s=1,r=0,a=-1,l=a+1=s&&t<=r?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,o){const s=this.fontInfo.equals(e),r=this.wrappingStrategy===t,a=this.wrappingColumn===i,l=this.wrappingIndent===n,d=this.wordBreak===o;if(s&&r&&a&&l&&d)return!1;const c=s&&r&&!a&&l&&d;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=n,this.wordBreak=o;let h=null;if(c){h=[];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,d=l+r-1,u=d+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 Re(i+1,n)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(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 u.L(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 u.L(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;t{if(-1!==e.forWrappedLinesAfterColumn){if(this.modelLineProjections[n.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=n.modelLineWrappedLineIdx)return}if(-1!==e.forWrappedLinesBeforeOrAtColumn){if(this.modelLineProjections[n.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumbern.modelLineWrappedLineIdx)return}const i=this.convertModelPositionToViewPosition(n.modelLineNumber,e.horizontalLine.endColumn),o=this.modelLineProjections[n.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return o.lineNumber===n.modelLineWrappedLineIdx?new be.UO(e.visibleColumn,t,e.className,new be.vW(e.horizontalLine.top,i.column),-1,-1):o.lineNumber!!e)))}}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 d=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 c=0;l>1&&1===t.getViewLineMinColumn(this.model,e+1,o)&&(c=0===n?1:2),s.push(l),r.push(c),null===d&&(d=new u.L(e+1,0))}else null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,e)),d=null)}null!==d&&(o=o.concat(this.model.guides.getLinesIndentGuides(d.lineNumber,n.lineNumber)),d=null);const c=t-e+1,h=new Array(c);let g=0;for(let e=0,t=o.length;et&&(h=!0,c=t-o+1),l.getViewLinesData(this.model,n+1,d,c,o-e,i,a),o+=c,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 d=r.getModelColumnOfViewPosition(s,t);return this.model.validatePosition(new u.L(o+1,d)).equals(i)?new u.L(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 g.e(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 u.L(i.modelLineNumber,n))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new g.e(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2){const n=this.model.validatePosition(new u.L(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 u.L(1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(r);let d;return d=a?this.modelLineProjections[r].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(r+1),i):this.modelLineProjections[o-1].getViewPositionOfModelPosition(l,s,i),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return g.e.fromPositions(i)}{const t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),i=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new g.e(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,n){const o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new g.e(o.lineNumber,1,s.lineNumber,s.column),t,i,n);let r=[];const a=o.lineNumber-1,l=s.lineNumber-1;let d=null;for(let e=a;e<=l;e++){if(this.modelLineProjections[e].isVisible())null===d&&(d=new u.L(e+1,e===a?o.column:1));else if(null!==d){const o=this.model.getLineMaxColumn(e);r=r.concat(this.model.getDecorationsInRange(new g.e(d.lineNumber,d.column,e,o),t,i,n)),d=null}}null!==d&&(r=r.concat(this.model.getDecorationsInRange(new g.e(d.lineNumber,d.column,s.lineNumber,s.column),t,i,n)),d=null),r.sort(((e,t)=>{const i=g.e.compareRangesUsingStarts(e.range,t.range);return 0===i?e.idt.id?1:0:i}));const c=[];let h=0,p=null;for(const e of r){const t=e.id;p!==t&&(p=t,c[h++]=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 Re{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class Pe{constructor(e,t){this.modelRange=e,this.viewLines=t}}class Ee{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 Oe{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new Ae(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 M(t,i)}onModelLinesInserted(e,t,i,n){return new R(t,i)}onModelLineChanged(e,t,i){return[!1,new D(t,1),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 Fe extends r.JT{constructor(e,t,i,n,s,r,a,l,d){if(super(),this.languageConfigurationService=a,this._themeService=l,this._attachedView=d,this.hiddenAreasModel=new Be,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=i,this._eventDispatcher=new B,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new h.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new o.pY((()=>this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=Ve.create(this.model),this.model.isTooLargeForTokenization())this._lines=new Oe(this.model);else{const e=this._configuration.options,t=e.get(48),i=e.get(133),o=e.get(140),r=e.get(132),a=e.get(124);this._lines=new Me(this._editorId,this.model,n,s,t,this.model.getOptions().tabSize,i,o.wrappingColumn,r,a)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new te(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new _e(this._configuration,this.getLineCount(),r)),this._register(this.viewLayout.onDidScroll((e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new E(e)),this._eventDispatcher.emitOutgoingEvent(new j(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 Ce.CU(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(ve.E.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new F)}))),this._register(this._themeService.onDidColorThemeChange((e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new O(e))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),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())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new g.e(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new x(e)),this._eventDispatcher.emitOutgoingEvent(new U(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new w)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new S)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new u.L(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new ze(t,this._viewportStart.startLineDelta)}return new ze(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),n=this._configuration.options,o=n.get(48),s=n.get(133),r=n.get(140),a=n.get(132),l=n.get(124);this._lines.setWrappingSettings(o,s,r.wrappingColumn,a,l)&&(e.emitViewEvent(new N),e.emitViewEvent(new T),e.emitViewEvent(new k(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(87)&&(this._decorations.reset(),e.emitViewEvent(new k(null))),e.emitViewEvent(new L(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),h.LM.shouldRecreate(t)&&(this.cursorConfig=new h.LM(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,o=!1;const s=e instanceof b.fV?e.rawContentChangedEvent.changes:e.changes,r=e instanceof b.fV?e.rawContentChangedEvent.versionId:null,a=this._lines.createLineBreaksComputer();for(const e of s)switch(e.changeType){case 4:for(let t=0;t!e.ownerId||e.ownerId===this._editorId))),a.addRequest(i,n,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter((e=>!e.ownerId||e.ownerId===this._editorId))),a.addRequest(e.detail,t,null);break}}const l=a.finalize(),d=new n.H9(l);for(const e of s)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new N),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),i=!0;break;case 3:{const n=this._lines.onModelLinesDeleted(r,e.fromLineNumber,e.toLineNumber);null!==n&&(t.emitViewEvent(n),this.viewLayout.onLinesDeleted(n.fromLineNumber,n.toLineNumber)),i=!0;break}case 4:{const n=d.takeCount(e.detail.length),o=this._lines.onModelLinesInserted(r,e.fromLineNumber,e.toLineNumber,n);null!==o&&(t.emitViewEvent(o),this.viewLayout.onLinesInserted(o.fromLineNumber,o.toLineNumber)),i=!0;break}case 2:{const i=d.dequeue(),[n,s,a,l]=this._lines.onModelLineChanged(r,e.lineNumber,i);o=n,s&&t.emitViewEvent(s),a&&(t.emitViewEvent(a),this.viewLayout.onLinesInserted(a.fromLineNumber,a.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}}null!==r&&this._lines.acceptVersionId(r),this.viewLayout.onHeightMaybeChanged(),!i&&o&&(t.emitViewEvent(new T),t.emitViewEvent(new k(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){const t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),i=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:i+this._viewportStart.startLineDelta},1)}}try{const t=this._eventDispatcher.beginEmitViewEvents();e instanceof b.fV&&t.emitOutgoingEvent(new J(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((e=>{const t=[];for(let i=0,n=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new I),this.cursorConfig=new h.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Y(e))}))),this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new h.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Q(e))}))),this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new N),e.emitViewEvent(new T),e.emitViewEvent(new k(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new h.LM(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new X(e))}))),this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new k(e)),this._eventDispatcher.emitOutgoingEvent(new Z(e))})))}setHiddenAreas(e,t){this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const n=this._captureStableViewport();let o=!1;try{const e=this._eventDispatcher.beginEmitViewEvents();o=this._lines.setHiddenAreas(i),o&&(e.emitViewEvent(new N),e.emitViewEvent(new T),e.emitViewEvent(new k(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged()),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),o&&this._eventDispatcher.emitOutgoingEvent(new K)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(139),t=this._configuration.options.get(64),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 g.e(o,this.getLineMinColumn(o),s,this.getLineMaxColumn(s)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_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||(st.toInlineDecoration(e)))]),new pe.wA(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,n,s.tokens,t,o,s.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const n=this._lines.getViewLinesData(e,t,i);return new pe.ud(this.getTabSize(),n)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,(0,d.$J)(this._configuration.options)),i=new We;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;null==e||e.invalidateCachedColor();const i=t.options.minimap;null==i||i.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e);return this.model.modifyPosition(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(g.e.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===le.bd)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 g.e(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}const o=this._configuration.options.get(48),s=this._getColorMap();let r;if(/[:;\\\/<>]/.test(o.fontFamily)||o.fontFamily===d.hL.fontFamily)r=d.hL.fontFamily;else{r=o.fontFamily,r=r.replace(/"/g,"'");if(!/[,']/.test(r)){/[+ ]/.test(r)&&(r=`'${r}'`)}r=`${r}, ${d.hL.fontFamily}`}return{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 l="";for(let e=i;e<=o;e++){const d=this.model.tokenization.getLineTokens(e),c=d.getLineContent(),h=e===i?n-1:0,u=e===o?s-1:c.length;l+=""===c?"
":(0,de.Fq)(c,d.inflate(),t,h,u,r,a.ED)}return l}_getColorMap(){const e=ae.RW.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 $):this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit((n=>this._cursor.executeEdits(n,e,t,i)))}startComposition(){this._executeCursorEdit((e=>this._cursor.startComposition(e)))}endComposition(e){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 g.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new P(e,!1,i,null,0,!0,0))))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new g.e(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector((t=>t.emitViewEvent(new P(e,!1,i,null,0,!0,0))))}revealRange(e,t,i,n,o){this._withViewEventsCollector((s=>s.emitViewEvent(new P(e,!1,i,null,n,t,o))))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new V),this._eventDispatcher.emitOutgoingEvent(new q))}_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 Ve{static create(e){const t=e._setTrackedRange(null,new g.e(1,1,1,1),1);return new Ve(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,n,o){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=n,this._startLineDelta=o}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new u.L(t,e.getLineMinColumn(t))),n=e.model._setTrackedRange(this._modelTrackedRange,new g.e(i.lineNumber,i.column,i.lineNumber,i.column),1),o=e.viewLayout.getVerticalOffsetForLineNumber(t),s=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=n,this._startLineDelta=s-o}invalidate(){this._isValid=!1}}class We{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 pe.SQ(e,t,[o,i,n]);this._asMap[e]=s,this.asArray.push(s)}}}class Be{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&He(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce(((e,t)=>function(e,t){const i=[];let n=0,o=0;for(;n{i.d(t,{C3:()=>S,H3:()=>w,Je:()=>L,sT:()=>b});var n=i(9488),o=i(71050),s=i(17301),r=i(53725),a=i(43702),l=i(50187),d=i(24314),c=i(88191),h=i(72065),u=i(65026),g=i(73733),p=i(5976),m=i(71922),f=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)}},v=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 C{remove(){var e;null===(e=this.parent)||void 0===e||e.children.delete(this.id)}static findId(e,t){let i;"string"==typeof e?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,void 0!==t.children.get(i)&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let e=0;void 0!==t.children.get(n);e++)n=`${i}_${e}`;return n}static empty(e){return 0===e.children.size}}class b extends C{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class w extends C{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class S extends C{static create(e,t,i){const r=new o.A(i),a=new S(t.uri),l=e.ordered(t),d=l.map(((e,i)=>{var n;const o=C.findId(`provider_${i}`,a),l=new w(o,a,null!==(n=e.displayName)&&void 0!==n?n:"Unknown Outline Provider",i);return Promise.resolve(e.provideDocumentSymbols(t,r.token)).then((e=>{for(const t of e||[])S._makeOutlineElement(t,l);return l}),(e=>((0,s.Cp)(e),l))).then((e=>{C.empty(e)?e.remove():a._groups.set(o,e)}))})),c=e.onDidChange((()=>{const i=e.ordered(t);(0,n.fS)(i,l)||r.cancel()}));return Promise.all(d).then((()=>r.token.isCancellationRequested&&!i.isCancellationRequested?S.create(e,t,i):a._compact())).finally((()=>{c.dispose()}))}static _makeOutlineElement(e,t){const i=C.findId(e,t),n=new b(i,t,e);if(e.children)for(const t of e.children)S._makeOutlineElement(t,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)0===i.children.size?this._groups.delete(t):e+=1;if(1!==e)this.children=this._groups;else{const e=r.$.first(this._groups.values());for(const[,t]of e.children)t.parent=this,this.children.set(t.id,t)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof b?e.push(t.symbol):e.push(...r.$.map(t.children.values(),(e=>e.symbol)));return e.sort(((e,t)=>d.e.compareRangesUsingStarts(e.range,t.range)))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return S._flattenDocumentSymbols(t,e,""),t.sort(((e,t)=>l.L.compare(d.e.getStartPosition(e.range),d.e.getStartPosition(t.range))||l.L.compare(d.e.getEndPosition(t.range),d.e.getEndPosition(e.range))))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&S._flattenDocumentSymbols(e,n.children,n.name)}}const L=(0,h.yh)("IOutlineModelService");let y=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new p.SL,this._cache=new a.z6(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved((e=>{this._cache.delete(e.id)})))}dispose(){this._disposables.dispose()}getOrCreate(e,t){return v(this,void 0,void 0,(function*(){const i=this._languageFeaturesService.documentSymbolProvider,s=i.ordered(e);let r=this._cache.get(e.id);if(!r||r.versionId!==e.getVersionId()||!(0,n.fS)(r.provider,s)){const t=new o.A;r={versionId:e.getVersionId(),provider:s,promiseCnt:0,source:t,promise:S.create(i,e,t.token),model:void 0},this._cache.set(e.id,r);const n=Date.now();r.promise.then((t=>{r.model=t,this._debounceInformation.update(e,Date.now()-n)})).catch((t=>{this._cache.delete(e.id)}))}if(r.model)return r.model;r.promiseCnt+=1;const a=t.onCancellationRequested((()=>{0==--r.promiseCnt&&(r.source.cancel(),this._cache.delete(e.id))}));try{return yield r.promise}finally{a.dispose()}}))}};y=f([_(0,m.p),_(1,c.A),_(2,g.q)],y),(0,u.z)(L,y,1)},16467:(e,t,i)=>{i.d(t,{yy:()=>f,Dl:()=>_,YQ:()=>v});var n=i(97295),o=i(24314),s=i(71050),r=i(5976),a=i(16830),l=i(93983),d=i(91741),c=i(72065),h=i(65026),u=i(63580);const g=(0,c.yh)("IEditorCancelService"),p=new l.uy("cancellableOperation",!1,(0,u.NC)("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,h.z)(g,class{constructor(){this._tokens=new WeakMap}add(e,t){let i,n=this._tokens.get(e);return n||(n=e.invokeWithinContext((e=>({key:p.bindTo(e.get(l.i6)),tokens:new d.S}))),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()))}},1);class m extends s.A{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext((t=>t.get(g).add(e,this)))}dispose(){this._unregister(),super.dispose()}}(0,a.fK)(new class extends a._l{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:p})}runEditorCommand(e,t){e.get(g).cancel(t)}});class f{constructor(e,t){if(this.flags=t,0!=(1&this.flags)){const t=e.getModel();this.modelVersionId=t?n.WU("{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 f))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 f(e,this.flags))}}class _ extends m{constructor(e,t,i,n){super(e,n),this._listener=new r.SL,4&t&&this._listener.add(e.onDidChangeCursorPosition((e=>{i&&o.e.containsPosition(i,e.position)||this.cancel()}))),2&t&&this._listener.add(e.onDidChangeCursorSelection((e=>{i&&o.e.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 v extends s.A{constructor(e,t){super(t),this._listener=e.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}},52399:(e,t,i)=>{i.d(t,{Qq:()=>M,Qs:()=>P,Zg:()=>N,x$:()=>T,xC:()=>I});var n=i(56346),o=i(9488),s=i(71050),r=i(17301),a=i(53725),l=i(91741),d=i(98401),c=i(70666),h=i(16467),u=i(65520),g=i(50187),p=i(24314),m=i(3860),f=i(85215),_=i(88216),v=i(35120),C=i(63580),b=i(94565),w=i(90553),S=i(72065),L=i(71922),y=i(43557),k=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 N(e){if(!(e=e.filter((e=>e.range))).length)return;let{range:t}=e[0];for(let i=1;ie.provideDocumentRangeFormattingEdits(t,t.getFullModelRange(),i,n)})}return n}class I{static setFormatterSelector(e){return{dispose:I._selectors.unshift(e)}}static select(e,t,i){return k(this,void 0,void 0,(function*(){if(0===e.length)return;const n=a.$.first(I._selectors);return n?yield n(e,t,i):void 0}))}}function T(e,t,i,n,o,s){return k(this,void 0,void 0,(function*(){const r=e.get(S.TG),{documentRangeFormattingEditProvider:a}=e.get(L.p),l=(0,u.CL)(t)?t.getModel():t,d=a.ordered(l),c=yield I.select(d,l,n);c&&(o.report(c),yield r.invokeFunction(D,c,t,i,s))}))}function D(e,t,i,n,s){var r,a;return k(this,void 0,void 0,(function*(){const l=e.get(f.p),d=e.get(y.VZ);let c,g;(0,u.CL)(i)?(c=i.getModel(),g=new h.Dl(i,5,void 0,s)):(c=i,g=new h.YQ(i,s));const _=[];let C=0;for(const e of(0,o._2)(n).sort(p.e.compareRangesUsingStarts))C>0&&p.e.areIntersectingOrTouching(_[C-1],e)?_[C-1]=p.e.fromPositions(_[C-1].getStartPosition(),e.getEndPosition()):C=_.push(e);const b=e=>k(this,void 0,void 0,(function*(){var i,n;d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(i=t.extensionId)||void 0===i?void 0:i.value,e);const o=(yield t.provideDocumentRangeFormattingEdits(c,e,c.getFormattingOptions(),g.token))||[];return d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(n=t.extensionId)||void 0===n?void 0:n.value,o),o})),w=(e,t)=>{if(!e.length||!t.length)return!1;const i=e.reduce(((e,t)=>p.e.plusRange(e,t.range)),e[0].range);if(!t.some((e=>p.e.intersectRanges(i,e.range))))return!1;for(const i of e)for(const e of t)if(p.e.intersectRanges(i.range,e.range))return!0;return!1},S=[],L=[];try{if("function"==typeof t.provideDocumentRangesFormattingEdits){d.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=t.extensionId)||void 0===r?void 0:r.value,_);const e=(yield t.provideDocumentRangesFormattingEdits(c,_,c.getFormattingOptions(),g.token))||[];d.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(a=t.extensionId)||void 0===a?void 0:a.value,e),L.push(e)}else for(const e of _){if(g.token.isCancellationRequested)return!0;L.push(yield b(e))}for(let e=0;e<_.length;++e)for(let t=e+1;t<_.length;++t){if(g.token.isCancellationRequested)return!0;if(w(L[e],L[t])){const i=p.e.plusRange(_[e],_[t]),n=yield b(i);_.splice(t,1),_.splice(e,1),_.push(i),L.splice(t,1),L.splice(e,1),L.push(n),e=0,t=0}}for(const e of L){if(g.token.isCancellationRequested)return!0;const t=yield l.computeMoreMinimalEdits(c.uri,e);t&&S.push(...t)}}finally{g.dispose()}if(0===S.length)return!1;if((0,u.CL)(i))v.V.execute(i,S,!0),N(S),i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1);else{const[{range:e}]=S,t=new m.Y(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);c.pushEditOperations([t],S.map((e=>({text:e.text,range:p.e.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(p.e.areIntersectingOrTouching(i,t))return[new m.Y(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return!0}))}function M(e,t,i,n,o){return k(this,void 0,void 0,(function*(){const s=e.get(S.TG),r=e.get(L.p),a=(0,u.CL)(t)?t.getModel():t,l=x(r.documentFormattingEditProvider,r.documentRangeFormattingEditProvider,a),d=yield I.select(l,a,i);d&&(n.report(d),yield s.invokeFunction(R,d,t,i,o))}))}function R(e,t,i,n,o){return k(this,void 0,void 0,(function*(){const s=e.get(f.p);let r,a,l;(0,u.CL)(i)?(r=i.getModel(),a=new h.Dl(i,5,void 0,o)):(r=i,a=new h.YQ(i,o));try{const e=yield t.provideDocumentFormattingEdits(r,r.getFormattingOptions(),a.token);if(l=yield s.computeMoreMinimalEdits(r.uri,e),a.token.isCancellationRequested)return!0}finally{a.dispose()}if(!l||0===l.length)return!1;if((0,u.CL)(i))v.V.execute(i,l,2!==n),2!==n&&(N(l),i.revealPositionInCenterIfOutsideViewport(i.getPosition(),1));else{const[{range:e}]=l,t=new m.Y(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn);r.pushEditOperations([t],l.map((e=>({text:e.text,range:p.e.lift(e.range),forceMoveMarkers:!0}))),(e=>{for(const{range:i}of e)if(p.e.areIntersectingOrTouching(i,t))return[new m.Y(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn)];return null}))}return!0}))}function P(e,t,i,n,o,s,a){const l=t.onTypeFormattingEditProvider.ordered(i);return 0===l.length||l[0].autoFormatTriggerCharacters.indexOf(o)<0?Promise.resolve(void 0):Promise.resolve(l[0].provideOnTypeFormattingEdits(i,n,o,s,a)).catch(r.Cp).then((t=>e.computeMoreMinimalEdits(i.uri,t)))}I._selectors=new l.S,b.P.registerCommand("_executeFormatRangeProvider",(function(e,...t){return k(this,void 0,void 0,(function*(){const[i,n,a]=t;(0,d.p_)(c.o.isUri(i)),(0,d.p_)(p.e.isIRange(n));const l=e.get(_.S),h=e.get(f.p),u=e.get(L.p),g=yield l.createModelReference(i);try{return function(e,t,i,n,s,a){return k(this,void 0,void 0,(function*(){const l=t.documentRangeFormattingEditProvider.ordered(i);for(const t of l){const l=yield Promise.resolve(t.provideDocumentRangeFormattingEdits(i,n,s,a)).catch(r.Cp);if((0,o.Of)(l))return yield e.computeMoreMinimalEdits(i.uri,l)}}))}(h,u,g.object.textEditorModel,p.e.lift(n),a,s.T.None)}finally{g.dispose()}}))})),b.P.registerCommand("_executeFormatDocumentProvider",(function(e,...t){return k(this,void 0,void 0,(function*(){const[i,n]=t;(0,d.p_)(c.o.isUri(i));const a=e.get(_.S),l=e.get(f.p),h=e.get(L.p),u=yield a.createModelReference(i);try{return function(e,t,i,n,s){return k(this,void 0,void 0,(function*(){const a=x(t.documentFormattingEditProvider,t.documentRangeFormattingEditProvider,i);for(const t of a){const a=yield Promise.resolve(t.provideDocumentFormattingEdits(i,n,s)).catch(r.Cp);if((0,o.Of)(a))return yield e.computeMoreMinimalEdits(i.uri,a)}}))}(l,h,u.object.textEditorModel,n,s.T.None)}finally{u.dispose()}}))})),b.P.registerCommand("_executeFormatOnTypeProvider",(function(e,...t){return k(this,void 0,void 0,(function*(){const[i,n,o,r]=t;(0,d.p_)(c.o.isUri(i)),(0,d.p_)(g.L.isIPosition(n)),(0,d.p_)("string"==typeof o);const a=e.get(_.S),l=e.get(f.p),h=e.get(L.p),u=yield a.createModelReference(i);try{return P(l,h,u.object.textEditorModel,g.L.lift(n),o,r,s.T.None)}finally{u.dispose()}}))}))},35120:(e,t,i)=>{i.d(t,{V:()=>r});var n=i(69386),o=i(24314),s=i(43407);class r{static _handleEolEdits(e,t){let i;const n=[];for(const e of t)"number"==typeof e.eol&&(i=e.eol),e.range&&"string"==typeof e.text&&n.push(e);return"number"==typeof i&&e.hasModel()&&e.getModel().pushEOL(i),n}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),n=i.validateRange(t.range);return i.getFullModelRange().equalsRange(n)}static execute(e,t,i){i&&e.pushUndoStop();const a=s.Z.capture(e),l=r._handleEolEdits(e,t);1===l.length&&r._isFullModelReplaceEdit(e,l[0])?e.executeEdits("formatEditsCommand",l.map((e=>n.h.replace(o.e.lift(e.range),e.text)))):e.executeEdits("formatEditsCommand",l.map((e=>n.h.replaceMove(o.e.lift(e.range),e.text)))),i&&e.pushUndoStop(),a.restoreRelativeVerticalPositionOfCursor(e)}}},51522:(e,t,i)=>{i.d(t,{J:()=>ye});var n=i(15393),o=i(17301),s=i(22258),r=i(5976),a=i(11640),l=i(50187),d=i(24314),c=i(81774),h=i(63580),u=i(94565),g=i(33108),p=i(93983),m=i(72065),f=i(49989),_=i(32414),v=i(59422),C=i(52365),b=i(1293),w=i(65321),S=i(89782),L=i(41264),y=i(4669),k=i(66663),N=i(95935),x=i(93379),I=i.n(x),T=i(7795),D=i.n(T),M=i(90569),R=i.n(M),P=i(3565),E=i.n(P),O=i(19216),A=i.n(O),F=i(44589),V=i.n(F),W=i(60879),B={};B.styleTagTransform=V(),B.setAttributes=E(),B.insert=R().bind(null,"head"),B.domAPI=D(),B.insertStyleElement=A();I()(W.Z,B);W.Z&&W.Z.locals&&W.Z.locals;var H=i(84527),z=i(3654),U=i(51381),j=i(68801),q=i(72042),K=i(88216),G=i(89162),$=i(34650),Z=i(32107),Q=i(75392),Y=i(91847),J=i(44349),X=i(86253),ee=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},te=function(e,t){return function(i,n){t(i,n,e)}};let ie=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof b.oQ||e instanceof b.F2}getChildren(e){if(e instanceof b.oQ)return e.groups;if(e instanceof b.F2)return e.resolve(this._resolverService).then((e=>e.children));throw new Error("bad tree")}};ie=ee([te(0,K.S)],ie);class ne{getHeight(){return 23}getTemplateId(e){return e instanceof b.F2?ae.id:de.id}}let oe=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof b.WX){const i=null===(t=e.parent.getPreview(e))||void 0===t?void 0:t.preview(e.range);if(i)return i.value}return(0,N.EZ)(e.uri)}};oe=ee([te(0,Y.d)],oe);class se{getId(e){return e instanceof b.WX?e.id:e.uri}}let re=class extends r.JT{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new Z.g(i,{supportHighlights:!0})),this.badge=new G.Z(w.R3(i,w.$(".count")),{},X.ku),e.appendChild(i)}set(e,t){const i=(0,N.XX)(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat((0,h.NC)("referencesCount","{0} references",n)):this.badge.setTitleFormat((0,h.NC)("referenceCount","{0} reference",n))}};re=ee([te(1,J.e)],re);let ae=class e{constructor(t){this._instantiationService=t,this.templateId=e.id}renderTemplate(e){return this._instantiationService.createInstance(re,e)}renderElement(e,t,i){i.set(e.element,(0,Q.mB)(e.filterData))}disposeTemplate(e){e.dispose()}};ae.id="FileReferencesRenderer",ae=ee([te(0,m.TG)],ae);class le{constructor(e){this.label=new $.q(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&&!Q.CL.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(e,(0,Q.mB)(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(e,[i]))}else this.label.set(`${(0,N.EZ)(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`)}}class de{constructor(){this.templateId=de.id}renderTemplate(e){return new le(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(){}}de.id="OneReferenceRenderer";class ce{getWidgetAriaLabel(){return(0,h.NC)("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var he=i(97781),ue=i(64862),ge=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},pe=function(e,t){return function(i,n){t(i,n,e)}},me=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 fe{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new r.SL,this._callOnModelChange=new r.SL,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(const 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{const o=n.deltaDecorations([],t);for(let t=0;t{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(ve,"ReferencesWidget",this._treeContainer,new ne,[this._instantiationService.createInstance(ae),this._instantiationService.createInstance(de)],this._instantiationService.createInstance(ie),t),this._splitView.addView({onDidChange:y.ju.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},S.M.Distribute),this._splitView.addView({onDidChange:y.ju.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)}},S.M.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const i=(e,t)=>{e instanceof b.WX&&("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")})),w.Cp(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new w.Ro(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=h.NC("noResults","No results"),w.$Z(this._messageContainer),Promise.resolve(void 0)):(w.Cp(this._messageContainer),this._decorationsManager=new fe(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"),w.$Z(this._treeContainer),w.$Z(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 b.WX?e:e instanceof b.F2&&e.children.length>0?e.children[0]:void 0}revealReference(e){return me(this,void 0,void 0,(function*(){yield this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}))}_revealReference(e,t){return me(this,void 0,void 0,(function*(){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==k.lg.inMemory?this.setTitle((0,N.Hx)(e.uri),this._uriLabel.getUriLabel((0,N.XX)(e.uri))):this.setTitle(h.NC("peekView.alternateTitle","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();(0,r.B9)(this._previewModelReference);const o=n.object;if(o){const t=this._preview.getModel()===o.textEditorModel?0:1,i=d.e.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()}))}};Ce=ge([pe(3,he.XE),pe(4,K.S),pe(5,m.TG),pe(6,c.Fw),pe(7,J.e),pe(8,ue.tJ),pe(9,Y.d),pe(10,q.O),pe(11,U.c_)],Ce);var be=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},we=function(e,t){return function(i,n){t(i,n,e)}},Se=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 Le=new p.uy("referenceSearchVisible",!1,h.NC("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let ye=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o,s,a,l){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=o,this._instantiationService=s,this._storageService=a,this._configurationService=l,this._disposables=new r.SL,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Le.bindTo(i)}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=_e.fromJSON(this._storageService.get(o,0,"{}"));this._widget=this._instantiationService.createInstance(Ce,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(h.NC("labelLoading","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=>{const{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,!0):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(h.NC("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const t=this._editor.getModel().uri,i=new l.L(e.startLineNumber,e.startColumn),n=this._model.nearestReference(t,i);if(n)return this._widget.setSelection(n).then((()=>{this._widget&&"editor"===this._editor.getOption(83)&&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 Se(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,!1),o?this._editor.focus():this._widget&&s&&this._widget.focusOnPreviewEditor()}))}revealReference(e){return Se(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,i){var s;null===(s=this._widget)||void 0===s||s.hide(),this._ignoreModelChangeEvent=!0;const r=d.e.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:r,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(r),this._widget.focusOnReferenceTree();else{const o=e.get(t),s=this._model.clone();this.closeWidget(),t.focus(),null==o||o.toggleWidget(r,(0,n.PG)((e=>Promise.resolve(s))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(e=>{this._ignoreModelChangeEvent=!1,(0,o.dL)(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 ke(e,t){const i=(0,c.rc)(e);if(!i)return;const n=ye.get(i);n&&t(n)}ye.ID="editor.contrib.referencesController",ye=be([we(2,p.i6),we(3,a.$),we(4,v.lT),we(5,m.TG),we(6,C.Uy),we(7,g.Ui)],ye),f.W.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,s.gx)(2089,60),when:p.Ao.or(Le,c.Jy.inPeekEditor),handler(e){ke(e,(e=>{e.changeFocusBetweenPreviewAndReferences()}))}}),f.W.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:p.Ao.or(Le,c.Jy.inPeekEditor),handler(e){ke(e,(e=>{e.goToNextOrPreviousReference(!0)}))}}),f.W.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:p.Ao.or(Le,c.Jy.inPeekEditor),handler(e){ke(e,(e=>{e.goToNextOrPreviousReference(!1)}))}}),u.P.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),u.P.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),u.P.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),u.P.registerCommand("closeReferenceSearch",(e=>ke(e,(e=>e.closeWidget())))),f.W.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:p.Ao.and(c.Jy.inPeekEditor,p.Ao.not("config.editor.stablePeek"))}),f.W.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:p.Ao.and(Le,p.Ao.not("config.editor.stablePeek"))}),f.W.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:p.Ao.and(Le,_.CQ,_.PS.negate(),_.uJ.negate()),handler(e){var t;const i=null===(t=e.get(_.Lw).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.WX&&ke(e,(e=>e.revealReference(i[0])))}}),f.W.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:p.Ao.and(Le,_.CQ,_.PS.negate(),_.uJ.negate()),handler(e){var t;const i=null===(t=e.get(_.Lw).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.WX&&ke(e,(e=>e.openReference(i[0],!0,!0)))}}),u.P.registerCommand("openReference",(e=>{var t;const i=null===(t=e.get(_.Lw).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(i)&&i[0]instanceof b.WX&&ke(e,(e=>e.openReference(i[0],!1,!0)))}))},1293:(e,t,i)=>{i.d(t,{F2:()=>m,WX:()=>g,oQ:()=>f});var n=i(17301),o=i(4669),s=i(44742),r=i(5976),a=i(43702),l=i(95935),d=i(97295),c=i(24314),h=i(63580),u=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 g{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=s.a.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?(0,h.NC)({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"symbol in {0} on line {1} at column {2}, {3}",(0,l.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn,t.value):(0,h.NC)("aria.oneReference","symbol in {0} on line {1} at column {2}",(0,l.EZ)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class p{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 c.e(n,a.startColumn,n,o),d=new c.e(s,r,s,1073741824),h=i.getValueInRange(l).replace(/^\s+/,""),u=i.getValueInRange(e);return{value:h+u+i.getValueInRange(d).replace(/\s+$/,""),highlight:{start:h.length,end:h.length+u.length}}}}class m{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new a.Y9}dispose(){(0,r.B9)(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return 1===e?(0,h.NC)("aria.fileReferences.1","1 symbol in {0}, full path {1}",(0,l.EZ)(this.uri),this.uri.fsPath):(0,h.NC)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,(0,l.EZ)(this.uri),this.uri.fsPath)}resolve(e){return u(this,void 0,void 0,(function*(){if(0!==this._previews.size)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=yield e.createModelReference(t.uri);this._previews.set(t.uri,new p(i))}catch(e){(0,n.dL)(e)}return this}))}}class f{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new o.Q5,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;let n;e.sort(f._compareReferences);for(const t of e)if(n&&l.SF.isEqual(n.uri,t.uri,!0)||(n=new m(this,t.uri),this.groups.push(n)),0===n.children.length||0!==f._compareReferences(t,n.children[n.children.length-1])){const e=new g(i===t,n,t,(e=>this._onDidChangeReferenceRange.fire(e)));this.references.push(e),n.children.push(e)}}dispose(){(0,r.B9)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new f(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?(0,h.NC)("aria.result.0","No results found"):1===this.references.length?(0,h.NC)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?(0,h.NC)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,h.NC)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const 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:d.Mh(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()&&c.e.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 l.SF.compare(e.uri,t.uri)||c.e.compareRangesUsingStarts(e.range,t.range)}}},81774:(e,t,i)=>{i.d(t,{Fw:()=>Z,Jy:()=>Q,vk:()=>ee,rc:()=>J,SC:()=>oe,M8:()=>se,KY:()=>te,IH:()=>ie,R7:()=>ne});var n=i(65321),o=i(90317),s=i(74741),r=i(73046),a=i(25670),l=i(41264),d=i(4669),c=i(36248),h=i(93379),u=i.n(h),g=i(7795),p=i.n(g),m=i(90569),f=i.n(m),_=i(3565),v=i.n(_),C=i(19216),b=i.n(C),w=i(44589),S=i.n(w),L=i(8881),y={};y.styleTagTransform=S(),y.setAttributes=v(),y.insert=f().bind(null,"head"),y.domAPI=p(),y.insertStyleElement=b();u()(L.Z,y);L.Z&&L.Z.locals&&L.Z.locals;var k=i(16830),N=i(11640),x=i(84527),I=i(63841),T=i(44742),D=i(5976),M=i(51564),R={};R.styleTagTransform=S(),R.setAttributes=v(),R.insert=f().bind(null,"head"),R.domAPI=p(),R.insertStyleElement=b();u()(M.Z,R);M.Z&&M.Z.locals&&M.Z.locals;var P=i(24314),E=i(3654);const O=new l.Il(new l.VS(0,122,204)),A={showArrow:!0,showFrame:!0,className:"",frameColor:O,arrowColor:O,keepEditorSelection:!1};class F{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 V{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class W{constructor(e){this._editor=e,this._ruleName=W._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),n.uN(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(){n.uN(this._ruleName),n.fk(`.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.set([{range:P.e.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}W._IdGenerator=new T.R(".arrow-decoration-");class B{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new D.SL,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=c.I8(t),c.jB(this.options,A,!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._positionMarkerId.clear(),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 W(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){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const 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){var t;if(this.domNode.style.height=`${e}px`,this.container){const t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;const i=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(i))}null===(t=this._resizeSash)||void 0===t||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=P.e.isIRange(e)?P.e.lift(e):P.e.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:E.qx.EMPTY}])}hide(){var e;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),null===(e=this._arrow)||void 0===e||e.hide()}_decoratingElementsHeight(){const e=this.editor.getOption(64);let t=0;if(this.options.showArrow){t+=2*Math.round(e/3)}if(this.options.showFrame){t+=2*Math.round(e/9)}return 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(64),a=Math.max(12,this.editor.getLayoutInfo().height/r*.8);t=Math.min(t,a);let l=0,d=0;if(this._arrow&&this.options.showArrow&&(l=Math.round(r/3),this._arrow.height=l,this._arrow.show(i)),this.options.showFrame&&(d=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 F(s,i.lineNumber,i.column,t,(e=>this._onViewZoneTop(e)),(e=>this._onViewZoneHeight(e))),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new V("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:d;this.container.style.borderTopWidth=e+"px",this.container.style.borderBottomWidth=e+"px"}const c=t*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=l+"px",this.container.style.height=c+"px",this.container.style.overflow="hidden"),this._doLayout(c,o),this.options.keepEditorSelection||this.editor.setSelection(e);const h=this.editor.getModel();if(h){const t=h.validateRange(new P.e(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.endLineNumber===h.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(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 I.g(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){const i=(t.currentY-e.startY)/this.editor.getOption(64),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}}var H=i(63580),z=i(44691),U=i(93983),j=i(65026),q=i(72065),K=i(73910),G=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)}};const Z=(0,q.yh)("IPeekViewService");var Q;(0,j.z)(Z,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))}))})}},1),function(e){e.inPeekEditor=new U.uy("inReferenceSearchEditor",!0,H.NC("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),e.notInPeekEditor=e.inPeekEditor.toNegated()}(Q||(Q={}));let Y=class{constructor(e,t){e instanceof x.H&&Q.inPeekEditor.bindTo(t)}dispose(){}};function J(e){const t=e.get(N.$).getFocusedCodeEditor();return t instanceof x.H?t.getParentEditor():t}Y.ID="editor.contrib.referenceController",Y=G([$(1,U.i6)],Y),(0,k._K)(Y.ID,Y,0);const X={headerBackgroundColor:l.Il.white,primaryHeadingColor:l.Il.fromHex("#333333"),secondaryHeadingColor:l.Il.fromHex("#6c6c6cb3")};let ee=class extends B{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new d.Q5,this.onDidClose=this._onDidClose.event,c.jB(this.options,X,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const 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();const 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=n.$(".head"),this._bodyElement=n.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=n.$(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),n.mu(this._titleElement,"click",(e=>this._onTitleClick(e)))),n.R3(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=n.$("span.filename"),this._secondaryHeading=n.$("span.dirname"),this._metaHeading=n.$("span.meta"),n.R3(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=n.$(".peekview-actions");n.R3(this._headElement,i);const l=this._getActionBarOptions();this._actionbarWidget=new o.o(i,l),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new s.aU("peekview.close",H.NC("label.close","Close"),a.k.asClassName(r.l.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:z.Id.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:n.PO(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,n.$Z(this._metaHeading)):n.Cp(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0)return void this.dispose();const i=Math.ceil(1.2*this.editor.getOption(64)),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`)}};ee=G([$(2,q.TG)],ee);const te=(0,K.P6G)("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:l.Il.black,hcLight:l.Il.white},H.NC("peekViewTitleBackground","Background color of the peek view title area.")),ie=(0,K.P6G)("peekViewTitleLabel.foreground",{dark:l.Il.white,light:l.Il.black,hcDark:l.Il.white,hcLight:K.NOs},H.NC("peekViewTitleForeground","Color of the peek view title.")),ne=(0,K.P6G)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},H.NC("peekViewTitleInfoForeground","Color of the peek view title info.")),oe=(0,K.P6G)("peekView.border",{dark:K.c63,light:K.c63,hcDark:K.lRK,hcLight:K.lRK},H.NC("peekViewBorder","Color of the peek view borders and arrow.")),se=(0,K.P6G)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:l.Il.black,hcLight:l.Il.white},H.NC("peekViewResultsBackground","Background color of the peek view result list.")),re=((0,K.P6G)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:l.Il.white,hcLight:K.NOs},H.NC("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),(0,K.P6G)("peekViewResult.fileForeground",{dark:l.Il.white,light:"#1E1E1E",hcDark:l.Il.white,hcLight:K.NOs},H.NC("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),(0,K.P6G)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},H.NC("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),(0,K.P6G)("peekViewResult.selectionForeground",{dark:l.Il.white,light:"#6C6C6C",hcDark:l.Il.white,hcLight:K.NOs},H.NC("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),(0,K.P6G)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:l.Il.black,hcLight:l.Il.white},H.NC("peekViewEditorBackground","Background color of the peek view editor.")));(0,K.P6G)("peekViewEditorGutter.background",{dark:re,light:re,hcDark:re,hcLight:re},H.NC("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),(0,K.P6G)("peekViewEditorStickyScroll.background",{dark:re,light:re,hcDark:re,hcLight:re},H.NC("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor.")),(0,K.P6G)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},H.NC("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),(0,K.P6G)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},H.NC("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),(0,K.P6G)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:K.xL1,hcLight:K.xL1},H.NC("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."))},50094:(e,t,i)=>{i.d(t,{T:()=>s});var n=i(21212),o=i(43779);class s extends o.Z{constructor(e,t,i,n,o,s){super(e,t,i,n,o,s)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions())t.push({commandId:i.id,commandAlias:i.alias,label:(0,n.x$)(i.label)||i.id});return t}}},83943:(e,t,i)=>{i.d(t,{X:()=>c});var n=i(88289),o=i(5976),s=i(98401),r=i(65520),a=i(84973),l=i(8625),d=i(97781);class c{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var i;const n=new o.SL;e.canAcceptInBackground=!!(null===(i=this.options)||void 0===i?void 0:i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new o.XK);return s.value=this.doProvide(e,t),n.add(this.onDidActiveTextEditorControlChange((()=>{s.value=void 0,s.value=this.doProvide(e,t)}))),n}doProvide(e,t){const i=new o.SL,a=this.activeTextEditorControl;if(a&&this.canProvideWithTextEditor(a)){const l={editor:a},d=(0,r.Pi)(a);if(d){let e=(0,s.f6)(a.saveViewState());i.add(d.onDidChangeCursorPosition((()=>{e=(0,s.f6)(a.saveViewState())}))),l.restoreViewState=()=>{e&&a===this.activeTextEditorControl&&a.restoreViewState(e)},i.add((0,n.I)(t.onCancellationRequested)((()=>{var e;return null===(e=l.restoreViewState)||void 0===e?void 0:e.call(l)})))}i.add((0,o.OF)((()=>this.clearDecorations(a)))),i.add(this.provideWithTextEditor(l,e,t))}else i.add(this.provideWithoutTextEditor(e,t));return i}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus()}getModel(e){var t;return(0,r.QI)(e)?null===(t=e.getModel())||void 0===t?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations((e=>{const i=[];this.rangeHighlightDecorationId&&(i.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),i.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const n=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,d.EN)(l.m9),position:a.sh.Full}}}],[o,s]=e.deltaDecorations(i,n);this.rangeHighlightDecorationId={rangeHighlightId:o,overviewRulerDecorationId:s}}))}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations((e=>{e.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}},84298:(e,t,i)=>{i.d(t,{q:()=>a});var n=i(5976),o=i(65520),s=i(83943),r=i(63580);class a extends s.X{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=(0,r.NC)("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,n.JT.None}provideWithTextEditor(e,t,i){const s=e.editor,r=new n.SL;r.add(t.onDidAccept((i=>{const[n]=t.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(e,{range:this.toRange(n.lineNumber,n.column),keyMods:t.keyMods,preserveFocus:i.inBackground}),i.inBackground||t.hide()}})));const l=()=>{const e=this.parsePosition(s,t.value.trim().substr(a.PREFIX.length)),i=this.getPickLabel(s,e.lineNumber,e.column);if(t.items=[{lineNumber:e.lineNumber,column:e.column,label:i}],t.ariaLabel=i,!this.isValidLineNumber(s,e.lineNumber))return void this.clearDecorations(s);const n=this.toRange(e.lineNumber,e.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};l(),r.add(t.onDidChangeValue((()=>l())));const d=(0,o.Pi)(s);if(d){2===d.getOptions().get(65).renderType&&(d.updateOptions({lineNumbers:"on"}),r.add((0,n.OF)((()=>d.updateOptions({lineNumbers:"relative"})))))}return r}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map((e=>parseInt(e,10))).filter((e=>!isNaN(e))),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?(0,r.NC)("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):(0,r.NC)("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},o=this.lineCount(e);return o>1?(0,r.NC)("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,o):(0,r.NC)("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!(!t||"number"!=typeof t)&&(t>0&&t<=this.lineCount(e))}isValidColumn(e,t,i){if(!i||"number"!=typeof i)return!1;const n=this.getModel(e);if(!n)return!1;const o={lineNumber:t,column:i};return n.validatePosition(o).equals(o)}lineCount(e){var t,i;return null!==(i=null===(t=this.getModel(e))||void 0===t?void 0:t.getLineCount())&&void 0!==i?i:0}}a.PREFIX=":"},41795:(e,t,i)=>{i.d(t,{S:()=>b});var n=i(15393),o=i(71050),s=i(73046),r=i(25670),a=i(53192),l=i(5976),d=i(97295),c=i(24314),h=i(96887),u=i(30335),g=i(83943),p=i(63580),m=i(71922),f=i(9488),_=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},v=function(e,t){return function(i,n){t(i,n,e)}},C=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 b=class e extends g.X{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,(0,p.NC)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),l.JT.None}provideWithTextEditor(e,t,i){const n=e.editor,o=this.getModel(n);return o?this._languageFeaturesService.documentSymbolProvider.has(o)?this.doProvideWithEditorSymbols(e,o,t,i):this.doProvideWithoutEditorSymbols(e,o,t,i):l.JT.None}doProvideWithoutEditorSymbols(e,t,i,n){const o=new l.SL;return this.provideLabelPick(i,(0,p.NC)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(()=>{C(this,void 0,void 0,(function*(){(yield this.waitForLanguageSymbolRegistry(t,o))&&!n.isCancellationRequested&&o.add(this.doProvideWithEditorSymbols(e,t,i,n))}))})(),o}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}waitForLanguageSymbolRegistry(e,t){return C(this,void 0,void 0,(function*(){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new n.CR,o=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(o.dispose(),i.complete(!0))})));return t.add((0,l.OF)((()=>i.complete(!1)))),i.p}))}doProvideWithEditorSymbols(t,i,n,s){var r;const d=t.editor,h=new l.SL;h.add(n.onDidAccept((e=>{const[i]=n.selectedItems;i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:n.keyMods,preserveFocus:e.inBackground}),e.inBackground||n.hide())}))),h.add(n.onDidTriggerItemButton((({item:e})=>{e&&e.range&&(this.gotoLocation(t,{range:e.range.selection,keyMods:n.keyMods,forceSideBySide:!0}),n.hide())})));const u=this.getDocumentSymbols(i,s);let g;const m=t=>C(this,void 0,void 0,(function*(){null==g||g.dispose(!0),n.busy=!1,g=new o.A(s),n.busy=!0;try{const i=(0,a.AO)(n.value.substr(e.PREFIX.length).trim()),o=yield this.doGetSymbolPicks(u,i,void 0,g.token);if(s.isCancellationRequested)return;if(o.length>0){if(n.items=o,t&&0===i.original.length){const e=(0,f.dF)(o,(e=>Boolean("separator"!==e.type&&e.range&&c.e.containsPosition(e.range.decoration,t))));e&&(n.activeItems=[e])}}else i.original.length>0?this.provideLabelPick(n,(0,p.NC)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(n,(0,p.NC)("noSymbolResults","No editor symbols"))}finally{s.isCancellationRequested||(n.busy=!1)}}));return h.add(n.onDidChangeValue((()=>m(void 0)))),m(null===(r=d.getSelection())||void 0===r?void 0:r.getPosition()),h.add(n.onDidChangeActive((()=>{const[e]=n.activeItems;e&&e.range&&(d.revealRangeInCenter(e.range.selection,0),this.addDecorations(d,e.range.decoration))}))),h}doGetSymbolPicks(t,i,n,o){var l,u;return C(this,void 0,void 0,(function*(){const g=yield t;if(o.isCancellationRequested)return[];const m=0===i.original.indexOf(e.SCOPE_PREFIX),f=m?1:0;let _,v,C;i.values&&i.values.length>1?(_=(0,a.Ic)(i.values[0]),v=(0,a.Ic)(i.values.slice(1))):_=i;const b=null===(u=null===(l=this.options)||void 0===l?void 0:l.openSideBySideDirection)||void 0===u?void 0:u.call(l);b&&(C=[{iconClass:"right"===b?r.k.asClassName(s.l.splitHorizontal):r.k.asClassName(s.l.splitVertical),tooltip:"right"===b?(0,p.NC)("openToSide","Open to the Side"):(0,p.NC)("openToBottom","Open to the Bottom")}]);const L=[];for(let N=0;Nf){let F=!1;if(_!==i&&([M,R]=(0,a.mt)(T,Object.assign(Object.assign({},i),{values:void 0}),f,D),"number"==typeof M&&(F=!0)),"number"!=typeof M&&([M,R]=(0,a.mt)(T,_,f,D),"number"!=typeof M))continue;if(!F&&v){if(O&&v.original.length>0&&([P,E]=(0,a.mt)(O,v)),"number"!=typeof P)continue;"number"==typeof M&&(M+=P)}}const A=x.tags&&x.tags.indexOf(1)>=0;L.push({index:N,kind:x.kind,score:M,label:T,ariaLabel:I,description:O,highlights:A?void 0:{label:R,description:E},range:{selection:c.e.collapseToStart(x.selectionRange),decoration:x.range},strikethrough:A,buttons:C})}const y=L.sort(((e,t)=>m?this.compareByKindAndScore(e,t):this.compareByScore(e,t)));let k=[];if(m){let V,W,B=0;function H(){W&&"number"==typeof V&&B>0&&(W.label=(0,d.WU)(S[V]||w,B))}for(const z of y)V!==z.kind?(H(),V=z.kind,B=1,W={type:"separator"},k.push(W)):B++,k.push(z);H()}else y.length>0&&(k=[{label:(0,p.NC)("symbols","symbols ({0})",L.length),type:"separator"},...y]);return k}))}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=S[e.kind]||w,n=S[t.kind]||w,o=i.localeCompare(n);return 0===o?this.compareByScore(e,t):o}getDocumentSymbols(e,t){return C(this,void 0,void 0,(function*(){const i=yield this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}))}};b.PREFIX="@",b.SCOPE_PREFIX=":",b.PREFIX_BY_CATEGORY=`${b.PREFIX}${b.SCOPE_PREFIX}`,b=_([v(0,m.p),v(1,u.Je)],b);const w=(0,p.NC)("property","properties ({0})"),S={5:(0,p.NC)("method","methods ({0})"),11:(0,p.NC)("function","functions ({0})"),8:(0,p.NC)("_constructor","constructors ({0})"),12:(0,p.NC)("variable","variables ({0})"),4:(0,p.NC)("class","classes ({0})"),22:(0,p.NC)("struct","structs ({0})"),23:(0,p.NC)("event","events ({0})"),24:(0,p.NC)("operator","operators ({0})"),10:(0,p.NC)("interface","interfaces ({0})"),2:(0,p.NC)("namespace","namespaces ({0})"),3:(0,p.NC)("package","packages ({0})"),25:(0,p.NC)("typeParameter","type parameters ({0})"),1:(0,p.NC)("modules","modules ({0})"),6:(0,p.NC)("property","properties ({0})"),9:(0,p.NC)("enum","enumerations ({0})"),21:(0,p.NC)("enumMember","enumeration members ({0})"),14:(0,p.NC)("string","strings ({0})"),0:(0,p.NC)("file","files ({0})"),17:(0,p.NC)("array","arrays ({0})"),15:(0,p.NC)("number","numbers ({0})"),16:(0,p.NC)("boolean","booleans ({0})"),18:(0,p.NC)("object","objects ({0})"),19:(0,p.NC)("key","keys ({0})"),7:(0,p.NC)("field","fields ({0})"),13:(0,p.NC)("constant","constants ({0})")}},22368:(e,t,i)=>{var n=i(93379),o=i.n(n),s=i(7795),r=i.n(s),a=i(90569),l=i.n(a),d=i(3565),c=i.n(d),h=i(19216),u=i.n(h),g=i(44589),p=i.n(g),m=i(30745),f={};f.styleTagTransform=p(),f.setAttributes=c(),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(63580),v=i(73910);(0,v.P6G)("symbolIcon.arrayForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.booleanForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,_.NC)("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.colorForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.constantForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,_.NC)("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,_.NC)("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,_.NC)("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,_.NC)("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,_.NC)("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.fileForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.folderForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,_.NC)("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,_.NC)("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.keyForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.keywordForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,_.NC)("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.moduleForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.namespaceForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.nullForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.numberForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.objectForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.operatorForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.packageForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.propertyForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.referenceForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.snippetForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.stringForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.structForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.textForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.typeParameterForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.unitForeground",{dark:v.dRz,light:v.dRz,hcDark:v.dRz,hcLight:v.dRz},(0,_.NC)("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,v.P6G)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,_.NC)("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."))},64662:(e,t,i)=>{i.d(t,{R:()=>l});var n=i(56346),o=i(37940),s=i(63580),r=i(84144),a=i(93983);class l extends r.Ke{constructor(){super({id:l.ID,title:{value:s.NC({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(e){const t="terminal"===e.get(a.i6).getContextKeyValue("focusedView")?"terminalFocus":"editorFocus",i=!o.n.getTabFocusMode(t);o.n.setTabFocusMode(i,t),i?(0,n.Z9)(s.NC("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):(0,n.Z9)(s.NC("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}l.ID="editor.action.toggleTabFocusMode",(0,r.r1)(l)},6586:(e,t,i)=>{i.r(t),i.d(t,{CancellationTokenSource:()=>d,Emitter:()=>c,KeyCode:()=>h,KeyMod:()=>u,MarkerSeverity:()=>_,MarkerTag:()=>v,Position:()=>g,Range:()=>p,Selection:()=>m,SelectionDirection:()=>f,Token:()=>b,Uri:()=>C,editor:()=>w,languages:()=>S});var n=i(64141),o=i(20927),s=i(40892),r=i(32925),a=i(52399);n.BH.wrappingIndent.defaultValue=0,n.BH.glyphMargin.defaultValue=!1,n.BH.autoIndent.defaultValue=3,n.BH.overviewRulerLanes.defaultValue=2,a.xC.setFormatterSelector(((e,t,i)=>Promise.resolve(e[0])));const l=(0,o.O)();l.editor=(0,s.yU)(),l.languages=(0,r.DT)();const d=l.CancellationTokenSource,c=l.Emitter,h=l.KeyCode,u=l.KeyMod,g=l.Position,p=l.Range,m=l.Selection,f=l.SelectionDirection,_=l.MarkerSeverity,v=l.MarkerTag,C=l.Uri,b=l.Token,w=l.editor,S=l.languages,L=globalThis.MonacoEnvironment;((null==L?void 0:L.globalAPI)||"function"==typeof define&&i.amdO)&&(globalThis.monaco=l),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]})},1290:(e,t,i)=>{i.d(t,{VD:()=>NC.KeyCode,DC:()=>NC.KeyMod,e6:()=>NC.Range,j6:()=>NC.editor,Mj:()=>NC.languages});i(46943),i(40605),i(68423),i(72323),i(39585);var n=i(96623),o=(i(68489),i(85044),i(75623),i(56346)),s=i(59365),r=i(22258),a=i(93379),l=i.n(a),d=i(7795),c=i.n(d),h=i(90569),u=i.n(h),g=i(3565),p=i.n(g),m=i(19216),f=i.n(m),_=i(44589),v=i.n(_),C=i(34055),b={};b.styleTagTransform=v(),b.setAttributes=p(),b.insert=u().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=f();l()(C.Z,b);C.Z&&C.Z.locals&&C.Z.locals;var w=i(16830),S=i(3860),L=i(29102),y=i(63580),k=i(93983),N=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},x=function(e,t){return function(i,n){t(i,n,e)}},I=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 T=new k.uy("selectionAnchorSet",!1);let D=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=T.bindTo(t),this.modelChangeListener=e.onDidChangeModel((()=>this.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations((t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(S.Y.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:(new s.W5).appendText((0,y.NC)("selectionAnchor","Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,o.Z9)((0,y.NC)("anchorSet","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(S.Y.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations((t=>{t.removeDecoration(e),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};D.ID="editor.contrib.selectionAnchorController",D=N([x(1,k.i6)],D);class M extends w.R6{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,y.NC)("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2080),weight:100}})}run(e,t){var i;return I(this,void 0,void 0,(function*(){null===(i=D.get(t))||void 0===i||i.setSelectionAnchor()}))}}class R extends w.R6{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,y.NC)("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:T})}run(e,t){var i;return I(this,void 0,void 0,(function*(){null===(i=D.get(t))||void 0===i||i.goToSelectionAnchor()}))}}class P extends w.R6{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,y.NC)("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:T,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2089),weight:100}})}run(e,t){var i;return I(this,void 0,void 0,(function*(){null===(i=D.get(t))||void 0===i||i.selectFromAnchorToCursor()}))}}class E extends w.R6{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,y.NC)("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:T,kbOpts:{kbExpr:L.u.editorTextFocus,primary:9,weight:100}})}run(e,t){var i;return I(this,void 0,void 0,(function*(){null===(i=D.get(t))||void 0===i||i.cancelSelectionAnchor()}))}}(0,w._K)(D.ID,D,4),(0,w.Qr)(M),(0,w.Qr)(R),(0,w.Qr)(P),(0,w.Qr)(E);var O=i(15393),A=i(5976),F=i(12205),V={};V.styleTagTransform=v(),V.setAttributes=p(),V.insert=u().bind(null,"head"),V.domAPI=c(),V.insertStyleElement=f();l()(F.Z,V);F.Z&&F.Z.locals&&F.Z.locals;var W=i(50187),B=i(24314),H=i(84973),z=i(3654),U=i(84144),j=i(73910),q=i(97781);const K=(0,j.P6G)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},y.NC("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class G extends w.R6{constructor(){super({id:"editor.action.jumpToBracket",label:y.NC("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3160,weight:100}})}run(e,t){var i;null===(i=Y.get(t))||void 0===i||i.jumpToBracket()}}class $ extends w.R6{constructor(){super({id:"editor.action.selectToBracket",label:y.NC("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var n;let o=!0;i&&!1===i.selectBrackets&&(o=!1),null===(n=Y.get(t))||void 0===n||n.selectToBracket(o)}}class Z extends w.R6{constructor(){super({id:"editor.action.removeBrackets",label:y.NC("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;null===(i=Y.get(t))||void 0===i||i.removeBrackets(this.id)}}class Q{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class Y extends A.JT{static get(e){return e.getContribution(Y.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new O.pY((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(69),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._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(69)&&(this._matchBrackets=this._editor.getOption(69),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(e.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(e.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}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)&&!n[1].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[1].getStartPosition();else{const t=e.bracketPairs.findNextBracket(i);t&&t.range&&(o=t.range.getStartPosition())}}return o?new S.Y(o.lineNumber,o.column,o.lineNumber,o.column):new S.Y(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(B.e.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 S.Y(r.lineNumber,r.column,a.lineNumber,a.column))})),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach((i=>{const n=i.getPosition();let o=t.bracketPairs.matchBracket(n);o||(o=t.bracketPairs.findEnclosingBrackets(n)),o&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:o[0],text:""},{range:o[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(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);const o=[];let s=0;for(let t=0,i=e.length;t1&&o.sort(W.L.compare);const r=[];let a=0,l=0;const d=n.length;for(let e=0,i=o.length;e0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}(0,w.Qr)(ie);var ne=i(16268),oe=i(1432),se=i(35715),re=i(11640),ae=i(84972),le=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="9_cutcopypaste",ce=oe.tY||document.queryCommandSupported("cut"),he=oe.tY||document.queryCommandSupported("copy"),ue=void 0!==navigator.clipboard&&!ne.isFirefox||document.queryCommandSupported("paste");function ge(e){return e.register(),e}const pe=ce?ge(new w.AJ({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:oe.tY?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:U.eH.MenubarEditMenu,group:"2_ccp",title:y.NC({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:U.eH.EditorContext,group:de,title:y.NC("actions.clipboard.cutLabel","Cut"),when:L.u.writable,order:1},{menuId:U.eH.CommandPalette,group:"",title:y.NC("actions.clipboard.cutLabel","Cut"),order:1},{menuId:U.eH.SimpleEditorContext,group:de,title:y.NC("actions.clipboard.cutLabel","Cut"),when:L.u.writable,order:1}]})):void 0,me=he?ge(new w.AJ({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:oe.tY?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:U.eH.MenubarEditMenu,group:"2_ccp",title:y.NC({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:U.eH.EditorContext,group:de,title:y.NC("actions.clipboard.copyLabel","Copy"),order:2},{menuId:U.eH.CommandPalette,group:"",title:y.NC("actions.clipboard.copyLabel","Copy"),order:1},{menuId:U.eH.SimpleEditorContext,group:de,title:y.NC("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;U.BH.appendMenuItem(U.eH.MenubarEditMenu,{submenu:U.eH.MenubarCopy,title:{value:y.NC("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3}),U.BH.appendMenuItem(U.eH.EditorContext,{submenu:U.eH.EditorContextCopy,title:{value:y.NC("copy as","Copy As"),original:"Copy As"},group:de,order:3}),U.BH.appendMenuItem(U.eH.EditorContext,{submenu:U.eH.EditorContextShare,title:{value:y.NC("share","Share"),original:"Share"},group:"11_share",order:-1,when:k.Ao.and(k.Ao.notEquals("resourceScheme","output"),L.u.editorTextFocus)}),U.BH.appendMenuItem(U.eH.EditorTitleContext,{submenu:U.eH.EditorTitleContextShare,title:{value:y.NC("share","Share"),original:"Share"},group:"11_share",order:-1}),U.BH.appendMenuItem(U.eH.ExplorerContext,{submenu:U.eH.ExplorerContextShare,title:{value:y.NC("share","Share"),original:"Share"},group:"11_share",order:-1});const fe=ue?ge(new w.AJ({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:oe.tY?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:U.eH.MenubarEditMenu,group:"2_ccp",title:y.NC({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:U.eH.EditorContext,group:de,title:y.NC("actions.clipboard.pasteLabel","Paste"),when:L.u.writable,order:4},{menuId:U.eH.CommandPalette,group:"",title:y.NC("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:U.eH.SimpleEditorContext,group:de,title:y.NC("actions.clipboard.pasteLabel","Paste"),when:L.u.writable,order:4}]})):void 0;class _e extends w.R6{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:y.NC("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,weight:100}})}run(e,t){if(!t.hasModel())return;!t.getOption(35)&&t.getSelection().isEmpty()||(se.RA.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),se.RA.forceCopyWithSyntaxHighlighting=!1)}}function ve(e,t){e&&(e.addImplementation(1e4,"code-editor",((e,i)=>{const n=e.get(re.$).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const e=n.getOption(35),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))))}ve(pe,"cut"),ve(me,"copy"),fe&&(fe.addImplementation(1e4,"code-editor",((e,t)=>{const i=e.get(re.$),n=e.get(ae.p),o=i.getFocusedCodeEditor();if(o&&o.hasTextFocus()){return!(!document.execCommand("paste")&&oe.$L)||le(void 0,void 0,void 0,(function*(){const e=yield n.readText();if(""!==e){const t=se.Nl.INSTANCE.get(e);let i=!1,n=null,s=null;t&&(i=o.getOption(35)&&!!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})}}))}return!1})),fe.addImplementation(0,"generic-dom",((e,t)=>(document.execCommand("paste"),!0)))),he&&(0,w.Qr)(_e);var Ce,be=i(800),we=i(97295),Se=i(9488),Le=i(71050),ye=i(17301),ke=i(70666),Ne=i(66007),xe=i(71922),Ie=i(73733),Te=i(16467),De=i(94565),Me=i(59422),Re=i(90535),Pe=i(10829),Ee=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 Oe{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+Oe.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new Oe(this.value+Oe.sep+e)}}function Ae(e,t,i){return!!t.contains(e)&&(!i||!t.contains(i))}Oe.sep=".",Oe.None=new Oe("@@none@@"),Oe.Empty=new Oe(""),Oe.QuickFix=new Oe("quickfix"),Oe.Refactor=new Oe("refactor"),Oe.RefactorExtract=Oe.Refactor.append("extract"),Oe.RefactorInline=Oe.Refactor.append("inline"),Oe.RefactorMove=Oe.Refactor.append("move"),Oe.RefactorRewrite=Oe.Refactor.append("rewrite"),Oe.Source=new Oe("source"),Oe.SourceOrganizeImports=Oe.Source.append("organizeImports"),Oe.SourceFixAll=Oe.Source.append("fixAll"),Oe.SurroundWith=Oe.Refactor.append("surround"),function(e){e.Refactor="refactor",e.RefactorPreview="refactor preview",e.Lightbulb="lightbulb",e.Default="other (default)",e.SourceAction="source action",e.QuickFix="quick fix action",e.FixAll="fix all",e.OrganizeImports="organize imports",e.AutoFix="auto fix",e.QuickFixHover="quick fix hover window",e.OnSave="save participants",e.ProblemsView="problems view"}(Ce||(Ce={}));class Fe{static fromUser(e,t){return e&&"object"==typeof e?new Fe(Fe.getKindFromUser(e,t.kind),Fe.getApplyFromUser(e,t.apply),Fe.getPreferredUser(e)):new Fe(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 Oe(e.kind):t}static getPreferredUser(e){return"boolean"==typeof e.preferred&&e.preferred}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class Ve{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return Ee(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){(0,ye.Cp)(e)}t&&(this.action.edit=t.edit)}return this}))}}var We=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 Be="editor.action.codeAction",He="editor.action.quickFix",ze="editor.action.autoFix",Ue="editor.action.refactor",je="editor.action.sourceAction",qe="editor.action.organizeImports",Ke="editor.action.fixAll";class Ge extends A.JT{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return(0,Se.Of)(e.diagnostics)?(0,Se.Of)(t.diagnostics)?Ge.codeActionsPreferredComparator(e,t):-1:(0,Se.Of)(t.diagnostics)?1:Ge.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Ge.codeActionsComparator),this.validActions=this.allActions.filter((({action:e})=>!e.disabled))}get hasAutoFix(){return this.validActions.some((({action:e})=>!!e.kind&&Oe.QuickFix.contains(new Oe(e.kind))&&!!e.isPreferred))}}const $e={actions:[],documentation:void 0};function Ze(e,t,i,n,o,s){var r;return We(this,void 0,void 0,(function*(){const a=n.filter||{},l={only:null===(r=a.include)||void 0===r?void 0:r.value,trigger:n.type},d=new Te.YQ(t,s),c=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=>Ae(t,i,e.include)))||!e.includeSourceActions&&Oe.Source.contains(t))}(i,new Oe(e))))))}(e,t,a),h=new A.SL,u=c.map((e=>We(this,void 0,void 0,(function*(){try{o.report(e);const n=yield e.provideCodeActions(t,i,l,d.token);if(n&&h.add(n),d.token.isCancellationRequested)return $e;const s=((null==n?void 0:n.actions)||[]).filter((e=>e&&function(e,t){const i=t.kind?new Oe(t.kind):void 0;return!(!(!e.include||i&&e.include.contains(i))||e.excludes&&i&&e.excludes.some((t=>Ae(i,t,e.include)))||!e.includeSourceActions&&i&&Oe.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 Oe(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 Oe(e.kind)))return t.command;return}(e,s,a.include);return{actions:s.map((t=>new Ve(t,e))),documentation:r}}catch(e){if((0,ye.n2)(e))throw e;return(0,ye.Cp)(e),$e}})))),g=e.onDidChange((()=>{const i=e.all(t);(0,Se.fS)(i,c)||d.cancel()}));try{const i=yield Promise.all(u),o=i.map((e=>e.actions)).flat(),s=[...(0,Se.kX)(i.map((e=>e.documentation))),...Qe(e,t,n,o)];return new Ge(o,s,h)}finally{g.dispose(),d.dispose()}}))}function*Qe(e,t,i,n){var o,s,r;if(t&&n.length)for(const a of e.all(t))a._getAdditionalMenuItems&&(yield*null===(o=a._getAdditionalMenuItems)||void 0===o?void 0:o.call(a,{trigger:i.type,only:null===(r=null===(s=i.filter)||void 0===s?void 0:s.include)||void 0===r?void 0:r.value},n.map((e=>e.action))))}var Ye;function Je(e,t,i,n,o=Le.T.None){var s;return We(this,void 0,void 0,(function*(){const r=e.get(Ne.vu),a=e.get(De.H),l=e.get(Pe.b),d=e.get(Me.lT);if(l.publicLog2("codeAction.applyCodeAction",{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:i}),yield t.resolve(o),!o.isCancellationRequested){if(null===(s=t.action.edit)||void 0===s?void 0:s.edits.length){if(!(yield r.apply(t.action.edit,{editor:null==n?void 0:n.editor,label:t.action.title,quotableLabel:t.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:i!==Ye.OnSave,showPreview:null==n?void 0:n.preview})).isApplied)return}if(t.action.command)try{yield a.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);d.error("string"==typeof t?t:y.NC("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}}))}!function(e){e.OnSave="onSave",e.FromProblemsView="fromProblemsView",e.FromCodeActions="fromCodeActions"}(Ye||(Ye={})),De.P.registerCommand("_executeCodeActionProvider",(function(e,t,i,n,o){return We(this,void 0,void 0,(function*(){if(!(t instanceof ke.o))throw(0,ye.b1)();const{codeActionProvider:s}=e.get(xe.p),r=e.get(Ie.q).getModel(t);if(!r)throw(0,ye.b1)();const a=S.Y.isISelection(i)?S.Y.liftSelection(i):B.e.isIRange(i)?r.validateRange(i):void 0;if(!a)throw(0,ye.b1)();const l="string"==typeof n?new Oe(n):void 0,d=yield Ze(s,r,a,{type:1,triggerAction:Ce.Default,filter:{includeSourceActions:!0,include:l}},Re.Ex.None,Le.T.None),c=[],h=Math.min(d.validActions.length,"number"==typeof o?o:0);for(let e=0;ee.action))}finally{setTimeout((()=>d.dispose()),100)}}))}));var Xe=i(79579),et=i(65321),tt=i(91847),it=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},nt=function(e,t){return function(i,n){t(i,n,e)}};let ot=class e{constructor(e){this.keybindingService=e}getResolver(){const t=new Xe.o((()=>this.keybindingService.getKeybindings().filter((t=>e.codeActionCommands.indexOf(t.command)>=0)).filter((e=>e.resolvedKeybinding)).map((e=>{let t=e.commandArgs;return e.command===qe?t={kind:Oe.SourceOrganizeImports.value}:e.command===Ke&&(t={kind:Oe.SourceFixAll.value}),Object.assign({resolvedKeybinding:e.resolvedKeybinding},Fe.fromUser(t,{kind:Oe.None,apply:"never"}))}))));return e=>{if(e.kind){const i=this.bestKeybindingForCodeAction(e,t.value);return null==i?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Oe(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)}};ot.codeActionCommands=[Ue,Be,je,qe,Ke],ot=it([nt(0,tt.d)],ot);i(89899);var st=i(73046);i(22368);const rt=Object.freeze({kind:Oe.Empty,title:(0,y.NC)("codeAction.widget.id.more","More Actions...")}),at=Object.freeze([{kind:Oe.QuickFix,title:(0,y.NC)("codeAction.widget.id.quickfix","Quick Fix...")},{kind:Oe.RefactorExtract,title:(0,y.NC)("codeAction.widget.id.extract","Extract..."),icon:st.l.wrench},{kind:Oe.RefactorInline,title:(0,y.NC)("codeAction.widget.id.inline","Inline..."),icon:st.l.wrench},{kind:Oe.RefactorRewrite,title:(0,y.NC)("codeAction.widget.id.convert","Rewrite..."),icon:st.l.wrench},{kind:Oe.RefactorMove,title:(0,y.NC)("codeAction.widget.id.move","Move..."),icon:st.l.wrench},{kind:Oe.SurroundWith,title:(0,y.NC)("codeAction.widget.id.surround","Surround With..."),icon:st.l.symbolSnippet},{kind:Oe.Source,title:(0,y.NC)("codeAction.widget.id.source","Source Action..."),icon:st.l.symbolFile},rt]);var lt=i(65807),dt={};dt.styleTagTransform=v(),dt.setAttributes=p(),dt.insert=u().bind(null,"head"),dt.domAPI=c(),dt.insertStyleElement=f();l()(lt.Z,dt);lt.Z&<.Z.locals&<.Z.locals;var ct=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},ht=function(e,t){return function(i,n){t(i,n,e)}};let ut=class e{static get(t){return t.getContribution(e.ID)}constructor(t,i){this._messageWidget=new A.XK,this._messageListeners=new A.SL,this._editor=t,this._visible=e.MESSAGE_VISIBLE.bindTo(i)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){let i;(0,o.Z9)(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new pt(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 O._F((()=>this.closeMessage()),3e3)),this._messageListeners.add(this._editor.onMouseMove((e=>{e.target.position&&(i?i.containsPosition(e.target.position)||this.closeMessage():i=new B.e(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(pt.fadeOut(this._messageWidget.value))}};ut.ID="editor.contrib.messageController",ut.MESSAGE_VISIBLE=new k.uy("messageVisible",!1,y.NC("messageVisible","Whether the editor is currently showing an inline message")),ut=ct([ht(1,k.i6)],ut);const gt=w._l.bindToContribution(ut.get);(0,w.fK)(new gt({id:"leaveEditorMessage",precondition:ut.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));class pt{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}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},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";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")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",2===e)}}(0,w._K)(ut.ID,ut,4);var mt=i(3904),ft=i(33108),_t=i(72065),vt=i(10553),Ct=i(4669),bt=i(25670),wt=i(98401),St=i(32874),Lt={};Lt.styleTagTransform=v(),Lt.setAttributes=p(),Lt.insert=u().bind(null,"head"),Lt.domAPI=c(),Lt.insertStyleElement=f();l()(St.Z,Lt);St.Z&&St.Z.locals&&St.Z.locals;var yt,kt=i(59616),Nt=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},xt=function(e,t){return function(i,n){t(i,n,e)}};!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}}}(yt||(yt={}));let It=class e extends A.JT{constructor(e,t){super(),this._editor=e,this._onClick=this._register(new Ct.Q5),this.onClick=this._onClick.event,this._state=yt.Hidden,this._domNode=et.$("div.lightBulbWidget"),this._register(vt.o.ignoreTarget(this._domNode)),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()}))),this._register(et.GQ(this._domNode,(e=>{if(1!==this.state.type)return;this._editor.focus(),e.preventDefault();const{top:t,height:i}=et.i(this._domNode),n=this._editor.getOption(64);let o=Math.floor(n/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1==(1&e.buttons)&&this.hide()}))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(62)&&!this._editor.getOption(62).enabled&&this.hide()}))),this._register(Ct.ju.runAndSubscribe(t.onDidUpdateKeybindings,(()=>{var e,i;this._preferredKbLabel=(0,wt.f6)(null===(e=t.lookupKeybinding(ze))||void 0===e?void 0:e.getLabel()),this._quickFixKbLabel=(0,wt.f6)(null===(i=t.lookupKeybinding(He))||void 0===i?void 0:i.getLabel()),this._updateLightBulbTitleAndIcon()})))}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(62).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,d=o.get(48),c=s.getLineContent(r),h=(0,kt.q)(c,l),u=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1);let g=r;if(!(d.spaceWidth*h>22))if(r>1&&!u(r-1))g-=1;else if(u(r+1)){if(a*d.spaceWidth<22)return this.hide()}else g+=1;this.state=new yt.Showing(t,i,n,{position:{lineNumber:g,column:1},preference:e._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==yt.Hidden&&(this.state=yt.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){1===this.state.type&&this.state.actions.hasAutoFix&&(this._domNode.classList.remove(...bt.k.asClassNameArray(st.l.lightBulb)),this._domNode.classList.add(...bt.k.asClassNameArray(st.l.lightbulbAutofix)),this._preferredKbLabel)?this.title=y.NC("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):(this._domNode.classList.remove(...bt.k.asClassNameArray(st.l.lightbulbAutofix)),this._domNode.classList.add(...bt.k.asClassNameArray(st.l.lightBulb)),this._quickFixKbLabel?this.title=y.NC("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):this.title=y.NC("codeAction","Show Code Actions"))}set title(e){this._domNode.title=e}};It.ID="editor.contrib.lightbulbWidget",It._posPref=[0],It=Nt([xt(1,tt.d)],It);var Tt,Dt=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},Mt=function(e,t){return function(i,n){t(i,n,e)}},Rt=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())}))},Pt=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");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i},Et=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)};let Ot=class extends A.JT{constructor(e,t,i,n,o,s){super(),this._editor=e,this.delegate=t,this._configurationService=n,this._actionWidgetService=o,this._commandService=s,this._activeCodeActions=this._register(new A.XK),Tt.set(this,!1),this._showDisabled=!1,this._lightBulbWidget=new Xe.o((()=>{const e=this._editor.getContribution(It.ID);return e&&this._register(e.onClick((e=>this.showCodeActionList(e.actions,e,{includeDisabledActions:!1,fromLightbulb:!0})))),e})),this._resolver=i.createInstance(ot),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){Pt(this,Tt,!0,"f"),super.dispose()}update(e){var t,i,n,o,s,r,a;return Rt(this,void 0,void 0,(function*(){if(1!==e.type)return void(null===(t=this._lightBulbWidget.rawValue)||void 0===t||t.hide());let l;try{l=yield e.actions}catch(e){return void(0,ye.dL)(e)}if(!Et(this,Tt,"f"))if(null===(i=this._lightBulbWidget.value)||void 0===i||i.update(l,e.trigger,e.position),1===e.trigger.type){if(null===(n=e.trigger.filter)||void 0===n?void 0:n.include){const t=this.tryGetValidActionToApply(e.trigger,l);if(t){try{null===(o=this._lightBulbWidget.value)||void 0===o||o.hide(),yield this.delegate.applyCodeAction(t,!1,!1)}finally{l.dispose()}return}if(e.trigger.context){const t=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,l);if(t&&t.action.disabled)return null===(s=ut.get(this._editor))||void 0===s||s.showMessage(t.action.disabled,e.trigger.context.position),void l.dispose()}}const t=!!(null===(r=e.trigger.filter)||void 0===r?void 0:r.include);if(e.trigger.context&&(!l.allActions.length||!t&&!l.validActions.length))return null===(a=ut.get(this._editor))||void 0===a||a.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=l,void l.dispose();this._activeCodeActions.value=l,this.showCodeActionList(l,this.toCoords(e.position),{includeDisabledActions:t,fromLightbulb:!1})}else this._actionWidgetService.isVisible?l.dispose():this._activeCodeActions.value=l}))}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){return Rt(this,void 0,void 0,(function*(){const n=this._editor.getDomNode();if(!n)return;const o=i.includeDisabledActions&&(this._showDisabled||0===e.validActions.length)?e.allActions:e.validActions;if(!o.length)return;const s=W.L.isIPosition(t)?this.toCoords(t):t,r={onSelect:(e,t)=>Rt(this,void 0,void 0,(function*(){this.delegate.applyCodeAction(e,!0,!!t),this._actionWidgetService.hide()})),onHide:()=>{var e;null===(e=this._editor)||void 0===e||e.focus()}};this._actionWidgetService.show("codeActionWidget",!0,function(e,t,i){if(!t)return e.map((e=>({kind:"action",item:e,group:rt,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title})));const n=at.map((e=>({group:e,actions:[]})));for(const t of e){const e=t.action.kind?new Oe(t.action.kind):Oe.None;for(const i of n)if(i.group.kind.contains(e)){i.actions.push(t);break}}const o=[];for(const e of n)if(e.actions.length){o.push({kind:"header",group:e.group});for(const t of e.actions)o.push({kind:"action",item:t,group:e.group,label:t.action.title,disabled:!!t.action.disabled,keybinding:i(t.action)})}return o}(o,this._shouldShowHeaders(),this._resolver.getResolver()),r,s,n,this._getActionBarActions(e,t,i))}))}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=(0,et.i)(this._editor.getDomNode());return{x:i.left+t.left,y:i.top+t.top+t.height}}_shouldShowHeaders(){var e;const t=null===(e=this._editor)||void 0===e?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==t?void 0:t.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map((e=>{var t;return{id:e.id,label:e.title,tooltip:null!==(t=e.tooltip)&&void 0!==t?t:"",class:void 0,enabled:!0,run:()=>{var t;return this._commandService.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}}}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:(0,y.NC)("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:(0,y.NC)("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}};Tt=new WeakMap,Ot=Dt([Mt(2,_t.TG),Mt(3,ft.Ui),Mt(4,mt.v),Mt(5,De.H)],Ot);var At,Ft=i(98674),Vt=i(95935),Wt=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)},Bt=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");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i};const Ht=new k.uy("supportedCodeAction","");class zt extends A.JT{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new O._F),this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some((e=>(0,Vt.Xy)(e,t.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:Ce.Default})}),this._delay)}_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}}var Ut;!function(e){e.Empty={type:0};e.Triggered=class{constructor(e,t,i){this.trigger=e,this.position=t,this._cancellablePromise=i,this.type=1,this.actions=i.catch((e=>{if((0,ye.n2)(e))return jt;throw e}))}cancel(){this._cancellablePromise.cancel()}}}(Ut||(Ut={}));const jt=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1});class qt extends A.JT{constructor(e,t,i,n,o){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=o,this._codeActionOracle=this._register(new A.XK),this._state=Ut.Empty,this._onDidChangeState=this._register(new Ct.Q5),this.onDidChangeState=this._onDidChangeState.event,At.set(this,!1),this._supportedCodeActions=Ht.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(){Wt(this,At,"f")||(Bt(this,At,!0,"f"),super.dispose(),this.setState(Ut.Empty,!0))}_update(){if(Wt(this,At,"f"))return;this._codeActionOracle.value=void 0,this.setState(Ut.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(87)){const t=this._registry.all(e).flatMap((e=>{var t;return null!==(t=e.providedCodeActionKinds)&&void 0!==t?t:[]}));this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new zt(this._editor,this._markerService,(t=>{var i;if(!t)return void this.setState(Ut.Empty);const n=(0,O.PG)((i=>Ze(this._registry,e,t.selection,t.trigger,Re.Ex.None,i)));1===t.trigger.type&&(null===(i=this._progressService)||void 0===i||i.showWhile(n,250)),this.setState(new Ut.Triggered(t.trigger,t.selection.getStartPosition(),n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Ce.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;null===(t=this._codeActionOracle.value)||void 0===t||t.trigger(e)}setState(e,t){e!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=e,t||Wt(this,At,"f")||this._onDidChangeState.fire(e))}}At=new WeakMap;var Kt=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},Gt=function(e,t){return function(i,n){t(i,n,e)}},$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())}))};let Zt=class e extends A.JT{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o,s){super(),this._instantiationService=o,this._editor=e,this._model=this._register(new qt(this._editor,s.codeActionProvider,t,i,n)),this._register(this._model.onDidChangeState((e=>this._ui.value.update(e)))),this._ui=new Xe.o((()=>this._register(o.createInstance(Ot,e,{applyCodeAction:(e,t,i)=>$t(this,void 0,void 0,(function*(){try{yield this._applyCodeAction(e,i)}finally{t&&this._trigger({type:2,triggerAction:Ce.QuickFix,filter:{}})}}))}))))}showCodeActions(e,t,i){return this._ui.value.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var o;if(!this._editor.hasModel())return;null===(o=ut.get(this._editor))||void 0===o||o.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}_applyCodeAction(e,t){return this._instantiationService.invokeFunction(Je,e,Ye.FromCodeActions,{preview:t,editor:this._editor})}};function Qt(e){return k.Ao.regex(Ht.keys()[0],new RegExp("(\\s|^)"+(0,we.ec)(e.value)+"\\b"))}Zt.ID="editor.contrib.codeActionController",Zt=Kt([Gt(1,Ft.lT),Gt(2,k.i6),Gt(3,Re.ek),Gt(4,_t.TG),Gt(5,xe.p)],Zt);const Yt={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:y.NC("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:y.NC("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[y.NC("args.schema.apply.first","Always apply the first returned code action."),y.NC("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),y.NC("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:y.NC("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Jt(e,t,i,n,o=Ce.Default){if(e.hasModel()){const s=Zt.get(e);null==s||s.manualTriggerAtCurrentPosition(t,o,i,n)}}class Xt extends w.R6{constructor(){super({id:He,label:y.NC("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:k.Ao.and(L.u.writable,L.u.hasCodeActionsProvider),kbOpts:{kbExpr:L.u.textInputFocus,primary:2132,weight:100}})}run(e,t){return Jt(t,y.NC("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Ce.QuickFix)}}class ei extends w._l{constructor(){super({id:Be,precondition:k.Ao.and(L.u.writable,L.u.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:Yt}]}})}runEditorCommand(e,t,i){const n=Fe.fromUser(i,{kind:Oe.Empty,apply:"ifSingle"});return Jt(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?y.NC("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):y.NC("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?y.NC("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):y.NC("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class ti extends w.R6{constructor(){super({id:Ue,label:y.NC("refactor.label","Refactor..."),alias:"Refactor...",precondition:k.Ao.and(L.u.writable,L.u.hasCodeActionsProvider),kbOpts:{kbExpr:L.u.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:k.Ao.and(L.u.writable,Qt(Oe.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:Yt}]}})}run(e,t,i){const n=Fe.fromUser(i,{kind:Oe.Refactor,apply:"never"});return Jt(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?y.NC("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):y.NC("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?y.NC("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):y.NC("editor.action.refactor.noneMessage","No refactorings available"),{include:Oe.Refactor.contains(n.kind)?n.kind:Oe.None,onlyIncludePreferredActions:n.preferred},n.apply,Ce.Refactor)}}class ii extends w.R6{constructor(){super({id:je,label:y.NC("source.label","Source Action..."),alias:"Source Action...",precondition:k.Ao.and(L.u.writable,L.u.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:k.Ao.and(L.u.writable,Qt(Oe.Source))},description:{description:"Source Action...",args:[{name:"args",schema:Yt}]}})}run(e,t,i){const n=Fe.fromUser(i,{kind:Oe.Source,apply:"never"});return Jt(t,"string"==typeof(null==i?void 0:i.kind)?n.preferred?y.NC("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):y.NC("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?y.NC("editor.action.source.noneMessage.preferred","No preferred source actions available"):y.NC("editor.action.source.noneMessage","No source actions available"),{include:Oe.Source.contains(n.kind)?n.kind:Oe.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Ce.SourceAction)}}class ni extends w.R6{constructor(){super({id:qe,label:y.NC("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:k.Ao.and(L.u.writable,Qt(Oe.SourceOrganizeImports)),kbOpts:{kbExpr:L.u.textInputFocus,primary:1581,weight:100}})}run(e,t){return Jt(t,y.NC("editor.action.organize.noneMessage","No organize imports action available"),{include:Oe.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Ce.OrganizeImports)}}class oi extends w.R6{constructor(){super({id:Ke,label:y.NC("fixAll.label","Fix All"),alias:"Fix All",precondition:k.Ao.and(L.u.writable,Qt(Oe.SourceFixAll))})}run(e,t){return Jt(t,y.NC("fixAll.noneMessage","No fix all action available"),{include:Oe.SourceFixAll,includeSourceActions:!0},"ifSingle",Ce.FixAll)}}class si extends w.R6{constructor(){super({id:ze,label:y.NC("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:k.Ao.and(L.u.writable,Qt(Oe.QuickFix)),kbOpts:{kbExpr:L.u.textInputFocus,primary:1620,mac:{primary:2644},weight:100}})}run(e,t){return Jt(t,y.NC("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Oe.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Ce.AutoFix)}}var ri=i(23193),ai=i(89872);(0,w._K)(Zt.ID,Zt,3),(0,w._K)(It.ID,It,4),(0,w.Qr)(Xt),(0,w.Qr)(ti),(0,w.Qr)(ii),(0,w.Qr)(ni),(0,w.Qr)(si),(0,w.Qr)(oi),(0,w.fK)(new ei),ai.B.as(ri.IP.Configuration).registerConfiguration(Object.assign(Object.assign({},be.wk),{properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y.NC("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}}));var li=i(43407),di=i(64141),ci=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 hi{constructor(){this.lenses=[],this._disposables=new A.SL}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 ui(e,t,i){return ci(this,void 0,void 0,(function*(){const n=e.ordered(t),o=new Map,s=new hi,r=n.map(((e,n)=>ci(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){(0,ye.Cp)(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}))}De.P.registerCommand("_executeCodeLensProvider",(function(e,...t){let[i,n]=t;(0,wt.p_)(ke.o.isUri(i)),(0,wt.p_)("number"==typeof n||!n);const{codeLensProvider:o}=e.get(xe.p),s=e.get(Ie.q).getModel(i);if(!s)throw(0,ye.b1)();const r=[],a=new A.SL;return ui(o,s,Le.T.None).then((e=>{a.add(e);const 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,Le.T.None)).then((e=>r.push(e||i.symbol))));return Promise.all(t)})).then((()=>r)).finally((()=>{setTimeout((()=>a.dispose()),100)}))}));var gi=i(88289),pi=i(43702),mi=i(65026),fi=i(52365),_i=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},vi=function(e,t){return function(i,n){t(i,n,e)}};const Ci=(0,_t.yh)("ICodeLensCache");class bi{constructor(e,t){this.lineCount=e,this.data=t}}let wi=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new pi.z6(20,.75);(0,O.To)((()=>e.remove("codelens/cache",1)));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i),(0,gi.I)(e.onWillSaveState)((i=>{i.reason===fi.fk.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 hi;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new bi(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 B.e(e,1,e,11)});const o=new hi;o.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new bi(i.lineCount,o))}}catch(e){}}};wi=_i([vi(0,fi.Uy)],wi),(0,mi.z)(Ci,wi,1);var Si=i(56811),Li=i(32849),yi={};yi.styleTagTransform=v(),yi.setAttributes=p(),yi.insert=u().bind(null,"head"),yi.domAPI=c(),yi.insertStyleElement=f();l()(Li.Z,yi);Li.Z&&Li.Z.locals&&Li.Z.locals;class ki{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class Ni{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+Ni._idPool++,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let t=0;t{e.symbol.command&&a.push(e.symbol),i.addDecoration({range:e.symbol.range,options:Ii},(e=>this._decorationIds[t]=e)),r=r?B.e.plusRange(r,e.symbol.range):B.e.lift(e.symbol.range)})),this._viewZone=new ki(r.startLineNumber-1,o,s),this._viewZoneId=n.addZone(this._viewZone),a.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(a,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new Ni(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],null==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||B.e.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:Ii},(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;t=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},Pi=function(e,t){return function(i,n){t(i,n,e)}},Ei=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 Oi=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 A.SL,this._localToDispose=new A.SL,this._lenses=[],this._oldCodeLensModels=new A.SL,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new O.pY((()=>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(48)||e.hasChanged(17)||e.hasChanged(16))&&this._updateLensStyle(),e.hasChanged(15)&&this._onModelChange()}))),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(64)/this._editor.getOption(50));let t=this._editor.getOption(17);return(!t||t<5)&&(t=.9*this._editor.getOption(50)|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(16),n=this._editor.getOption(48),{style:o}=this._editor.getContainerDomNode();o.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),o.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),o.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(o.setProperty("--vscode-editorCodeLens-fontFamily",i),o.setProperty("--vscode-editorCodeLens-fontFamilyDefault",di.hL.fontFamily)),this._editor.changeViewZones((t=>{for(const 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(15))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e))return void(t&&this._localToDispose.add((0,O.Vg)((()=>{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){const e=t.onDidChange((()=>i.schedule()));this._localToDispose.add(e)}const i=new O.pY((()=>{var t;const n=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=(0,O.PG)((t=>ui(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()}),ye.dL)}),this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add((0,A.OF)((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const i=[];let n=-1;this._lenses.forEach((e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)}));const o=new xi;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((0,A.OF)((()=>{if(this._editor.getModel()){const e=li.Z.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){const 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 xi;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;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const o of e.lenses){const e=o.symbol.range.startLineNumber;e<1||e>t||(n&&n[n.length-1].symbol.range.startLineNumber===e?n.push(o):(n=[o],i.push(n)))}if(!i.length&&!this._lenses.length)return;const o=li.Z.capture(this._editor),s=this._getLayoutInfo();this._editor.changeDecorations((e=>{this._editor.changeViewZones((t=>{const n=new xi;let o=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),o++,r++)}for(;othis._resolveCodeLensesInViewportSoon()))),r++;n.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=(0,O.PG)((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}),ye.Cp)));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=>{(0,ye.dL)(e),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}getModel(){return this._currentCodeLensModel}};Oi.ID="css.editor.codeLens",Oi=Ri([Pi(1,xe.p),Pi(2,Mi.A),Pi(3,De.H),Pi(4,Me.lT),Pi(5,Ci)],Oi),(0,w._K)(Oi.ID,Oi,1),(0,w.Qr)(class extends w.R6{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:L.u.hasCodeLensProvider,label:(0,y.NC)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return Ei(this,void 0,void 0,(function*(){if(!t.hasModel())return;const i=e.get(Di.eJ),n=e.get(De.H),o=e.get(Me.lT),s=t.getSelection().positionLineNumber,r=t.getContribution(Oi.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 d=yield i.pick(l,{canPickMany:!1});if(d){if(a.isDisposed)return yield n.executeCommand(this.id);try{yield n.executeCommand(d.command.id,...d.command.arguments||[])}catch(e){o.error(e)}}}))}});var Ai=i(41264),Fi=i(84013),Vi=i(29994);function Wi(e,t,i,n){return Promise.resolve(i.provideColorPresentations(e,t,n))}De.P.registerCommand("_executeDocumentColorProvider",(function(e,...t){const[i]=t;if(!(i instanceof ke.o))throw(0,ye.b1)();const{colorProvider:n}=e.get(xe.p),o=e.get(Ie.q).getModel(i);if(!o)throw(0,ye.b1)();const s=[],r=n.ordered(o).reverse().map((e=>Promise.resolve(e.provideDocumentColors(o,Le.T.None)).then((e=>{if(Array.isArray(e))for(const 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))})),De.P.registerCommand("_executeColorPresentationProvider",(function(e,...t){const[i,n]=t,{uri:o,range:s}=n;if(!(o instanceof ke.o&&Array.isArray(i)&&4===i.length&&B.e.isIRange(s)))throw(0,ye.b1)();const[r,a,l,d]=i,{colorProvider:c}=e.get(xe.p),h=e.get(Ie.q).getModel(o);if(!h)throw(0,ye.b1)();const u={range:s,color:{red:r,green:a,blue:l,alpha:d}},g=[],p=c.ordered(h).reverse().map((e=>Promise.resolve(e.provideColorPresentations(h,u,Le.T.None)).then((e=>{Array.isArray(e)&&g.push(...e)}))));return Promise.all(p).then((()=>g))}));var Bi=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},Hi=function(e,t){return function(i,n){t(i,n,e)}},zi=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 Ui=Object.create({});let ji=class e extends A.JT{constructor(t,i,n,o){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=n,this._localToDispose=this._register(new A.SL),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new Vi.t7(this._editor),this._decoratorLimitReporter=new qi,this._colorDecorationClassRefs=this._register(new A.SL),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((e=>{const t=this._isEnabled;this._isEnabled=this.isEnabled();(t!==this._isEnabled||e.hasChanged(19))&&(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(18)}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 O._F,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(e)))}))),this.beginCompute())}beginCompute(){this._computePromise=(0,O.PG)((e=>zi(this,void 0,void 0,(function*(){const t=this._editor.getModel();if(!t)return Promise.resolve([]);const i=new Fi.G(!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(const 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}),ye.dL)}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:z.qx.EMPTY})));this._editor.changeDecorations((i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach(((t,i)=>this._colorDatas.set(t,e[i])))}))}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(19);for(let n=0;nthis._colorDatas.has(e.id)));return 0===i.length?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};ji.ID="editor.contrib.colorDetector",ji.RECOMPUTE_TIME=1e3,ji=Bi([Hi(1,ft.Ui),Hi(2,xe.p),Hi(3,Mi.A)],ji);class qi{constructor(){this._onDidChange=new Ct.Q5,this._computed=0,this._limited=!1}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}(0,w._K)(ji.ID,ji,1);class Ki{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)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new Ct.Q5,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Ct.Q5,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Ct.Q5,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let e=0;e{this.backgroundColor=e.getColor(j.yJx)||Ai.Il.white}))),this._register(et.nm(this.pickedColorNode,et.tw.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(et.nm(o,et.tw.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=Ai.Il.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=Ai.Il.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(Yi(".codicon.codicon-color-mode"))}}class Xi extends A.JT{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this.domNode=Yi(".colorpicker-body"),et.R3(e,this.domNode),this.saturationBox=new en(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 nn(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 on(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 Ai.Il(new Ai.tx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ai.Il(new Ai.tx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=360*(1-e);this.model.color=new Ai.Il(new Ai.tx(360===i?0:i,t.s,t.v,t.a))}layout(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()}}class en extends A.JT{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Ct.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=Yi(".saturation-wrap"),et.R3(e,this.domNode),this.canvas=document.createElement("canvas"),this.canvas.className="saturation-box",et.R3(this.domNode,this.canvas),this.selection=Yi(".saturation-selection"),et.R3(this.domNode,this.selection),this.layout(),this._register(et.nm(this.domNode,et.tw.POINTER_DOWN,(e=>this.onPointerDown(e)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;this.monitor=this._register(new Gi.C);const t=et.i(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top)),(()=>null));const i=et.nm(document,et.tw.POINTER_UP,(()=>{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 Ai.Il(new Ai.tx(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=Ai.Il.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 tn extends A.JT{constructor(e,t){super(),this.model=t,this._onDidChange=new Ct.Q5,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Ct.Q5,this.onColorFlushed=this._onColorFlushed.event,this.domNode=et.R3(e,Yi(".strip")),this.overlay=et.R3(this.domNode,Yi(".overlay")),this.slider=et.R3(this.domNode,Yi(".slider")),this.slider.style.top="0px",this._register(et.nm(this.domNode,et.tw.POINTER_DOWN,(e=>this.onPointerDown(e)))),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._register(new Gi.C),i=et.i(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,(e=>this.onDidChangeTop(e.pageY-i.top)),(()=>null));const n=et.nm(document,et.tw.POINTER_UP,(()=>{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 nn extends tn{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 Ai.Il(new Ai.VS(t,i,n,1)),s=new Ai.Il(new Ai.VS(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${o} 0%, ${s} 100%)`}getValue(e){return e.hsva.a}}class on extends tn{constructor(e,t){super(e,t),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class sn extends $i.${constructor(e,t,i,n){super(),this.model=t,this.pixelRatio=i,this._register(ne.PixelRatio.onDidChange((()=>this.layout())));const o=Yi(".colorpicker-widget");e.appendChild(o);const s=new Ji(o,this.model,n);this.body=new Xi(o,this.model,this.pixelRatio),this._register(s),this._register(this.body)}layout(){this.body.layout()}}var rn=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},an=function(e,t){return function(i,n){t(i,n,e)}},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())}))};class dn{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 cn=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return O.Aq.fromPromise(this._computeAsync(e,t,i))}_computeAsync(e,t,i){return ln(this,void 0,void 0,(function*(){if(!this._editor.hasModel())return[];const e=ji.get(this._editor);if(!e)return[];for(const i of t){if(!e.isColorDecoration(i))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 ln(this,void 0,void 0,(function*(){const n=e.getValueInRange(t.range),{red:o,green:s,blue:r,alpha:a}=t.color,l=new Ai.VS(Math.round(255*o),Math.round(255*s),Math.round(255*r),a),d=new Ai.Il(l),c=yield Wi(e,t,i,Le.T.None),h=new Ki(d,[],0);return h.colorPresentations=c||[],h.guessColorPresentation(d,n),new dn(this,B.e.lift(t.range),h,i)}))}renderHoverParts(e,t){if(0===t.length||!this._editor.hasModel())return A.JT.None;const i=new A.SL,n=t[0],o=this._editor.getModel(),s=n.model,r=i.add(new sn(e.fragment,s,this._editor.getOption(137),this._themeService));e.setColorPicker(r);let a=new B.e(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 B.e(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},d=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,Le.T.None).then((e=>{s.colorPresentations=e||[]}));return i.add(s.onColorFlushed((e=>{d(e).then(l)}))),i.add(s.onDidChangeColor(d)),i}};cn=rn([an(1,q.XE)],cn);var hn=i(72042),un=i(33257),gn={};gn.styleTagTransform=v(),gn.setAttributes=p(),gn.insert=u().bind(null,"head"),gn.domAPI=c(),gn.insertStyleElement=f();l()(un.Z,gn);un.Z&&un.Z.locals&&un.Z.locals;var pn=i(88216);function mn(e,t){return!!e[t]}class fn{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=mn(e.event,t.triggerModifier),this.hasSideBySideModifier=mn(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class _n{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=mn(e,t.triggerModifier)}}class vn{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 Cn(e){return"altKey"===e?oe.dz?new vn(57,"metaKey",6,"altKey"):new vn(5,"ctrlKey",6,"altKey"):oe.dz?new vn(6,"altKey",57,"metaKey"):new vn(6,"altKey",5,"ctrlKey")}class bn extends A.JT{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Ct.Q5),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Ct.Q5),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Ct.Q5),this.onCancel=this._onCancel.event,this._editor=e,this._alwaysFireExecuteOnMouseUp=t,this._opts=Cn(this._editor.getOption(75)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(75)){const e=Cn(this._editor.getOption(75));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 fn(e,this._opts))))),this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new fn(e,this._opts))))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new fn(e,this._opts))))),this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new _n(e,this._opts))))),this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new _n(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._alwaysFireExecuteOnMouseUp)&&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 wn=i(81774),Sn=i(65520),Ln=i(84527),yn=i(96887),kn=i(51522),Nn=i(1293),xn=i(49989),In=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},Tn=function(e,t){return function(i,n){t(i,n,e)}};const Dn=new k.uy("hasSymbols",!1,(0,y.NC)("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Mn=(0,_t.yh)("ISymbolNavigationService");let Rn=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=Dn.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 Pn(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((0,Vt.Xy)(e.uri,n.uri))s=!0,r=r||B.e.containsPosition(e.range,o);else if(s)break;s&&r||this.reset()}));this._currentState=(0,A.F8)(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:B.e.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?(0,y.NC)("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):(0,y.NC)("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};Rn=In([Tn(0,k.i6),Tn(1,re.$),Tn(2,Me.lT),Tn(3,tt.d)],Rn),(0,mi.z)(Mn,Rn,1),(0,w.fK)(new class extends w._l{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:Dn,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(Mn).revealNext(t)}}),xn.W.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:Dn,primary:9,handler(e){e.get(Mn).reset()}});let Pn=class{constructor(e){this._listener=new Map,this._disposables=new A.SL,this._onDidChange=new Ct.Q5,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(),(0,A.B9)(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,(0,A.F8)(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)}};Pn=In([Tn(0,re.$)],Pn);var En=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 On(e,t,i,n){return En(this,void 0,void 0,(function*(){const o=i.ordered(e).map((i=>Promise.resolve(n(i,e,t)).then(void 0,(e=>{(0,ye.Cp)(e)})))),s=yield Promise.all(o);return(0,Se.kX)(s.flat())}))}function An(e,t,i,n){return On(t,i,e,((e,t,i)=>e.provideDefinition(t,i,n)))}function Fn(e,t,i,n){return On(t,i,e,((e,t,i)=>e.provideDeclaration(t,i,n)))}function Vn(e,t,i,n){return On(t,i,e,((e,t,i)=>e.provideImplementation(t,i,n)))}function Wn(e,t,i,n){return On(t,i,e,((e,t,i)=>e.provideTypeDefinition(t,i,n)))}function Bn(e,t,i,n,o){return On(t,i,e,((e,t,i)=>En(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 Hn(e){return En(this,void 0,void 0,(function*(){const t=yield e(),i=new Nn.oQ(t,""),n=i.references.map((e=>e.link));return i.dispose(),n}))}(0,w.sb)("_executeDefinitionProvider",((e,t,i)=>{const n=An(e.get(xe.p).definitionProvider,t,i,Le.T.None);return Hn((()=>n))})),(0,w.sb)("_executeTypeDefinitionProvider",((e,t,i)=>{const n=Wn(e.get(xe.p).typeDefinitionProvider,t,i,Le.T.None);return Hn((()=>n))})),(0,w.sb)("_executeDeclarationProvider",((e,t,i)=>{const n=Fn(e.get(xe.p).declarationProvider,t,i,Le.T.None);return Hn((()=>n))})),(0,w.sb)("_executeReferenceProvider",((e,t,i)=>{const n=Bn(e.get(xe.p).referenceProvider,t,i,!1,Le.T.None);return Hn((()=>n))})),(0,w.sb)("_executeImplementationProvider",((e,t,i)=>{const n=Vn(e.get(xe.p).implementationProvider,t,i,Le.T.None);return Hn((()=>n))}));var zn,Un,jn,qn,Kn,Gn,$n,Zn,Qn=i(53725),Yn=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())}))};U.BH.appendMenuItem(U.eH.EditorContext,{submenu:U.eH.EditorContextPeek,title:y.NC("peek.submenu","Peek"),group:"navigation",order:100});class Jn{static is(e){return!(!e||"object"!=typeof e)&&(e instanceof Jn||!(!W.L.isIPosition(e.position)||!e.model))}constructor(e,t){this.model=e,this.position=t}}class Xn extends w.x1{static all(){return Xn._allSymbolNavigationCommands.values()}static _patchConfig(e){const t=Object.assign(Object.assign({},e),{f1:!0});if(t.menu)for(const i of Qn.$.wrap(t.menu))i.id!==U.eH.EditorContext&&i.id!==U.eH.EditorContextPeek||(i.when=k.Ao.and(e.precondition,i.when));return t}constructor(e,t){super(Xn._patchConfig(t)),this.configuration=e,Xn._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Me.lT),r=e.get(re.$),a=e.get(Re.ek),l=e.get(Mn),d=e.get(xe.p),c=e.get(_t.TG),h=t.getModel(),u=t.getPosition(),g=Jn.is(i)?i:new Jn(h,u),p=new Te.Dl(t,5),m=(0,O.eP)(this._getLocationModel(d,g.model,g.position,p.token),p.token).then((e=>Yn(this,void 0,void 0,(function*(){var s;if(!e||p.token.isCancellationRequested)return;let a;if((0,o.Z9)(e.ariaMessage),e.referenceAt(h.uri,u)){const e=this._getAlternativeCommand(t);!Xn._activeAlternativeCommands.has(e)&&Xn._allSymbolNavigationCommands.has(e)&&(a=Xn._allSymbolNavigationCommands.get(e))}const d=e.references.length;if(0===d){if(!this.configuration.muteMessage){const e=h.getWordAtPosition(u);null===(s=ut.get(t))||void 0===s||s.showMessage(this._getNoResultFoundMessage(e),u)}}else{if(1!==d||!a)return this._onResult(r,l,t,e,n);Xn._activeAlternativeCommands.add(this.desc.id),c.invokeFunction((e=>a.runEditorCommand(e,t,i,n).finally((()=>{Xn._activeAlternativeCommands.delete(this.desc.id)}))))}}))),(e=>{s.error(e)})).finally((()=>{p.dispose()}));return a.showWhile(m,250),m}_onResult(e,t,i,n,o){return Yn(this,void 0,void 0,(function*(){const s=this._getGoToPreference(i);if(i instanceof Ln.H||!(this.configuration.openInPeek||"peek"===s&&n.references.length>1)){const r=n.firstReference(),a=n.references.length>1&&"gotoAndPeek"===s,l=yield this._openReference(i,e,r,this.configuration.openToSide,!a);a&&l?this._openInPeek(l,n,o):n.dispose(),"goto"===s&&t.put(r)}else this._openInPeek(i,n,o)}))}_openReference(e,t,i,n,o){return Yn(this,void 0,void 0,(function*(){let s;if((0,yn.vx)(i)&&(s=i.targetSelectionRange),s||(s=i.range),!s)return;const r=yield t.openCodeEditor({resource:i.uri,options:{selection:B.e.collapseToStart(s),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(r){if(o){const e=r.getModel(),t=r.createDecorationsCollection([{range:s,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{r.getModel()===e&&t.clear()}),350)}return r}}))}_openInPeek(e,t,i){const n=kn.J.get(e);n&&e.hasModel()?n.toggleWidget(null!=i?i:e.getSelection(),(0,O.PG)((e=>Promise.resolve(t))),this.configuration.openInPeek):t.dispose()}}Xn._allSymbolNavigationCommands=new Map,Xn._activeAlternativeCommands=new Set;class eo extends Xn{_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield An(e.definitionProvider,t,i,n),y.NC("def.title","Definitions"))}))}_getNoResultFoundMessage(e){return e&&e.word?y.NC("noResultWord","No definition found for '{0}'",e.word):y.NC("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(56).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(56).multipleDefinitions}}const to=oe.$L&&!(0,ne.isStandalone)()?2118:70;(0,U.r1)(((zn=class e extends eo{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{value:y.NC("actions.goToDecl.label","Go to Definition"),original:"Go to Definition",mnemonicTitle:y.NC({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:k.Ao.and(L.u.hasDefinitionProvider,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:to,weight:100},menu:[{id:U.eH.EditorContext,group:"navigation",order:1.1},{id:U.eH.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),De.P.registerCommandAlias("editor.action.goToDeclaration",e.id)}}).id="editor.action.revealDefinition",zn)),(0,U.r1)(((Un=class e extends eo{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:{value:y.NC("actions.goToDeclToSide.label","Open Definition to the Side"),original:"Open Definition to the Side"},precondition:k.Ao.and(L.u.hasDefinitionProvider,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:(0,r.gx)(2089,to),weight:100}}),De.P.registerCommandAlias("editor.action.openDeclarationToTheSide",e.id)}}).id="editor.action.revealDefinitionAside",Un)),(0,U.r1)(((jn=class e extends eo{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:{value:y.NC("actions.previewDecl.label","Peek Definition"),original:"Peek Definition"},precondition:k.Ao.and(L.u.hasDefinitionProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:U.eH.EditorContextPeek,group:"peek",order:2}}),De.P.registerCommandAlias("editor.action.previewDeclaration",e.id)}}).id="editor.action.peekDefinition",jn));class io extends Xn{_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield Fn(e.declarationProvider,t,i,n),y.NC("decl.title","Declarations"))}))}_getNoResultFoundMessage(e){return e&&e.word?y.NC("decl.noResultWord","No declaration found for '{0}'",e.word):y.NC("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(56).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(56).multipleDeclarations}}(0,U.r1)(((qn=class e extends io{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{value:y.NC("actions.goToDeclaration.label","Go to Declaration"),original:"Go to Declaration",mnemonicTitle:y.NC({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:k.Ao.and(L.u.hasDeclarationProvider,L.u.isInWalkThroughSnippet.toNegated()),menu:[{id:U.eH.EditorContext,group:"navigation",order:1.3},{id:U.eH.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?y.NC("decl.noResultWord","No declaration found for '{0}'",e.word):y.NC("decl.generic.noResults","No declaration found")}}).id="editor.action.revealDeclaration",qn)),(0,U.r1)(class extends io{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:y.NC("actions.peekDecl.label","Peek Declaration"),original:"Peek Declaration"},precondition:k.Ao.and(L.u.hasDeclarationProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),menu:{id:U.eH.EditorContextPeek,group:"peek",order:3}})}});class no extends Xn{_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield Wn(e.typeDefinitionProvider,t,i,n),y.NC("typedef.title","Type Definitions"))}))}_getNoResultFoundMessage(e){return e&&e.word?y.NC("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y.NC("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(56).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(56).multipleTypeDefinitions}}(0,U.r1)(((Kn=class e extends no{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{value:y.NC("actions.goToTypeDefinition.label","Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:y.NC({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:k.Ao.and(L.u.hasTypeDefinitionProvider,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:0,weight:100},menu:[{id:U.eH.EditorContext,group:"navigation",order:1.4},{id:U.eH.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",Kn)),(0,U.r1)(((Gn=class e extends no{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:{value:y.NC("actions.peekTypeDefinition.label","Peek Type Definition"),original:"Peek Type Definition"},precondition:k.Ao.and(L.u.hasTypeDefinitionProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),menu:{id:U.eH.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",Gn));class oo extends Xn{_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield Vn(e.implementationProvider,t,i,n),y.NC("impl.title","Implementations"))}))}_getNoResultFoundMessage(e){return e&&e.word?y.NC("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y.NC("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(56).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(56).multipleImplementations}}(0,U.r1)((($n=class e extends oo{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{value:y.NC("actions.goToImplementation.label","Go to Implementations"),original:"Go to Implementations",mnemonicTitle:y.NC({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:k.Ao.and(L.u.hasImplementationProvider,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:2118,weight:100},menu:[{id:U.eH.EditorContext,group:"navigation",order:1.45},{id:U.eH.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",$n)),(0,U.r1)(((Zn=class e extends oo{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:{value:y.NC("actions.peekImplementation.label","Peek Implementations"),original:"Peek Implementations"},precondition:k.Ao.and(L.u.hasImplementationProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:3142,weight:100},menu:{id:U.eH.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",Zn));class so extends Xn{_getNoResultFoundMessage(e){return e?y.NC("references.no","No references found for '{0}'",e.word):y.NC("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(56).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(56).multipleReferences}}(0,U.r1)(class extends so{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:y.NC("goToReferences.label","Go to References"),original:"Go to References",mnemonicTitle:y.NC({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:k.Ao.and(L.u.hasReferenceProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),keybinding:{when:L.u.editorTextFocus,primary:1094,weight:100},menu:[{id:U.eH.EditorContext,group:"navigation",order:1.45},{id:U.eH.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield Bn(e.referenceProvider,t,i,!0,n),y.NC("ref.title","References"))}))}}),(0,U.r1)(class extends so{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:y.NC("references.action.label","Peek References"),original:"Peek References"},precondition:k.Ao.and(L.u.hasReferenceProvider,wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated()),menu:{id:U.eH.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(yield Bn(e.referenceProvider,t,i,!1,n),y.NC("ref.title","References"))}))}});class ro extends Xn{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:{value:y.NC("label.generic","Go to Any Symbol"),original:"Go to Any Symbol"},precondition:k.Ao.and(wn.Jy.notInPeekEditor,L.u.isInWalkThroughSnippet.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}_getLocationModel(e,t,i,n){return Yn(this,void 0,void 0,(function*(){return new Nn.oQ(this._references,y.NC("generic.title","Locations"))}))}_getNoResultFoundMessage(e){return e&&y.NC("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return null!==(t=this._gotoMultipleBehaviour)&&void 0!==t?t:e.getOption(56).multipleReferences}_getAlternativeCommand(){return""}}De.P.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:ke.o},{name:"position",description:"The position at which to start",constraint:W.L.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)=>Yn(void 0,void 0,void 0,(function*(){(0,wt.p_)(ke.o.isUri(t)),(0,wt.p_)(W.L.isIPosition(i)),(0,wt.p_)(Array.isArray(n)),(0,wt.p_)(void 0===o||"string"==typeof o),(0,wt.p_)(void 0===r||"boolean"==typeof r);const a=e.get(re.$),l=yield a.openCodeEditor({resource:t},a.getFocusedCodeEditor());if((0,Sn.CL)(l))return l.setPosition(i),l.revealPositionInCenterIfOutsideViewport(i,0),l.invokeWithinContext((e=>{const t=new class extends ro{_getNoResultFoundMessage(e){return s||super._getNoResultFoundMessage(e)}}({muteMessage:!Boolean(s),openInPeek:Boolean(r),openToSide:!1},n,o);e.get(_t.TG).invokeFunction(t.run.bind(t),l)}))}))}),De.P.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:ke.o},{name:"position",description:"The position at which to start",constraint:W.L.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)=>Yn(void 0,void 0,void 0,(function*(){e.get(De.H).executeCommand("editor.action.goToLocations",t,i,n,o,void 0,!0)}))}),De.P.registerCommand({id:"editor.action.findReferences",handler:(e,t,i)=>{(0,wt.p_)(ke.o.isUri(t)),(0,wt.p_)(W.L.isIPosition(i));const n=e.get(xe.p),o=e.get(re.$);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then((e=>{if(!(0,Sn.CL)(e)||!e.hasModel())return;const t=kn.J.get(e);if(!t)return;const o=(0,O.PG)((t=>Bn(n.referenceProvider,e.getModel(),W.L.lift(i),!1,t).then((e=>new Nn.oQ(e,y.NC("ref.title","References")))))),s=new B.e(i.lineNumber,i.column,i.lineNumber,i.column);return Promise.resolve(t.toggleWidget(s,o,!1))}))}}),De.P.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var ao=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},lo=function(e,t){return function(i,n){t(i,n,e)}},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())}))};let ho=class e{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new A.SL,this.toUnhookForKeyboard=new A.SL,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const o=new bn(e);this.toUnhook.add(o),this.toUnhook.add(o.onMouseMoveOrRelevantKeyDown((([e,t])=>{this.startFindDefinitionFromMouse(e,(0,wt.f6)(t))}))),this.toUnhook.add(o.onExecute((e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch((e=>{(0,ye.dL)(e)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(o.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(e.ID)}startFindDefinitionFromCursor(e){return co(this,void 0,void 0,(function*(){yield this.startFindDefinition(e),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;return co(this,void 0,void 0,(function*(){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,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return;this.currentWordAtPosition=i;const n=new Te.yy(this.editor,15);let o;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,O.PG)((t=>this.findDefinition(e,t)));try{o=yield this.previousPromise}catch(e){return void(0,ye.dL)(e)}if(!o||!o.length||!n.validate(this.editor))return void this.removeLinkDecorations();const r=o[0].originSelectionRange?B.e.lift(o[0].originSelectionRange):new B.e(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);if(o.length>1){let e=r;for(const{originSelectionRange:t}of o)t&&(e=B.e.plusRange(e,t));this.addDecoration(e,(new s.W5).appendText(y.NC("multipleResults","Click to show {0} definitions.",o.length)))}else{const e=o[0];if(!e.uri)return;this.textModelResolverService.createModelReference(e.uri).then((t=>{if(!t.object||!t.object.textEditorModel)return void t.dispose();const{object:{textEditorModel:i}}=t,{startLineNumber:n}=e.range;if(n<1||n>i.getLineCount())return void t.dispose();const o=this.getPreviewValue(i,n,e),a=this.languageService.guessLanguageIdByFilepathOrFirstLine(i.uri);this.addDecoration(r,o?(new s.W5).appendCodeblock(a||"",o):void 0),t.dispose()}))}}))}getPreviewValue(t,i,n){let o=n.range;o.endLineNumber-o.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(t,i));return this.stripIndentationFromPreviewRange(t,i,o)}stripIndentationFromPreviewRange(e,t,i){let n=e.getLineFirstNonWhitespaceColumn(t);for(let o=t+1;o{const i=!t&&this.editor.getOption(84)&&!this.isInPeekEditor(e);return new eo({openToSide:t,openInPeek:i,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e)}))}isInPeekEditor(e){const t=e.get(k.i6);return wn.Jy.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};ho.ID="editor.contrib.gotodefinitionatposition",ho.MAX_SOURCE_PREVIEW_LINES=8,ho=ao([lo(1,pn.S),lo(2,hn.O),lo(3,xe.p)],ho),(0,w._K)(ho.ID,ho,2);var uo=i(82246),go=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())}))},po=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)}))}}};class mo{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}}class fo extends A.JT{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Ct.Q5),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new O.pY((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new O.pY((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new O.pY((()=>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(58).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=(0,O.zS)((e=>this._computer.computeAsync(e))),(()=>{go(this,void 0,void 0,(function*(){var e,t,i,n;try{try{for(var o,s=!0,r=po(this._asyncIterable);!(e=(o=yield r.next()).done);){n=o.value,s=!1;try{const e=n;e&&(this._result.push(e),this._fireResult())}finally{s=!0}}}catch(e){t={error:e}}finally{try{s||e||!(i=r.return)||(yield i.call(r))}finally{if(t)throw t.error}}this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(e){(0,ye.dL)(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 mo(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 _o{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,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 vo{constructor(e,t,i,n,o,s){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=o,this.supportsMarkerHover=s,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 Co=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var bo=i(75392);class wo{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};const e=this.pos;let t,i=0,n=this.value.charCodeAt(e);if(t=wo._table[n],"number"==typeof t)return this.pos+=1,{type:t,pos:e,len:1};if(wo.isDigitCharacter(n)){t=8;do{i+=1,n=this.value.charCodeAt(e+i)}while(wo.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}if(wo.isVariableCharacter(n)){t=9;do{n=this.value.charCodeAt(e+ ++i)}while(wo.isVariableCharacter(n)||wo.isDigitCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}t=10;do{i+=1,n=this.value.charCodeAt(e+i)}while(!isNaN(n)&&void 0===wo._table[n]&&!wo.isDigitCharacter(n)&&!wo.isVariableCharacter(n));return this.pos+=i,{type:t,pos:e,len:i}}}wo._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class So{constructor(){this._children=[]}appendChild(e){return e instanceof Lo&&this._children[this._children.length-1]instanceof Lo?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 rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof Mo)return e;e=e.parent}}toString(){return this.children.reduce(((e,t)=>e+t.toString()),"")}len(){return 0}}class Lo extends So{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Lo(this.value)}}class yo extends So{}class ko extends yo{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof No?this._children[0]:void 0}clone(){const e=new ko(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}class No extends So{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Lo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new No;return this.options.forEach(e.appendChild,e),e}}class xo extends So{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 Io&&Boolean(e.elseValue)))&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Io){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new xo;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 Io extends So{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))).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(((e,t)=>0===t?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1))).join(""):e}clone(){return new Io(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class To extends yo{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 Lo(t)],!0)}clone(){const e=new To(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((e=>e.clone())),e}}function Do(e,t){const i=[...e];for(;i.length>0;){const e=i.shift();if(!t(e))break;i.unshift(...e.children)}}class Mo extends So{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk((function(i){return i instanceof ko&&(e.push(i),t=!t||t.indexn===e?(i=!0,!1):(t+=n.len(),!0))),i?t:-1}fullLen(e){let t=0;return Do([e],(e=>(t+=e.len(),!0))),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ko&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk((t=>(t instanceof To&&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(){const e=new Mo;return this._children=this.children.map((e=>e.clone())),e}walk(e){Do(this.children,e)}}class Ro{constructor(){this._scanner=new wo,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){const n=new Mo;return this.parseFragment(e,n),this.ensureFinalTabstop(n,null!=i&&i,null!=t&&t),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,o=[];t.walk((e=>(e instanceof ko&&(e.isFinalTabstop?n.set(0,void 0):!n.has(e.index)&&e.children.length>0?n.set(e.index,e.children):o.push(e)),!0)));const s=(e,i)=>{const o=n.get(e.index);if(!o)return;const r=new ko(e.index);r.transform=e.transform;for(const e of o){const t=e.clone();r.appendChild(t),t instanceof ko&&n.has(t.index)&&!i.has(t.index)&&(i.add(t.index),s(t,i),i.delete(t.index))}t.replace(e,[r])},r=new Set;for(const e of o)s(e,r);return t.children.slice(i)}ensureFinalTabstop(e,t,i){if(t||i&&e.placeholders.length>0){e.placeholders.find((e=>0===e.index))||e.appendChild(new ko(0))}}_accept(e,t){if(void 0===e||this._token.type===e){const 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 Lo(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 ko(Number(t)):new To(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 ko(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new Lo("${"+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 No;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 Lo(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 To(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 Lo("${"+t+":")),n.children.forEach(e.appendChild,e),!0}}_parseTransform(e){const t=new xo;let 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 Lo(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);const n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!i)return e.appendChild(new Io(Number(n))),!0;if(this._accept(4))return e.appendChild(new Io(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){const i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new Io(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){const t=this._until(4);if(t)return e.appendChild(new Io(Number(n),void 0,t,void 0)),!0}else if(this._accept(12)){const t=this._until(4);if(t)return e.appendChild(new Io(Number(n),void 0,void 0,t)),!0}else if(this._accept(13)){const t=this._until(1);if(t){const i=this._until(4);if(i)return e.appendChild(new Io(Number(n),void 0,t,i)),!0}}else{const t=this._until(4);if(t)return e.appendChild(new Io(Number(n),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return 14!==this._token.type&&(e.appendChild(new Lo(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}var Po=i(80143),Eo=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 Oo={Visible:Po.iX,HasFocusedSuggestion:new k.uy("suggestWidgetHasFocusedSuggestion",!1,(0,y.NC)("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new k.uy("suggestWidgetDetailsVisible",!1,(0,y.NC)("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new k.uy("suggestWidgetMultipleSuggestions",!1,(0,y.NC)("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new k.uy("suggestionMakesTextEdit",!0,(0,y.NC)("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new k.uy("acceptSuggestionOnEnter",!0,(0,y.NC)("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new k.uy("suggestionHasInsertAndReplaceRange",!1,(0,y.NC)("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new k.uy("suggestionInsertMode",void 0,{type:"string",description:(0,y.NC)("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new k.uy("suggestionCanResolve",!1,(0,y.NC)("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Ao=new U.eH("suggestWidgetStatusBar");class Fo{constructor(e,t,i,n){var o;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=bo.CL.Default,this.distance=0,this.textLabel="string"==typeof t.label?t.label:null===(o=t.label)||void 0===o?void 0:o.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,B.e.isIRange(t.range)?(this.editStart=new W.L(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new W.L(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new W.L(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||B.e.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new W.L(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new W.L(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new W.L(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||B.e.spansMultipleLines(t.range.insert)||B.e.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 Eo(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=>{(0,ye.n2)(e)&&(this._resolveCache=void 0,this._isResolved=!1)}))}return this._resolveCache}))}}class Vo{constructor(e=2,t=new Set,i=new Set,n=new Map,o=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=o}}let Wo;Vo.default=new Vo;class Bo{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}function Ho(e,t,i,n=Vo.default,o={triggerKind:0},s=Le.T.None){return Eo(this,void 0,void 0,(function*(){const r=new Fi.G(!0);i=i.clone();const a=t.getWordAtPosition(i),l=a?new B.e(i.lineNumber,a.startColumn,i.lineNumber,a.endColumn):B.e.fromPositions(i),d={replace:l,insert:l.setEndPosition(i.lineNumber,i.column)},c=[],h=new A.SL,u=[];let g=!1;const p=(e,t,o)=>{var s,r,a;let l=!1;if(!t)return l;for(const 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=d),o.sortText||(o.sortText="string"==typeof o.label?o.label:o.label.label),!g&&o.insertTextRules&&4&o.insertTextRules&&(g=Ro.guessNeedsClipboard(o.insertText)),c.push(new Fo(i,o,t,e)),l=!0}return(0,A.Wf)(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=(()=>Eo(this,void 0,void 0,(function*(){})))();for(const r of e.orderedGroups(t)){let e=!1;if(yield Promise.all(r.map((r=>Eo(this,void 0,void 0,(function*(){if(n.providerItemsToReuse.has(r)){const t=n.providerItemsToReuse.get(r);return t.forEach((e=>c.push(e))),void(e=e||t.length>0)}if(!(n.providerFilter.size>0)||n.providerFilter.has(r))try{const n=new Fi.G(!0),a=yield r.provideCompletionItems(t,i,o,s);e=p(r,a,n)||e}catch(e){(0,ye.Cp)(e)}}))))),e||s.isCancellationRequested)break}return yield m,s.isCancellationRequested?(h.dispose(),Promise.reject(new ye.FU)):new Bo(c.sort((f=n.snippetSortOrder,Uo.get(f))),g,{entries:u,elapsed:r.elapsed()},h);var f}))}function zo(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLowt.sortTextLow)return 1}return e.textLabelt.textLabel?1:e.completion.kind-t.completion.kind}const Uo=new Map;Uo.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 zo(e,t)})),Uo.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 zo(e,t)})),Uo.set(1,zo),De.P.registerCommand("_executeCompletionItemProvider",((e,...t)=>Eo(void 0,void 0,void 0,(function*(){const[i,n,o,s]=t;(0,wt.p_)(ke.o.isUri(i)),(0,wt.p_)(W.L.isIPosition(n)),(0,wt.p_)("string"==typeof o||!o),(0,wt.p_)("number"==typeof s||!s);const{completionProvider:r}=e.get(xe.p),a=yield e.get(pn.S).createModelReference(i);try{const e={incomplete:!1,suggestions:[]},t=[],i=a.object.textEditorModel.validatePosition(n),l=yield Ho(r,a.object.textEditorModel,i,void 0,{triggerCharacter:null!=o?o:void 0,triggerKind:o?1:0});for(const i of l.items)t.length<(null!=s?s:0)&&t.push(i.resolve(Le.T.None)),e.incomplete=e.incomplete||i.container.incomplete,e.suggestions.push(i.completion);try{return yield Promise.all(t),e}finally{setTimeout((()=>l.disposable.dispose()),100)}}finally{a.dispose()}}))));class jo{static isAllOff(e){return"off"===e.other&&"off"===e.comments&&"off"===e.strings}static isAllOn(e){return"on"===e.other&&"on"===e.comments&&"on"===e.strings}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}var qo=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},Ko=function(e,t){return function(i,n){t(i,n,e)}};const Go=et.$;let $o=class e extends A.JT{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._widget=this._register(this._instantiationService.createInstance(Jo,this._editor)),this._currentResult=null,this._participants=[];for(const e of Co.getAll())this._participants.push(this._instantiationService.createInstance(e,this._editor));this._participants.sort(((e,t)=>e.hoverOrdinal-t.hoverOrdinal)),this._computer=new es(this._editor,this._participants),this._hoverOperation=this._register(new fo(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{if(!this._computer.anchor)return;const t=e.hasLoadingMessage?this._addLoadingMessage(e.value):e.value;this._withResult(new Zo(this._computer.anchor,t,e.isComplete))}))),this._register(et.mu(this._widget.getDomNode(),"keydown",(e=>{e.equals(9)&&this.hide()}))),this._register(yn.RW.onDidChange((()=>{this._widget.position&&this._currentResult&&(this._widget.clear(),this._setCurrentResult(this._currentResult))})))}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 _o(0,i.range,e.event.posx,e.event.posy)),7===i.type){const n=this._editor.getOption(48).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&"number"==typeof i.detail.horizontalDistanceToText&&i.detail.horizontalDistanceToTextt.priority-e.priority)),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new _o(0,e,void 0,void 0),t,i,n,null)}_startShowingOrUpdateHover(e,t,i,n,o){if(!this._widget.position||!this._currentResult)return!!e&&(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0);return this._editor.getOption(58).sticky&&o&&this._widget.isMouseGettingCloser(o.event.posx,o.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?!(!e||!this._currentResult.anchor.equals(e))||(e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0)):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,o){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=o,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&0===e.messages.length&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}isColorPickerVisible(){return this._widget.isColorPickerVisible}isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}isVisible(){return this._widget.isVisible}containsNode(e){return this._widget.getDomNode().contains(e)}_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){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!e.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===e.messages.length)return}this._setCurrentResult(e)}_renderMessages(t,i){const{showAtPosition:n,showAtSecondaryPosition:o,highlightRange:s}=e.computeHoverRanges(this._editor,t.range,i),r=new A.SL,a=r.add(new Xo(this._keybindingService)),l=document.createDocumentFragment();let d=null;const c={fragment:l,statusBar:a,setColorPicker:e=>d=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(c,t))}const h=i.some((e=>e.isBeforeContent));if(a.hasContent&&l.appendChild(a.hoverElement),l.hasChildNodes()){if(s){const t=this._editor.createDecorationsCollection();t.set([{range:s,options:e._DECORATION_OPTIONS}]),r.add((0,A.OF)((()=>{t.clear()})))}this._widget.showAt(l,new Yo(d,n,o,this._editor.getOption(58).above,this._computer.shouldFocus,this._computer.source,h,t.initialMousePosX,t.initialMousePosY,r))}else r.dispose()}static computeHoverRanges(e,t,i){let n=1;if(e.hasModel()){const i=e._getViewModel(),o=i.coordinatesConverter,s=o.convertModelRangeToViewRange(t),r=new W.L(s.startLineNumber,i.getLineMinColumn(s.startLineNumber));n=o.convertViewPositionToModelPosition(r).column}const o=t.startLineNumber;let s=t.startColumn,r=i[0].range,a=null;for(const e of i)r=B.e.plusRange(r,e.range),e.range.startLineNumber===o&&e.range.endLineNumber===o&&(s=Math.max(Math.min(s,e.range.startColumn),n)),e.forceShowAtRange&&(a=e.range);return{showAtPosition:a?a.getStartPosition():new W.L(o,t.startColumn),showAtSecondaryPosition:a?a.getStartPosition():new W.L(o,s),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}escape(){this._widget.escape()}};$o._DECORATION_OPTIONS=z.qx.register({description:"content-hover-highlight",className:"hoverHighlight"}),$o=qo([Ko(1,_t.TG),Ko(2,tt.d)],$o);class Zo{constructor(e,t,i){this.anchor=e,this.messages=t,this.isComplete=i}filter(e){const t=this.messages.filter((t=>t.isValidForHoverAnchor(e)));return t.length===this.messages.length?this:new Qo(this,this.anchor,t,this.isComplete)}}class Qo extends Zo{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}class Yo{constructor(e,t,i,n,o,s,r,a,l,d){this.colorPicker=e,this.showAtPosition=t,this.showAtSecondaryPosition=i,this.preferAbove=n,this.stoleFocus=o,this.source=s,this.isBeforeContent=r,this.initialMousePosX=a,this.initialMousePosY=l,this.disposables=d,this.closestMouseDistance=void 0}}let Jo=class e extends A.JT{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)}get isVisibleFromKeyboard(){var e;return 1===(null===(e=this._visibleData)||void 0===e?void 0:e.source)}get isVisible(){var e;return null!==(e=this._hoverVisibleKey.get())&&void 0!==e&&e}constructor(e,t){super(),this._editor=e,this._contextKeyService=t,this.allowEditorOverflow=!0,this._hoverVisibleKey=L.u.hoverVisible.bindTo(this._contextKeyService),this._hoverFocusedKey=L.u.hoverFocused.bindTo(this._contextKeyService),this._hover=this._register(new uo.c),this._focusTracker=this._register(et.go(this.getDomNode())),this._horizontalScrollingBy=30,this._visibleData=null,this._register(this._editor.onDidLayoutChange((()=>this._layout()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(48)&&this._updateFont()}))),this._setVisibleData(null),this._layout(),this._editor.addContentWidget(this),this._register(this._focusTracker.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(this._focusTracker.onDidBlur((()=>{this._hoverFocusedKey.set(!1)})))}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;!e&&this._contextKeyService.getContextKeyValue(Oo.Visible.key)&&(e=!0);const t=this._visibleData.isBeforeContent?3:void 0;return{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,preference:e?[1,2]:[2,1],positionAffinity:t}}isMouseGettingCloser(e,t){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;const i=et.i(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=ts(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,i.left,i.top,i.width,i.height));const n=ts(e,t,i.left,i.top,i.width,i.height);return!(n>this._visibleData.closestMouseDistance+4)&&(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,n),!0)}_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(48);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){var i;this._setVisibleData(t),this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._hover.contentsDomNode.style.paddingBottom="",this._updateFont(),this.onContentsChanged(),this._editor.render(),this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),null===(i=t.colorPicker)||void 0===i||i.layout()}hide(){if(this._visibleData){const e=this._visibleData.stoleFocus;this._setVisibleData(null),this._editor.layoutContentWidget(this),e&&this._editor.focus()}}onContentsChanged(){this._editor.layoutContentWidget(this),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=""}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(48);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(48);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-this._horizontalScrollingBy})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+this._horizontalScrollingBy})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}escape(){this._editor.focus()}};Jo.ID="editor.contrib.contentHoverWidget",Jo=qo([Ko(1,k.i6)],Jo);let Xo=class extends A.JT{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=Go("div.hover-row.status-bar"),this.actionsElement=et.R3(this.hoverElement,Go("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(uo.S.render(this.actionsElement,e,i))}append(e){const t=et.R3(this.actionsElement,e);return this._hasContent=!0,t}};Xo=qo([Ko(0,tt.d)],Xo);class es{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(1!==t.type&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const 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 O.Aq.EMPTY;const i=es._getLineDecorations(this._editor,t);return O.Aq.merge(this._participants.map((n=>n.computeAsync?n.computeAsync(t,i,e):O.Aq.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=es._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return(0,Se.kX)(t)}}function ts(e,t,i,n,o,s){const r=i+o/2,a=n+s/2,l=Math.max(Math.abs(e-r)-o/2,0),d=Math.max(Math.abs(t-a)-s/2,0);return Math.sqrt(l*l+d*d)}var is=i(77352),ns=i(81615),os={};os.styleTagTransform=v(),os.setAttributes=p(),os.insert=u().bind(null,"head"),os.domAPI=c(),os.insertStyleElement=f();l()(ns.Z,os);ns.Z&&ns.Z.locals&&ns.Z.locals;var ss,rs=i(52136),as=i(68801),ls=i(82963),ds=i(50988),cs=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},hs=function(e,t){return function(i,n){t(i,n,e)}},us=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 gs=class e{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new Ct.Q5,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e){return{element:document.createElement("span"),dispose:()=>{}}}const n=new A.SL,o=n.add((0,is.ap)(e,Object.assign(Object.assign({},this._getRenderOptions(e,n)),t),i));return o.element.classList.add("rendered-markdown"),{element:o.element,dispose:()=>n.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:(t,i)=>us(this,void 0,void 0,(function*(){var n,o,s;let r;t?r=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(r=null===(n=this._options.editor.getModel())||void 0===n?void 0:n.getLanguageId()),r||(r=as.bd);const a=yield(0,ls.C2)(this._languageService,i,r),l=document.createElement("span");if(l.innerHTML=null!==(s=null===(o=e._ttpTokenizer)||void 0===o?void 0:o.createHTML(a))&&void 0!==s?s:a,this._options.editor){const e=this._options.editor.getOption(48);(0,rs.N)(l,e)}else this._options.codeBlockFontFamily&&(l.style.fontFamily=this._options.codeBlockFontFamily);return void 0!==this._options.codeBlockFontSize&&(l.style.fontSize=this._options.codeBlockFontSize),l})),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:e=>function(e,t,i){return us(this,void 0,void 0,(function*(){try{return yield e.open(t,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:ps(i)})}catch(e){return(0,ye.dL)(e),!1}}))}(this._openerService,e,t.isTrusted),disposables:i}}}};function ps(e){return!0===e||!(!e||!Array.isArray(e.enabledCommands))&&e.enabledCommands}gs._ttpTokenizer=null===(ss=window.trustedTypes)||void 0===ss?void 0:ss.createPolicy("tokenizeToString",{createHTML:e=>e}),gs=cs([hs(1,hn.O),hs(2,ds.v4)],gs);const ms=et.$;class fs extends A.JT{constructor(e,t,i){super(),this._renderDisposeables=this._register(new A.SL),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new uo.c),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new gs({editor:this._editor},t,i)),this._computer=new _s(this._editor),this._hoverOperation=this._register(new fo(this._editor,this._computer)),this._register(this._hoverOperation.onResult((e=>{this._withResult(e.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(48)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return fs.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((e=>this._editor.applyFontInfo(e)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e){this._computer.lineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const e of t){const t=ms("div.hover-row.markdown-hover"),n=et.R3(t,ms("div.hover-contents")),o=this._renderDisposeables.add(this._markdownRenderer.render(e.value));n.appendChild(o.element),i.appendChild(t)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),o=this._editor.getOption(64),s=i-n-(this._hover.containerDomNode.clientHeight-o)/2;this._hover.containerDomNode.style.left=`${t.glyphMarginLeft+t.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(s),0)}px`}}fs.ID="editor.contrib.modesGlyphHoverWidget";class _s{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}constructor(e){this._editor=e,this._lineNumber=-1}computeSync(){const e=e=>({value:e}),t=this._editor.getLineDecorations(this._lineNumber),i=[];if(!t)return i;for(const n of t){if(!n.options.glyphMarginClassName)continue;const t=n.options.glyphMarginHoverMessage;t&&!(0,s.CP)(t)&&i.push(...(0,Se._2)(t).map(e))}return i}}var vs=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 Cs{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}function bs(e,t,i,n){const o=e.ordered(t).map(((e,o)=>function(e,t,i,n,o){return vs(this,void 0,void 0,(function*(){try{const s=yield Promise.resolve(e.provideHover(i,n,o));if(s&&function(e){const t=void 0!==e.range,i=void 0!==e.contents&&e.contents&&e.contents.length>0;return t&&i}(s))return new Cs(e,s,t)}catch(e){(0,ye.Cp)(e)}}))}(e,o,t,i,n)));return O.Aq.fromPromises(o).coalesce()}(0,w.sb)("_executeHoverProvider",((e,t,i)=>function(e,t,i,n){return bs(e,t,i,n).map((e=>e.hover)).toPromise()}(e.get(xe.p).hoverProvider,t,i,Le.T.None)));var ws=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},Ss=function(e,t){return function(i,n){t(i,n,e)}};const Ls=et.$;class ys{constructor(e,t,i,n,o){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=o}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let ks=class{constructor(e,t,i,n,o){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new ys(this,e.range,[(new s.W5).appendText(y.NC("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,o=i.getLineMaxColumn(n),r=[];let a=1e3;const l=i.getLineLength(n),d=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),c=this._editor.getOption(112),h=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:d});let u=!1;c>=0&&l>c&&e.range.startColumn>=c&&(u=!0,r.push(new ys(this,e.range,[{value:y.NC("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!u&&"number"==typeof h&&l>=h&&r.push(new ys(this,e.range,[{value:y.NC("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let g=!1;for(const i of t){const t=i.range.startLineNumber===n?i.range.startColumn:1,l=i.range.endLineNumber===n?i.range.endColumn:o,d=i.options.hoverMessage;if(!d||(0,s.CP)(d))continue;i.options.beforeContentClassName&&(g=!0);const c=new B.e(e.range.startLineNumber,t,e.range.startLineNumber,l);r.push(new ys(this,c,(0,Se._2)(d),g,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||1!==e.type)return O.Aq.EMPTY;const n=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(n))return O.Aq.EMPTY;const o=new W.L(e.range.startLineNumber,e.range.startColumn);return bs(this._languageFeaturesService.hoverProvider,n,o,i).filter((e=>!(0,s.CP)(e.hover.contents))).map((t=>{const i=t.hover.range?B.e.lift(t.hover.range):e.range;return new ys(this,i,t.hover.contents,!1,t.ordinal)}))}renderHoverParts(e,t){return Ns(e,t,this._editor,this._languageService,this._openerService)}};function Ns(e,t,i,n,o){t.sort(((e,t)=>e.ordinal-t.ordinal));const r=new A.SL;for(const a of t)for(const t of a.contents){if((0,s.CP)(t))continue;const a=Ls("div.hover-row.markdown-hover"),l=et.R3(a,Ls("div.hover-contents")),d=r.add(new gs({editor:i},n,o));r.add(d.onDidRenderAsync((()=>{l.className="hover-contents code-hover-contents",e.onContentsChanged()})));const c=r.add(d.render(t));l.appendChild(c.element),e.fragment.appendChild(a)}return r}ks=ws([Ss(1,hn.O),Ss(2,ds.v4),Ss(3,ft.Ui),Ss(4,xe.p)],ks);var xs=i(36357),Is=i(91741),Ts=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},Ds=function(e,t){return function(i,n){t(i,n,e)}};class Ms{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let Rs=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Ct.Q5,this.onDidChange=this._onDidChange.event,this._dispoables=new A.SL,this._markers=[],this._nextIdx=-1,ke.o.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),o=(e,t)=>{let i=(0,we.qu)(e.resource.toString(),t.resource.toString());return 0===i&&(i="position"===n?B.e.compareRangesUsingStarts(e,t)||Ft.ZL.compare(e.severity,t.severity):Ft.ZL.compare(e.severity,t.severity)||B.e.compareRangesUsingStarts(e,t)),i},s=()=>{this._markers=this._markerService.read({resource:ke.o.isUri(e)?e:void 0,severities:Ft.ZL.Error|Ft.ZL.Warning|Ft.ZL.Info}),"function"==typeof e&&(this._markers=this._markers.filter((e=>this._resourceFilter(e.resource)))),this._markers.sort(o)};s(),this._dispoables.add(t.onMarkerChanged((e=>{this._resourceFilter&&!e.some((e=>this._resourceFilter(e)))||(s(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e||!(!this._resourceFilter||!e)&&this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new Ms(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,o=this._markers.findIndex((t=>t.resource.toString()===e.uri.toString()));o<0&&(o=(0,Se.ry)(this._markers,{resource:e.uri},((e,t)=>(0,we.qu)(e.resource.toString(),t.resource.toString()))),o<0&&(o=~o));for(let i=o;it.resource.toString()===e.toString()));if(!(i<0))for(;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},Us=function(e,t){return function(i,n){t(i,n,e)}};class js{constructor(e,t,i,n,o){this._openerService=n,this._labelService=o,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new A.SL,this._editor=t;const s=document.createElement("div");s.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(et.mu(this._relatedBlock,"click",(e=>{e.preventDefault();const t=this._relatedDiagnostics.get(e.target);t&&i(t)}))),this._scrollable=new As.NB(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((e=>{s.style.left=`-${e.scrollLeft}px`,s.style.top=`-${e.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){(0,A.B9)(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:o}=e;let s=((null==t?void 0:t.length)||0)+2;o&&(s+="string"==typeof o?o.length:o.value.length);const r=(0,we.uq)(i);this._lines=r.length,this._longestLineLength=0;for(const e of r)this._longestLineLength=Math.max(e.length+s,this._longestLineLength);et.PO(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let a=this._messageBlock;for(const e of r)a=document.createElement("div"),a.innerText=e,""===e&&(a.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(a);if(t||o){const e=document.createElement("span");if(e.classList.add("details"),a.appendChild(e),t){const i=document.createElement("span");i.innerText=t,i.classList.add("source"),e.appendChild(i)}if(o)if("string"==typeof o){const t=document.createElement("span");t.innerText=`(${o})`,t.classList.add("code"),e.appendChild(t)}else{this._codeLink=et.$("a.code-link"),this._codeLink.setAttribute("href",`${o.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(o.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()};et.R3(this._codeLink,et.$("span")).innerText=o.value,e.appendChild(this._codeLink)}}if(et.PO(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,Se.Of)(n)){const e=this._relatedBlock.appendChild(document.createElement("div"));e.style.paddingTop=`${Math.floor(.66*this._editor.getOption(64))}px`,this._lines+=1;for(const t of n){const i=document.createElement("div"),n=document.createElement("a");n.classList.add("filename"),n.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,n.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(n,t);const o=document.createElement("span");o.innerText=t.message,i.appendChild(n),i.appendChild(o),this._lines+=1,e.appendChild(i)}}const l=this._editor.getOption(48),d=Math.ceil(l.typicalFullwidthCharacterWidth*this._longestLineLength*.75),c=l.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:d,scrollHeight:c})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Ft.ZL.Error:t=y.NC("Error","Error");break;case Ft.ZL.Warning:t=y.NC("Warning","Warning");break;case Ft.ZL.Info:t=y.NC("Info","Info");break;case Ft.ZL.Hint:t=y.NC("Hint","Hint")}let i=y.NC("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();if(n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1){i=`${n.getLineContent(e.startLineNumber)}, ${i}`}return i}}let qs=class e extends wn.vk{constructor(e,t,i,n,o,s,r){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},o),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=s,this._labelService=r,this._callOnDispose=new A.SL,this._onDidSelectRelatedInformation=new Ct.Q5,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Ft.ZL.Warning,this._backgroundColor=Ai.Il.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(tr);let t=Zs,i=Qs;this._severity===Ft.ZL.Warning?(t=Ys,i=Js):this._severity===Ft.ZL.Info&&(t=Xs,i=er);const n=e.getColor(t),o=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:o,primaryHeadingColor:e.getColor(wn.IH),secondaryHeadingColor:e.getColor(wn.R7)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((e=>this.editor.focus())));const i=[],n=this._menuService.createMenu(e.TitleMenu,this._contextKeyService);(0,Ws.vr)(n,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),n.dispose()}_fillTitleIcon(e){this._icon=et.R3(e,et.$(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new js(this._container,this.editor,(e=>this._onDidSelectRelatedInformation.fire(e)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=B.e.lift(e),o=this.editor.getPosition(),s=o&&n.containsPosition(o)?o:n.getStartPosition();super.show(s,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const e=i>1?y.NC("problems","{0} of {1} problems",t,i):y.NC("change","{0} of {1} problem",t,i);this.setTitle((0,Vt.EZ)(r.uri),e)}this._icon.className=`codicon ${Hs.j.className(Ft.ZL.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(s,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};qs.TitleMenu=new U.eH("gotoErrorTitleMenu"),qs=zs([Us(1,q.XE),Us(2,ds.v4),Us(3,U.co),Us(4,_t.TG),Us(5,k.i6),Us(6,Bs.e)],qs);const Ks=(0,j.kwl)(j.lXJ,j.b6y),Gs=(0,j.kwl)(j.uoC,j.pW3),$s=(0,j.kwl)(j.c63,j.T83),Zs=(0,j.P6G)("editorMarkerNavigationError.background",{dark:Ks,light:Ks,hcDark:j.lRK,hcLight:j.lRK},y.NC("editorMarkerNavigationError","Editor marker navigation widget error color.")),Qs=(0,j.P6G)("editorMarkerNavigationError.headerBackground",{dark:(0,j.ZnX)(Zs,.1),light:(0,j.ZnX)(Zs,.1),hcDark:null,hcLight:null},y.NC("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Ys=(0,j.P6G)("editorMarkerNavigationWarning.background",{dark:Gs,light:Gs,hcDark:j.lRK,hcLight:j.lRK},y.NC("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Js=(0,j.P6G)("editorMarkerNavigationWarning.headerBackground",{dark:(0,j.ZnX)(Ys,.1),light:(0,j.ZnX)(Ys,.1),hcDark:"#0C141F",hcLight:(0,j.ZnX)(Ys,.2)},y.NC("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),Xs=(0,j.P6G)("editorMarkerNavigationInfo.background",{dark:$s,light:$s,hcDark:j.lRK,hcLight:j.lRK},y.NC("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),er=(0,j.P6G)("editorMarkerNavigationInfo.headerBackground",{dark:(0,j.ZnX)(Xs,.1),light:(0,j.ZnX)(Xs,.1),hcDark:null,hcLight:null},y.NC("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),tr=(0,j.P6G)("editorMarkerNavigation.background",{dark:j.cvW,light:j.cvW,hcDark:j.cvW,hcLight:j.cvW},y.NC("editorMarkerNavigationBackground","Editor marker navigation widget background."));var ir=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},nr=function(e,t){return function(i,n){t(i,n,e)}},or=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 sr=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=o,this._sessionDispoables=new A.SL,this._editor=e,this._widgetVisible=dr.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(qs,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((e=>{var t,i,n;(null===(t=this._model)||void 0===t?void 0:t.selected)&&B.e.containsPosition(null===(i=this._model)||void 0===i?void 0:i.selected.marker,e.position)||null===(n=this._model)||void 0===n||n.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:B.e.lift(e).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new W.L(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}nagivate(t,i){var n,o;return or(this,void 0,void 0,(function*(){if(this._editor.hasModel()){const s=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(s.move(t,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=yield this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&(null===(n=e.get(r))||void 0===n||n.close(),null===(o=e.get(r))||void 0===o||o.nagivate(t,i))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}))}};sr.ID="editor.contrib.markerController",sr=ir([nr(1,Ps),nr(2,k.i6),nr(3,re.$),nr(4,_t.TG)],sr);class rr extends w.R6{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}run(e,t){var i;return or(this,void 0,void 0,(function*(){t.hasModel()&&(null===(i=sr.get(t))||void 0===i||i.nagivate(this._next,this._multiFile))}))}}class ar extends rr{constructor(){super(!0,!1,{id:ar.ID,label:ar.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:578,weight:100},menuOpts:{menuId:qs.TitleMenu,title:ar.LABEL,icon:(0,Os.q5)("marker-navigation-next",st.l.arrowDown,y.NC("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}ar.ID="editor.action.marker.next",ar.LABEL=y.NC("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class lr extends rr{constructor(){super(!1,!1,{id:lr.ID,label:lr.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:1602,weight:100},menuOpts:{menuId:qs.TitleMenu,title:lr.LABEL,icon:(0,Os.q5)("marker-navigation-previous",st.l.arrowUp,y.NC("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}lr.ID="editor.action.marker.prev",lr.LABEL=y.NC("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");(0,w._K)(sr.ID,sr,4),(0,w.Qr)(ar),(0,w.Qr)(lr),(0,w.Qr)(class extends rr{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:y.NC("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:66,weight:100},menuOpts:{menuId:U.eH.MenubarGoMenu,title:y.NC({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}),(0,w.Qr)(class extends rr{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:y.NC("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:1090,weight:100},menuOpts:{menuId:U.eH.MenubarGoMenu,title:y.NC({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const dr=new k.uy("markersNavigationVisible",!1),cr=w._l.bindToContribution(sr.get);(0,w.fK)(new cr({id:"closeMarkersNavigation",precondition:dr,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:L.u.focus,primary:9,secondary:[1033]}}));var hr=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},ur=function(e,t){return function(i,n){t(i,n,e)}};const gr=et.$;class pr{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const mr={type:1,filter:{include:Oe.QuickFix},triggerAction:Ce.QuickFixHover};let fr=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,o=i.getLineMaxColumn(n),s=[];for(const r of t){const t=r.range.startLineNumber===n?r.range.startColumn:1,a=r.range.endLineNumber===n?r.range.endColumn:o,l=this._markerDecorationsService.getMarker(i.uri,r);if(!l)continue;const d=new B.e(e.range.startLineNumber,t,e.range.startLineNumber,a);s.push(new pr(this,d,l))}return s}renderHoverParts(e,t){if(!t.length)return A.JT.None;const i=new A.SL;t.forEach((t=>e.fragment.appendChild(this.renderMarkerHover(t,i))));const n=1===t.length?t[0]:t.sort(((e,t)=>Ft.ZL.compare(e.marker.severity,t.marker.severity)))[0];return this.renderMarkerStatusbar(e,n,i),i}renderMarkerHover(e,t){const i=gr("div.hover-row"),n=et.R3(i,gr("div.marker.hover-contents")),{source:o,message:s,code:r,relatedInformation:a}=e.marker;this._editor.applyFontInfo(n);const l=et.R3(n,gr("span"));if(l.style.whiteSpace="pre-wrap",l.innerText=s,o||r)if(r&&"string"!=typeof r){const e=gr("span");if(o){et.R3(e,gr("span")).innerText=o}const i=et.R3(e,gr("a.code-link"));i.setAttribute("href",r.target.toString()),t.add(et.nm(i,"click",(e=>{this._openerService.open(r.target,{allowCommands:!0}),e.preventDefault(),e.stopPropagation()})));et.R3(i,gr("span")).innerText=r.value;const s=et.R3(n,e);s.style.opacity="0.6",s.style.paddingLeft="6px"}else{const e=et.R3(n,gr("span"));e.style.opacity="0.6",e.style.paddingLeft="6px",e.innerText=o&&r?`${o}(${r})`:o||`(${r})`}if((0,Se.Of)(a))for(const{message:e,resource:i,startLineNumber:o,startColumn:s}of a){const r=et.R3(n,gr("div"));r.style.marginTop="8px";const a=et.R3(r,gr("a"));a.innerText=`${(0,Vt.EZ)(i)}(${o}, ${s}): `,a.style.cursor="pointer",t.add(et.nm(a,"click",(e=>{e.stopPropagation(),e.preventDefault(),this._openerService&&this._openerService.open(i,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:o,startColumn:s}}}).catch(ye.dL)})));const l=et.R3(r,gr("span"));l.innerText=e,this._editor.applyFontInfo(l)}return i}renderMarkerStatusbar(e,t,i){if(t.marker.severity!==Ft.ZL.Error&&t.marker.severity!==Ft.ZL.Warning&&t.marker.severity!==Ft.ZL.Info||e.statusBar.addAction({label:y.NC("view problem","View Problem"),commandId:ar.ID,run:()=>{var i;e.hide(),null===(i=sr.get(this._editor))||void 0===i||i.showAtMarker(t.marker),this._editor.focus()}}),!this._editor.getOption(87)){const n=e.statusBar.append(gr("div"));this.recentMarkerCodeActionsInfo&&(Ft.H0.makeKey(this.recentMarkerCodeActionsInfo.marker)===Ft.H0.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=y.NC("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?A.JT.None:i.add((0,O.Vg)((()=>n.textContent=y.NC("checkingForQuickFixes","Checking for quick fixes...")),200));n.textContent||(n.textContent=String.fromCharCode(160));const s=this.getCodeActions(t.marker);i.add((0,A.OF)((()=>s.cancel()))),s.then((s=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:s.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return s.dispose(),void(n.textContent=y.NC("noQuickFixes","No quick fixes available"));n.style.display="none";let r=!1;i.add((0,A.OF)((()=>{r||s.dispose()}))),e.statusBar.addAction({label:y.NC("quick fixes","Quick Fix..."),commandId:He,run:t=>{r=!0;const i=Zt.get(this._editor),n=et.i(t);e.hide(),null==i||i.showCodeActions(mr,s,{x:n.left+6,y:n.top+n.height+6,width:n.width,height:n.height})}})}),ye.dL)}}getCodeActions(e){return(0,O.PG)((t=>Ze(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B.e(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),mr,Re.Ex.None,t)))}};fr=hr([ur(1,xs.i),ur(2,ds.v4),ur(3,xe.p)],fr);var _r=i(41738),vr={};vr.styleTagTransform=v(),vr.setAttributes=p(),vr.insert=u().bind(null,"head"),vr.domAPI=c(),vr.insertStyleElement=f();l()(_r.Z,vr);_r.Z&&_r.Z.locals&&_r.Z.locals;var Cr=i(90317),br=i(12983),wr=i(74741),Sr=i(48071),Lr={};Lr.styleTagTransform=v(),Lr.setAttributes=p(),Lr.insert=u().bind(null,"head"),Lr.domAPI=c(),Lr.insertStyleElement=f();l()(Sr.Z,Lr);Sr.Z&&Sr.Z.locals&&Sr.Z.locals;const yr="editor.action.inlineSuggest.commit",kr="editor.action.inlineSuggest.showPrevious",Nr="editor.action.inlineSuggest.showNext";var xr=i(59856),Ir=i(5606),Tr=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},Dr=function(e,t){return function(i,n){t(i,n,e)}};const Mr=(0,Os.q5)("inline-suggestion-hints-next",st.l.chevronRight,(0,y.NC)("parameterHintsNextIcon","Icon for show next parameter hint.")),Rr=(0,Os.q5)("inline-suggestion-hints-previous",st.l.chevronLeft,(0,y.NC)("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let Pr=class e extends A.JT{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new wr.aU(e,t,i,!0,(()=>this._commandService.executeCommand(e))),o=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let s=t;return o&&(s=(0,y.NC)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,o.getLabel())),n.tooltip=s,n}constructor(t,i,n,o,s,r,a){super(),this.editor=t,this.withBorder=i,this._commandService=n,this.keybindingService=s,this._contextKeyService=r,this._menuService=a,this.id="InlineSuggestionHintsContentWidget"+e.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=(0,et.h)("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[(0,et.h)("div",{style:{display:"flex"}},[(0,et.h)("div@actionBar",{className:"custom-actions"}),(0,et.h)("div@toolBar")])]),this.position=null,this.previousAction=this.createCommandAction(kr,(0,y.NC)("previous","Previous"),bt.k.asClassName(Rr)),this.availableSuggestionCountAction=new wr.aU("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(Nr,(0,y.NC)("next","Next"),bt.k.asClassName(Mr)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(U.eH.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new O.pY((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new O.pY((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCurrentSuggestionIdx=-1,this.lastSuggestionCount=-1,this.lastCommands=[];const l=this._register(new Cr.o(this.nodes.actionBar));l.push(this.previousAction,{icon:!0,label:!1}),l.push(this.availableSuggestionCountAction),l.push(this.nextAction,{icon:!0,label:!1}),this.toolBar=this._register(o.createInstance(Or,this.nodes.toolBar,U.eH.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith("primary")},actionViewItemProvider:(e,t)=>e instanceof U.U8?o.createInstance(Er,e,void 0):void 0,telemetrySource:"InlineSuggestionToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{e._dropDownVisible=t})))}update(e,t,i,n){if(this.position===e&&this.lastCurrentSuggestionIdx===t&&this.lastSuggestionCount===i&&(0,Se.fS)(this.lastCommands,n))return;this.position=e,this.lastCurrentSuggestionIdx=t,this.lastSuggestionCount=null!=i?i:-1,this.lastCommands=n,void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule(),void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${t+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),this.editor.layoutContentWidget(this);const o=n.map((e=>({class:void 0,id:e.id,enabled:!0,tooltip:e.tooltip||"",label:e.title,run:t=>this._commandService.executeCommand(e.id)})));for(const[e,t]of this.inlineCompletionsActionsMenus.getActions())for(const e of t)e instanceof U.U8&&o.push(e);o.length>0&&o.unshift(new wr.Z0),this.toolBar.setAdditionalSecondaryActions(o)}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this.position,preference:[1,2],positionAffinity:3}}};Pr._dropDownVisible=!1,Pr.id=0,Pr=Tr([Dr(2,De.H),Dr(3,_t.TG),Dr(4,tt.d),Dr(5,k.i6),Dr(6,U.co)],Pr);class Er extends Ws.Mm{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=(0,et.h)("div.keybinding").root;new br.e(t,oe.OS,Object.assign({disableTitle:!0},br.F)).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let Or=class extends xr.T{constructor(e,t,i,n,o,s,r,a){super(e,Object.assign({resetMenu:t},i),n,o,s,r,a),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=o,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var e,t,i,n,o,s,r;const a=[],l=[];(0,Ws.vr)(this.menu,null===(e=this.options2)||void 0===e?void 0:e.menuOptions,{primary:a,secondary:l},null===(i=null===(t=this.options2)||void 0===t?void 0:t.toolbarOptions)||void 0===i?void 0:i.primaryGroup,null===(o=null===(n=this.options2)||void 0===n?void 0:n.toolbarOptions)||void 0===o?void 0:o.shouldInlineSubmenu,null===(r=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),l.push(...this.additionalActions),this.setActions(a,l)}setAdditionalSecondaryActions(e){(0,Se.fS)(this.additionalActions,e,((e,t)=>e===t))||(this.additionalActions=e,this.updateToolbar())}};Or=Tr([Dr(3,U.co),Dr(4,k.i6),Dr(5,Ir.i),Dr(6,tt.d),Dr(7,Pe.b)],Or);var Ar=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},Fr=function(e,t){return function(i,n){t(i,n,e)}};let Vr=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o){this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=n,this._keybindingService=o,this._toUnhook=new A.SL,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((e=>{e.hasChanged(58)&&(this._unhookEvents(),this._hookEvents())}))}_hookEvents(){const e=this._editor.getOption(58);this._isHoverEnabled=e.enabled,this._isHoverSticky=e.sticky,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e)))),this._toUnhook.add(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._toUnhook.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._toUnhook.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))):(this._toUnhook.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e)))),this._toUnhook.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))),this._toUnhook.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>this._hideWidgets()))),this._toUnhook.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._isMouseDown=!0;const t=e.target;9!==t.type||t.detail!==Jo.ID?12===t.type&&t.detail===fs.ID||(12!==t.type&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(e){this._isMouseDown=!1}_onEditorMouseLeave(e){var t;const i=e.event.browserEvent.relatedTarget;(null===(t=this._contentWidget)||void 0===t?void 0:t.containsNode(i))||this._hideWidgets()}_onEditorMouseMove(e){var t,i,n,o,s,r;const a=e.target;if(this._isMouseDown&&this._hoverClicked)return;if(this._isHoverSticky&&9===a.type&&a.detail===Jo.ID)return;if(this._isHoverSticky&&!(null===(i=null===(t=e.event.browserEvent.view)||void 0===t?void 0:t.getSelection())||void 0===i?void 0:i.isCollapsed))return;if(!this._isHoverSticky&&9===a.type&&a.detail===Jo.ID&&(null===(n=this._contentWidget)||void 0===n?void 0:n.isColorPickerVisible()))return;if(this._isHoverSticky&&12===a.type&&a.detail===fs.ID)return;if(this._isHoverSticky&&(null===(o=this._contentWidget)||void 0===o?void 0:o.isVisibleFromKeyboard()))return;if(!this._isHoverEnabled)return void this._hideWidgets();if(!this._getOrCreateContentWidget().maybeShowAt(e))return 2===a.type&&a.position?(null===(r=this._contentWidget)||void 0===r||r.hide(),this._glyphWidget||(this._glyphWidget=new fs(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(a.position.lineNumber)):void this._hideWidgets();null===(s=this._glyphWidget)||void 0===s||s.hide()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const i=this._keybindingService.softDispatch(e,this._editor.getDomNode()),n=1===(null==i?void 0:i.kind)||i&&2===i.kind&&"editor.action.showHover"===i.commandId&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible());5===e.keyCode||6===e.keyCode||57===e.keyCode||4===e.keyCode||n||this._hideWidgets()}_hideWidgets(){var e,t,i;this._isMouseDown&&this._hoverClicked&&(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible())||Pr.dropDownVisible||(this._hoverClicked=!1,null===(t=this._glyphWidget)||void 0===t||t.hide(),null===(i=this._contentWidget)||void 0===i||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance($o,this._editor)),this._contentWidget}isColorPickerVisible(){var e;return(null===(e=this._contentWidget)||void 0===e?void 0:e.isColorPickerVisible())||!1}showContentHover(e,t,i,n){this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}focus(){var e;null===(e=this._contentWidget)||void 0===e||e.focus()}scrollUp(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollUp()}scrollDown(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollDown()}scrollLeft(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollLeft()}scrollRight(){var e;null===(e=this._contentWidget)||void 0===e||e.scrollRight()}pageUp(){var e;null===(e=this._contentWidget)||void 0===e||e.pageUp()}pageDown(){var e;null===(e=this._contentWidget)||void 0===e||e.pageDown()}goToTop(){var e;null===(e=this._contentWidget)||void 0===e||e.goToTop()}goToBottom(){var e;null===(e=this._contentWidget)||void 0===e||e.goToBottom()}escape(){var e;null===(e=this._contentWidget)||void 0===e||e.escape()}isHoverVisible(){var e;return null===(e=this._contentWidget)||void 0===e?void 0:e.isVisible()}dispose(){var e,t;this._unhookEvents(),this._toUnhook.dispose(),this._didChangeConfigurationHandler.dispose(),null===(e=this._glyphWidget)||void 0===e||e.dispose(),null===(t=this._contentWidget)||void 0===t||t.dispose()}};Vr.ID="editor.contrib.hover",Vr=Ar([Fr(1,_t.TG),Fr(2,ds.v4),Fr(3,hn.O),Fr(4,tt.d)],Vr);class Wr extends w.R6{constructor(){super({id:"editor.action.showHover",label:y.NC({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse.","If the hover is already visible, it will take focus."]},"Show or Focus Hover"),description:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if when triggered with the keyboard, the hover should take focus immediately.",type:"boolean",default:!1}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Vr.get(t);if(!n)return;const o=t.getPosition(),s=new B.e(o.lineNumber,o.column,o.lineNumber,o.column),r=2===t.getOption(2)||!!(null==i?void 0:i.focus);n.isHoverVisible()?n.focus():n.showContentHover(s,1,1,r)}}class Br extends w.R6{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:y.NC({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=Vr.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const o=new B.e(n.lineNumber,n.column,n.lineNumber,n.column),s=ho.get(t);if(!s)return;s.startFindDefinitionFromCursor(n).then((()=>{i.showContentHover(o,1,1,!0)}))}}class Hr extends w.R6{constructor(){super({id:"editor.action.scrollUpHover",label:y.NC({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:16,weight:100}})}run(e,t){const i=Vr.get(t);i&&i.scrollUp()}}class zr extends w.R6{constructor(){super({id:"editor.action.scrollDownHover",label:y.NC({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:18,weight:100}})}run(e,t){const i=Vr.get(t);i&&i.scrollDown()}}class Ur extends w.R6{constructor(){super({id:"editor.action.scrollLeftHover",label:y.NC({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:15,weight:100}})}run(e,t){const i=Vr.get(t);i&&i.scrollLeft()}}class jr extends w.R6{constructor(){super({id:"editor.action.scrollRightHover",label:y.NC({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:17,weight:100}})}run(e,t){const i=Vr.get(t);i&&i.scrollRight()}}class qr extends w.R6{constructor(){super({id:"editor.action.pageUpHover",label:y.NC({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const i=Vr.get(t);i&&i.pageUp()}}class Kr extends w.R6{constructor(){super({id:"editor.action.pageDownHover",label:y.NC({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const i=Vr.get(t);i&&i.pageDown()}}class Gr extends w.R6{constructor(){super({id:"editor.action.goToTopHover",label:y.NC({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const i=Vr.get(t);i&&i.goToTop()}}class $r extends w.R6{constructor(){super({id:"editor.action.goToBottomHover",label:y.NC({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const i=Vr.get(t);i&&i.goToBottom()}}class Zr extends w.R6{constructor(){super({id:"editor.action.escapeFocusHover",label:y.NC({key:"escapeFocusHover",comment:["Action that allows to escape from the hover widget with the escape command when the hover widget is focused."]},"Escape Focus Hover"),alias:"Escape Focus Hover",precondition:L.u.hoverFocused,kbOpts:{kbExpr:L.u.hoverFocused,primary:9,weight:100}})}run(e,t){const i=Vr.get(t);i&&i.escape()}}(0,w._K)(Vr.ID,Vr,2),(0,w.Qr)(Wr),(0,w.Qr)(Br),(0,w.Qr)(Hr),(0,w.Qr)(zr),(0,w.Qr)(Ur),(0,w.Qr)(jr),(0,w.Qr)(qr),(0,w.Qr)(Kr),(0,w.Qr)(Gr),(0,w.Qr)($r),(0,w.Qr)(Zr),Co.register(ks),Co.register(fr),(0,q.Ic)(((e,t)=>{const i=e.getColor(j.CNo);i&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${i.transparent(.5)}; }`))}));class Qr extends A.JT{constructor(e){super(),this._editor=e,this._register(e.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(e){const t=e.target;if(6!==t.type)return;if(!t.detail.injectedText)return;if(t.detail.injectedText.options.attachedData!==Ui)return;if(!t.range)return;const i=this._editor.getContribution(Vr.ID);if(i&&!i.isColorPickerVisible()){const e=new B.e(t.range.startLineNumber,t.range.startColumn+1,t.range.endLineNumber,t.range.endColumn+1);i.showContentHover(e,1,0,!1)}}}Qr.ID="editor.contrib.colorContribution",(0,w._K)(Qr.ID,Qr,2),Co.register(cn);var Yr=i(23547),Jr=i(73278),Xr=i(81170),ea=i(66663),ta=i(98e3),ia=i(92944),na=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},oa=function(e,t){return function(i,n){t(i,n,e)}},sa=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 ra="application/vnd.code.copyMetadata";let aa=class extends A.JT{constructor(e,t,i,n,o,s){super(),this._bulkEditService=t,this._clipboardService=i,this._configurationService=n,this._languageFeaturesService=o,this._progressService=s,this._editor=e;const r=e.getContainerDomNode();this._register((0,et.nm)(r,"copy",(e=>this.handleCopy(e)))),this._register((0,et.nm)(r,"cut",(e=>this.handleCopy(e)))),this._register((0,et.nm)(r,"paste",(e=>this.handlePaste(e)),!0))}arePasteActionsEnabled(e){return!!this._configurationService.getValue("editor.experimental.pasteActions.enabled",{resource:e.uri})||e.uri.scheme===ea.lg.vscodeNotebookCell}handleCopy(e){var t;if(!e.clipboardData||!this._editor.hasTextFocus())return;const i=this._editor.getModel(),n=this._editor.getSelections();if(!i||!(null==n?void 0:n.length))return;if(!this.arePasteActionsEnabled(i))return;const o=[...n],s=n[0],r=s.isEmpty();if(r){if(!this._editor.getOption(35))return;o[0]=new B.e(s.startLineNumber,0,s.startLineNumber,i.getLineLength(s.startLineNumber))}const a=this._languageFeaturesService.documentPasteEditProvider.ordered(i).filter((e=>!!e.prepareDocumentPaste));if(!a.length)return void this.setCopyMetadata(e.clipboardData,{wasFromEmptySelection:r});const l=(0,ia.B)(e.clipboardData),d=(0,ta.R)();this.setCopyMetadata(e.clipboardData,{id:d,wasFromEmptySelection:r});const c=(0,O.PG)((e=>sa(this,void 0,void 0,(function*(){const t=yield Promise.all(a.map((t=>t.prepareDocumentPaste(i,o,l,e))));for(const e of t)null==e||e.forEach(((e,t)=>{l.replace(t,e)}));return l}))));null===(t=this._currentClipboardItem)||void 0===t||t.dataTransferPromise.cancel(),this._currentClipboardItem={handle:d,dataTransferPromise:c}}setCopyMetadata(e,t){e.setData(ra,JSON.stringify(t))}handlePaste(e){var t,i,n,o;return sa(this,void 0,void 0,(function*(){if(!e.clipboardData||!this._editor.hasTextFocus())return;const s=this._editor.getSelections();if(!(null==s?void 0:s.length)||!this._editor.hasModel())return;const r=this._editor.getModel();if(!this.arePasteActionsEnabled(r))return;let a;const l=null===(t=e.clipboardData)||void 0===t?void 0:t.getData(ra);l&&"string"==typeof l&&(a=JSON.parse(l));const d=this._languageFeaturesService.documentPasteEditProvider.ordered(r);if(!d.length)return;e.preventDefault(),e.stopImmediatePropagation();const c=new Te.Dl(this._editor,3);try{const t=(0,ia.B)(e.clipboardData);if((null==a?void 0:a.id)&&(null===(i=this._currentClipboardItem)||void 0===i?void 0:i.handle)===a.id){const e=yield this._currentClipboardItem.dataTransferPromise;if(c.token.isCancellationRequested)return;e.forEach(((e,i)=>{t.replace(i,e)}))}if(!t.has(Xr.v.uriList)){const e=yield this._clipboardService.readResources();if(c.token.isCancellationRequested)return;e.length&&t.append(Xr.v.uriList,(0,Jr.ZO)(Jr.Z0.create(e)))}t.delete(ra);const l=yield this._progressService.withProgress({location:15,delay:750,title:(0,y.NC)("pasteProgressTitle","Running paste handlers..."),cancellable:!0},(()=>this.getProviderPasteEdit(d,t,r,s,c.token)),(()=>c.cancel()));if(c.token.isCancellationRequested)return;if(l){const e="string"==typeof l.insertText?Ro.escape(l.insertText):l.insertText.snippet,t={edits:[new Ne.Gl(r.uri,{range:S.Y.liftSelection(this._editor.getSelection()),text:e,insertAsSnippet:!0}),...null!==(o=null===(n=l.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]};return void(yield this._bulkEditService.apply(t,{editor:this._editor}))}yield this.applyDefaultPasteHandler(t,a,c.token)}finally{c.dispose()}}))}getProviderPasteEdit(e,t,i,n,o){return(0,O.eP)((()=>sa(this,void 0,void 0,(function*(){for(const s of e){if(o.isCancellationRequested)return;if(!la(s,t))continue;const e=yield s.provideDocumentPasteEdits(i,n,t,o);if(e)return e}})))(),o)}applyDefaultPasteHandler(e,t,i){var n;return sa(this,void 0,void 0,(function*(){const o=null!==(n=e.get(Xr.v.text))&&void 0!==n?n:e.get("text");if(!o)return;const s=yield o.asString();i.isCancellationRequested||this._editor.trigger("keyboard","paste",{text:s,pasteOnNewLine:null==t?void 0:t.wasFromEmptySelection,multicursorText:null})}))}};function la(e,t){return e.pasteMimeTypes.some((e=>e.toLowerCase()===Yr.g.FILES.toLowerCase()?[...t.values()].some((e=>e.asFile())):t.has(e)))}aa.ID="editor.contrib.copyPasteActionController",aa=na([oa(1,Ne.vu),oa(2,ae.p),oa(3,ft.Ui),oa(4,xe.p),oa(5,Re.R9)],aa),(0,w._K)(aa.ID,aa,0),ai.B.as(ri.IP.Configuration).registerConfiguration(Object.assign(Object.assign({},be.wk),{properties:{"editor.experimental.pasteActions.enabled":{type:"boolean",scope:5,description:y.NC("pasteActions","Enable/disable running edits from extensions on paste."),default:!1}}}));var da=i(51381),ca=i(69386);class ha{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length;if(i+n>e.length)return!1;for(let o=0;o=65&&n<=90&&n+32===s||s>=65&&s<=90&&s+32===n))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,o,s){const r=e.startLineNumber,a=e.startColumn,l=e.endLineNumber,d=e.endColumn,c=o.getLineContent(r),h=o.getLineContent(l);let u,g=c.lastIndexOf(t,a-1+t.length),p=h.indexOf(i,d-1-i.length);if(-1!==g&&-1!==p)if(r===l){c.substring(g+t.length,p).indexOf(i)>=0&&(g=-1,p=-1)}else{const e=c.substring(g+t.length),n=h.substring(0,p);(e.indexOf(i)>=0||n.indexOf(i)>=0)&&(g=-1,p=-1)}-1!==g&&-1!==p?(n&&g+t.length0&&32===h.charCodeAt(p-1)&&(i=" "+i,p-=1),u=ha._createRemoveBlockCommentOperations(new B.e(r,g+t.length+1,l,p+1),t,i)):(u=ha._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===u.length?i:null);for(const e of u)s.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return B.e.isEmpty(e)?n.push(ca.h.delete(new B.e(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(ca.h.delete(new B.e(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(ca.h.delete(new B.e(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const o=[];return B.e.isEmpty(e)?o.push(ca.h.replace(new B.e(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(ca.h.insert(new W.L(e.startLineNumber,e.startColumn),t+(n?" ":""))),o.push(ca.h.insert(new W.L(e.endLineNumber,e.endColumn),(n?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,n),s=this.languageConfigurationService.getLanguageConfiguration(o).comments;s&&s.blockCommentStartToken&&s.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,s.blockCommentStartToken,s.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new S.Y(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new S.Y(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}class ua{constructor(e,t,i,n,o,s,r){this.languageConfigurationService=e,this._selection=t,this._tabSize=i,this._type=n,this._insertSpace=o,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=s,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const o=e.getLanguageIdAtPosition(t,1),s=n.getLanguageConfiguration(o).comments,r=s?s.lineCommentToken:null;if(!r)return null;const a=[];for(let e=0,n=i-t+1;er?o-1:o}}}class ga extends w.R6{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(da.c_);if(!t.hasModel())return;const n=[],o=t.getModel().getOptions(),s=t.getOption(21),r=t.getSelections().map(((e,t)=>({selection:e,index:t,ignoreFirstLine:!1})));r.sort(((e,t)=>B.e.compareRangesUsingStarts(e.selection,t.selection)));let a=r[0];for(let e=1;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},va=function(e,t){return function(i,n){t(i,n,e)}};let Ca=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o,s,r,a){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=o,this._menuService=s,this._configurationService=r,this._workspaceContextService=a,this._toDispose=new A.SL,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu((e=>this._onContextMenu(e)))),this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const t=this._contextViewService.getContextViewElement(),i=e.srcElement;i.shadowRoot&&et.Ay(t)===i.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((e=>{this._editor.getOption(22)&&58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())})))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(22))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));if(12===e.target.type)return;if(6===e.target.type&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),11===e.target.type)return this._showScrollbarContextMenu({x:e.event.posx-1,width:2,y:e.event.posy-1,height:2});if(6!==e.target.type&&7!==e.target.type&&1!==e.target.type)return;if(this._editor.focus(),e.target.position){let t=!1;for(const i of this._editor.getSelections())if(i.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;1!==e.target.type&&(t={x:e.event.posx-1,width:2,y:e.event.posy-1,height:2}),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(22))return;if(!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?U.eH.SimpleEditorContext:U.eH.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.createMenu(t,this._contextKeyService),o=n.getActions({arg:e.uri});n.dispose();for(const t of o){const[,n]=t;let o=0;for(const t of n)if(t instanceof U.NZ){const n=this._getMenuActions(e,t.item.submenu);n.length>0&&(i.push(new wr.wY(t.id,t.label,n)),o++)}else i.push(t),o++;o&&i.push(new wr.Z0)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(58);if(this._editor.updateOptions({hover:{enabled:!1}}),!t){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=et.i(this._editor.getDomNode()),n=i.left+e.left,o=i.top+e.top+e.height;t={x:n,y:o}}const n=this._editor.getOption(122)&&!oe.gn;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>e,getActionViewItem:e=>{const t=this._keybindingFor(e);if(t)return new ma.gU(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});const i=e;return"function"==typeof i.getActionViewItem?i.getActionViewItem():new ma.gU(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel())return;if((0,fa.x)(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(70);let i=0;const n=e=>({id:"menu-action-"+ ++i,label:e.label,tooltip:"",class:void 0,enabled:void 0===e.enabled||e.enabled,checked:e.checked,run:e.run}),o=(e,t,o,s,r)=>{if(!t)return n({label:e,enabled:t,run:()=>{}});const a=e=>()=>{this._configurationService.updateValue(o,e)},l=[];for(const e of r)l.push(n({label:e.label,checked:s===e.value,run:a(e.value)}));return((e,t)=>new wr.wY("menu-action-"+ ++i,e,t,void 0))(e,l)},s=[];s.push(n({label:y.NC("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),s.push(new wr.Z0),s.push(n({label:y.NC("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),s.push(o(y.NC("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:y.NC("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:y.NC("context.minimap.size.fill","Fill"),value:"fill"},{label:y.NC("context.minimap.size.fit","Fit"),value:"fit"}])),s.push(o(y.NC("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:y.NC("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:y.NC("context.minimap.slider.always","Always"),value:"always"}]));const r=this._editor.getOption(122)&&!oe.gn;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>s,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Ca.ID="editor.contrib.contextmenu",Ca=_a([va(1,Ir.i),va(2,Ir.u),va(3,k.i6),va(4,tt.d),va(5,U.co),va(6,ft.Ui),va(7,fa.ec)],Ca);class ba extends w.R6{constructor(){super({id:"editor.action.showContextMenu",label:y.NC("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;null===(i=Ca.get(t))||void 0===i||i.showContextMenu()}}(0,w._K)(Ca.ID,Ca,2),(0,w.Qr)(ba);class wa{constructor(e){this.selections=e}equals(e){const t=this.selections.length;if(t!==e.selections.length)return!1;for(let i=0;i{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeModelContent((e=>{this._undoStack=[],this._redoStack=[]}))),this._register(e.onDidChangeCursorSelection((t=>{if(this._isCursorUndoRedo)return;if(!t.oldSelections)return;if(t.oldModelVersionId!==t.modelVersionId)return;const i=new wa(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Sa(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new Sa(new wa(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new Sa(new wa(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}La.ID="editor.contrib.cursorUndoRedoController";class ya extends w.R6{constructor(){super({id:"cursorUndo",label:y.NC("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;null===(n=La.get(t))||void 0===n||n.cursorUndo()}}class ka extends w.R6{constructor(){super({id:"cursorRedo",label:y.NC("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;null===(n=La.get(t))||void 0===n||n.cursorRedo()}}(0,w._K)(La.ID,La,0),(0,w.Qr)(ya),(0,w.Qr)(ka);var Na=i(97070),xa={};xa.styleTagTransform=v(),xa.setAttributes=p(),xa.insert=u().bind(null,"head"),xa.domAPI=c(),xa.insertStyleElement=f();l()(Na.Z,xa);Na.Z&&Na.Z.locals&&Na.Z.locals;class Ia{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new B.e(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new S.Y(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new S.Y(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(e)))),this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e)))),this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e)))),this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e)))),this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){this._editor.getOption(33)&&!this._editor.getOption(20)&&(Ta(e)&&(this._modifierPressed=!0),this._mouseDown&&Ta(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){this._editor.getOption(33)&&!this._editor.getOption(20)&&(Ta(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Da.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(null===this._dragSelection){const e=(this._editor.getSelections()||[]).filter((e=>t.position&&e.containsPosition(t.position)));if(1!==e.length)return;this._dragSelection=e[0]}Ta(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new W.L(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){let i=null;if(e.event.shiftKey){const e=this._editor.getSelection();if(e){const{selectionStartLineNumber:n,selectionStartColumn:o}=e;i=[new S.Y(n,o,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map((e=>e.containsPosition(t)?new S.Y(t.lineNumber,t.column,t.lineNumber,t.column):e));this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Ta(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Da.ID,new Ia(this._dragSelection,t,Ta(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new B.e(e.lineNumber,e.column,e.lineNumber,e.column),options:Da._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return 6===e.type||7===e.type}_hitMargin(e){return 2===e.type||3===e.type||4===e.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}Da.ID="editor.contrib.dragAndDrop",Da.TRIGGER_KEY_VALUE=oe.dz?6:5,Da._DECORATION_OPTIONS=z.qx.register({description:"dnd-target",className:"dnd-target"}),(0,w._K)(Da.ID,Da,2);var Ma=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},Ra=function(e,t){return function(i,n){t(i,n,e)}},Pa=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 Ea=class extends A.JT{constructor(e,t,i,n,o){super(),this._bulkEditService=t,this._languageFeaturesService=i,this._progressService=n,this._register(e.onDropIntoEditor((t=>this.onDropIntoEditor(e,t.position,t.event)))),this._languageFeaturesService.documentOnDropEditProvider.register("*",new Oa(o))}onDropIntoEditor(e,t,i){var n,o;return Pa(this,void 0,void 0,(function*(){if(!i.dataTransfer||!e.hasModel())return;const s=e.getModel(),r=s.getVersionId(),a=yield this.extractDataTransferData(i);if(0===a.size)return;if(e.getModel().getVersionId()!==r)return;const l=new Te.Dl(e,1);try{const i=this._languageFeaturesService.documentOnDropEditProvider.ordered(s),d=yield this._progressService.withProgress({location:15,delay:750,title:(0,y.NC)("dropProgressTitle","Running drop handlers..."),cancellable:!0},(()=>(0,O.eP)((()=>Pa(this,void 0,void 0,(function*(){for(const e of i){const i=yield e.provideDocumentOnDropEdits(s,t,a,l.token);if(l.token.isCancellationRequested)return;if(i)return i}})))(),l.token)),(()=>{l.cancel()}));if(l.token.isCancellationRequested||e.getModel().getVersionId()!==r)return;if(d){const i="string"==typeof d.insertText?Ro.escape(d.insertText):d.insertText.snippet,r={edits:[new Ne.Gl(s.uri,{range:new B.e(t.lineNumber,t.column,t.lineNumber,t.column),text:i,insertAsSnippet:!0}),...null!==(o=null===(n=d.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]};return e.focus(),void(yield this._bulkEditService.apply(r,{editor:e}))}}finally{l.dispose()}}))}extractDataTransferData(e){return Pa(this,void 0,void 0,(function*(){if(!e.dataTransfer)return new Jr.Hl;const t=(0,ia.B)(e.dataTransfer);return(0,ia.d)(t,e),t}))}};Ea.ID="editor.contrib.dropIntoEditorController",Ea=Ma([Ra(1,Ne.vu),Ra(2,xe.p),Ra(3,Re.R9),Ra(4,fa.ec)],Ea);let Oa=class{constructor(e){this._workspaceContextService=e}provideDocumentOnDropEdits(e,t,i,n){var o;return Pa(this,void 0,void 0,(function*(){const e=i.get(Xr.v.uriList);if(e){const t=yield e.asString(),i=this.getUriListInsertText(t);if(i)return{insertText:i}}const t=null!==(o=i.get("text"))&&void 0!==o?o:i.get(Xr.v.text);if(t){return{insertText:yield t.asString()}}}))}getUriListInsertText(e){const t=[];for(const i of Jr.Z0.parse(e))try{t.push(ke.o.parse(i))}catch(e){}if(t.length)return t.map((e=>{const t=this._workspaceContextService.getWorkspaceFolder(e);if(t){const i=(0,Vt.lX)(t.uri,e);if(i)return i}return e.fsPath})).join(" ")}};Oa=Ma([Ra(0,fa.ec)],Oa),(0,w._K)(Ea.ID,Ea,2);var Aa=i(8625),Fa=i(77277);class Va{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map((e=>this._editor.getModel().getDecorationRange(e))).filter((e=>!!e));if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(null!==this._highlightedDecorationId&&(e.changeDecorationOptions(this._highlightedDecorationId,Va._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==t&&(this._highlightedDecorationId=t,e.changeDecorationOptions(this._highlightedDecorationId,Va._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==t){let i=this._editor.getModel().getDecorationRange(t);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){const e=i.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);i=new B.e(i.startLineNumber,i.startColumn,e,t)}this._rangeHighlightDecorationId=e.addDecoration(i,Va._RANGE_HIGHLIGHT_DECORATION)}})),i}set(e,t){this._editor.changeDecorations((i=>{let n=Va._FIND_MATCH_DECORATION;const o=[];if(e.length>1e3){n=Va._FIND_MATCH_NO_OVERVIEW_DECORATION;const t=this._editor.getModel().getLineCount(),i=this._editor.getLayoutInfo().height/t,s=Math.max(2,Math.ceil(3/i));let r=e[0].range.startLineNumber,a=e[0].range.endLineNumber;for(let t=1,i=e.length;t=i.startLineNumber?i.endLineNumber>a&&(a=i.endLineNumber):(o.push({range:new B.e(r,1,a,1),options:Va._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=i.startLineNumber,a=i.endLineNumber)}o.push({range:new B.e(r,1,a,1),options:Va._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const s=new Array(e.length);for(let t=0,i=e.length;ti.removeDecoration(e))),this._findScopeDecorationIds=[]),(null==t?void 0:t.length)&&(this._findScopeDecorationIds=t.map((e=>i.addDecoration(e,Va._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(e){if(0===this._decorations.length)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumbere.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(0===this._decorations.length)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return n;if(!(n.startColumn0){const e=[];for(let t=0;tB.e.compareRangesUsingStarts(e.range,t.range)));const i=[];let n=e[0];for(let t=1;t0){const e=[],t=n.caseOps.length;let i=0;for(let s=0,r=o.length;s=t){e.push(o.slice(s));break}switch(n.caseOps[i]){case"U":e.push(o[s].toUpperCase());break;case"u":e.push(o[s].toUpperCase()),i++;break;case"L":e.push(o[s].toLowerCase());break;case"l":e.push(o[s].toLowerCase()),i++;break;default:e.push(o[s])}}o=e.join("")}i+=o}return i}static _substitute(e,t){if(null===t)return"";if(0===e)return t[0];let i="";for(;e>0;){if(ethis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{3!==e.reason&&5!==e.reason&&6!==e.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,A.B9)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){if(!this._isDisposed&&this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)){this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}),240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)}}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;void 0!==t?null!==t&&(i=Array.isArray(t)?t:[t]):i=this._decorations.getFindScopes(),null!==i&&(i=i.map((e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return 1===e.endColumn&&(t-=1),new B.e(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e})));const n=this._findMatches(i,!1,vl);this._decorations.set(n,i);const o=this._editor.getSelection();let s=this._decorations.getCurrentMatchesPosition(o);if(0===s&&n.length>0){const e=(0,Se.lG)(n.map((e=>e.range)),(e=>B.e.compareRangesUsingStarts(e,o)>=0));s=e>0?e-1+1:s}this._state.changeMatchInfo(s,this._decorations.getCount(),void 0),e&&this._editor.getOption(39).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const o=this._editor.getModel();return t||1===n?(1===i?i=o.getLineCount():i--,n=o.getLineMaxColumn(i)):n--,new W.L(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const t=this._decorations.matchAfterPosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const o=this._editor.getModel();return t||n===o.getLineMaxColumn(i)?(i===o.getLineCount()?i=1:i++,n=1):n++,new W.L(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const t=this._decorations.matchBeforePosition(e);return void(t&&this._setCurrentFindMatch(t))}if(this._decorations.getCount()=o)break;const s=e.charCodeAt(n);if(36===s){i.emitUnchanged(n-1),i.emitStatic("$",n+1);continue}if(48===s||38===s){i.emitUnchanged(n-1),i.emitMatchIndex(0,n+1,t),t.length=0;continue}if(49<=s&&s<=57){let r=s-48;if(n+1=o)break;const s=e.charCodeAt(n);switch(s){case 92:i.emitUnchanged(n-1),i.emitStatic("\\",n+1);break;case 110:i.emitUnchanged(n-1),i.emitStatic("\n",n+1);break;case 116:i.emitUnchanged(n-1),i.emitStatic("\t",n+1);break;case 117:case 85:case 108:case 76:i.emitUnchanged(n-1),i.emitStatic("",n+1),t.push(String.fromCharCode(s))}}}return i.finalize()}(this._state.replaceString):Ua.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),o=new ee.T4(t,n);this._executeEditorCommand("replace",o),this._decorations.setStartPosition(new W.L(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map((e=>Cl._getSearchRange(this._editor.getModel(),e)));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(125):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();null===e&&this._state.matchesCount>=vl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const e=new Fa.bc(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(125):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e="mu";t.ignoreCase&&(e+="i"),t.global&&(e+="g"),t=new RegExp(t.source,e)}const i=this._editor.getModel(),n=i.getValue(1),o=i.getFullModelRange(),s=this._getReplacePattern();let r;const a=this._state.preserveCase;r=s.hasReplacementPatterns||a?n.replace(t,(function(){return s.buildReplaceString(arguments,a)})):n.replace(t,s.buildReplaceString(null,a));const l=new ee.hP(o,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let e=0,o=i.length;ee.range)),n);this._executeEditorCommand("replaceAll",o)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let t=this._findMatches(e,!1,1073741824).map((e=>new S.Y(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)));const i=this._editor.getSelection();for(let e=0,n=t.length;ethis._hide()),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:(0,j.n_1)(j.PRb),inputActiveOptionForeground:(0,j.n_1)(j.Pvw),inputActiveOptionBackground:(0,j.n_1)(j.XEs)};this.caseSensitive=this._register(new Sl.rk(Object.assign({appendTitle:this._keybindingLabelFor(cl),isChecked:this._state.matchCase},n))),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new Sl.Qx(Object.assign({appendTitle:this._keybindingLabelFor(hl),isChecked:this._state.wholeWord},n))),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new Sl.eH(Object.assign({appendTitle:this._keybindingLabelFor(ul),isChecked:this._state.isRegex},n))),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()}))),this._register(et.nm(this._domNode,et.tw.MOUSE_LEAVE,(e=>this._onMouseLeave()))),this._register(et.nm(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Ll.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function yl(e,t){return 1===e||2!==e&&t}Ll.ID="editor.contrib.findOptionsWidget";class kl extends A.JT{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return yl(this._isRegexOverride,this._isRegex)}get wholeWord(){return yl(this._wholeWordOverride,this._wholeWord)}get matchCase(){return yl(this._matchCaseOverride,this._matchCase)}get preserveCase(){return yl(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new Ct.Q5),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,o=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,o=!0),void 0!==i&&(B.e.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,o=!0)),o&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var n;const o={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,l=this.matchCase,d=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,o.searchString=!0,s=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,o.replaceString=!0,s=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,o.isRevealed=!0,s=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,o.isReplaceRevealed=!0,s=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&((null===(n=e.searchScope)||void 0===n?void 0:n.every((e=>{var t;return null===(t=this._searchScope)||void 0===t?void 0:t.some((t=>!B.e.equalsRange(t,e)))})))||(this._searchScope=e.searchScope,o.searchScope=!0,s=!0)),void 0!==e.loop&&this._loop!==e.loop&&(this._loop=e.loop,o.loop=!0,s=!0),void 0!==e.isSearching&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,o.isSearching=!0,s=!0),void 0!==e.filters&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,o.filters=!0,s=!0),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,o.isRegex=!0),a!==this.wholeWord&&(s=!0,o.wholeWord=!0),l!==this.matchCase&&(s=!0,o.matchCase=!0),d!==this.preserveCase&&(s=!0,o.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(o)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=vl}}var Nl=i(98892),xl=i(63841),Il=i(56950),Tl={};Tl.styleTagTransform=v(),Tl.setAttributes=p(),Tl.insert=u().bind(null,"head"),Tl.domAPI=c(),Tl.insertStyleElement=f();l()(Il.Z,Tl);Il.Z&&Il.Z.locals&&Il.Z.locals;var Dl=i(97532),Ml=i(92321),Rl=i(86253),Pl=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 El=(0,Os.q5)("find-selection",st.l.selection,y.NC("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Ol=(0,Os.q5)("find-collapsed",st.l.chevronRight,y.NC("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Al=(0,Os.q5)("find-expanded",st.l.chevronDown,y.NC("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Fl=(0,Os.q5)("find-replace",st.l.replace,y.NC("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Vl=(0,Os.q5)("find-replace-all",st.l.replaceAll,y.NC("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Wl=(0,Os.q5)("find-previous-match",st.l.arrowUp,y.NC("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Bl=(0,Os.q5)("find-next-match",st.l.arrowDown,y.NC("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Hl=y.NC("label.find","Find"),zl=y.NC("placeholder.find","Find"),Ul=y.NC("label.previousMatchButton","Previous Match"),jl=y.NC("label.nextMatchButton","Next Match"),ql=y.NC("label.toggleSelectionFind","Find in Selection"),Kl=y.NC("label.closeButton","Close"),Gl=y.NC("label.replace","Replace"),$l=y.NC("placeholder.replace","Replace"),Zl=y.NC("label.replaceButton","Replace"),Ql=y.NC("label.replaceAllButton","Replace All"),Yl=y.NC("label.toggleReplaceButton","Toggle Replace"),Jl=y.NC("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",vl),Xl=y.NC("label.matchesLocation","{0} of {1}"),ed=y.NC("label.noResults","No results"),td=419;let id=69;const nd="ctrlEnterReplaceAll.windows.donotask",od=oe.dz?256:2048;class sd{constructor(e){this.afterLineNumber=e,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function rd(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionStart>0&&e.stopPropagation()}function ad(e,t,i){const n=!!t.match(/\n/);i&&n&&i.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(87)&&(this._codeEditor.getOption(87)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(139)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(39)){const e=this._codeEditor.getOption(39).loop;this._state.change({loop:e},!1);const t=this._codeEditor.getOption(39).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new sd(0),this._showViewZone()),!t&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((()=>Pl(this,void 0,void 0,(function*(){if(this._isVisible){const e=yield this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}}))))),this._findInputFocused=Ga.bindTo(s),this._findFocusTracker=this._register(et.go(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=$a.bindTo(s),this._replaceFocusTracker=this._register(et.go(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(39).addExtraSpaceOnTop&&(this._viewZone=new sd(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return ld.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(87)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=et.w(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const e=this._state.searchString.length>0&&0===this._state.matchesCount;this._domNode.classList.toggle("no-results",e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,ye.dL)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let e;if(this._matchesCount.style.minWidth=id+"px",this._state.matchesCount>=vl?this._matchesCount.title=Jl:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=vl&&(t+="+");let i=String(this._state.matchesPosition);"0"===i&&(i="?"),e=we.WU(Xl,i,t)}else e=ed;this._matchesCount.appendChild(document.createTextNode(e)),(0,o.Z9)(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),id=Math.max(id,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===ed)return""===i?y.NC("ariaSearchNoResultEmpty","{0} found",e):y.NC("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=y.NC("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),o=this._codeEditor.getModel();if(o&&t.startLineNumber<=o.getLineCount()&&t.startLineNumber>=1){return`${o.getLineContent(t.startLineNumber)}, ${n}`}return n}return y.NC("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(87);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(39).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(39).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=et.i(i),o=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),s=n.left+(o?o.left:0),r=o?o.top:0;if(this._viewZone&&re.startLineNumber&&(t=!1);const i=et.xQ(this._domNode).left;s>i&&(t=!1);const o=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(o?o.left:0)>i&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach((e=>{clearTimeout(e)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(39).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((i=>{t.heightInPx=this._getHeight(),this._viewZoneId=i.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)}))}_showViewZone(e=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(39).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new sd(0));const t=this._viewZone;this._codeEditor.changeViewZones((i=>{if(void 0!==this._viewZoneId){const n=this._getHeight();if(n===t.heightInPx)return;const o=n-t.heightInPx;return t.heightInPx=n,i.layoutZone(this._viewZoneId),void(e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+o))}{let n=this._getHeight();if(n-=this._codeEditor.getOption(81).top,n<=0)return;t.heightInPx=n,this._viewZoneId=i.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n)}}))}_removeViewZone(){this._codeEditor.changeViewZones((e=>{void 0!==this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!et.Uw(this._domNode))return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const t=e.width,i=e.minimap.minimapWidth;let n=!1,o=!1,s=!1;if(this._resized){if(et.w(this._domNode)>td)return this._domNode.style.maxWidth=t-28-i-15+"px",void(this._replaceInput.width=et.w(this._findInput.domNode))}if(447+i>=t&&(o=!0),447+i-id>=t&&(s=!0),447+i-id>=t+50&&(n=!0),this._domNode.classList.toggle("collapsed-find-widget",n),this._domNode.classList.toggle("narrow-find-widget",s),this._domNode.classList.toggle("reduced-find-widget",o),s||n||(this._domNode.style.maxWidth=t-28-i-15+"px"),this._findInput.layout({collapsedFindWidget:n,narrowFindWidget:s,reducedFindWidget:o}),this._resized){const e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=et.w(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map((e=>{1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));const t=this._state.currentMatch;return e.startLineNumber===e.endLineNumber||B.e.equalsRange(e,t)?null:e})).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){return e.equals(3|od)?(this._keybindingService.dispatchEvent(e,e.target)||this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?rd(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?ad(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(e){return e.equals(3|od)?(this._keybindingService.dispatchEvent(e,e.target)||(oe.ED&&oe.tY&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(y.NC("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(nd,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?rd(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?ad(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new Po.Yb(null,this._contextViewProvider,{width:221,label:Hl,placeholder:zl,appendCaseSensitiveLabel:this._keybindingLabelFor(cl),appendWholeWordsLabel:this._keybindingLabelFor(hl),appendRegexLabel:this._keybindingLabelFor(ul),validation:e=>{if(0===e.length||!this._findInput.getRegex())return null;try{return new RegExp(e,"gu"),null}catch(e){return{content:e.message}}},flexibleHeight:true,flexibleWidth:true,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>(0,Dl.u)(this._keybindingService),inputBoxStyles:Rl.Hc,toggleStyles:Rl.pl},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((e=>this._onFindInputKeyDown(e)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((e=>{this._tryUpdateHeight()&&this._showViewZone()}))),oe.IJ&&this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new dd({label:Ul+this._keybindingLabelFor(ol),icon:Wl,onTrigger:()=>{(0,wt.cW)(this._codeEditor.getAction(ol)).run().then(void 0,ye.dL)}})),this._nextBtn=this._register(new dd({label:jl+this._keybindingLabelFor(nl),icon:Bl,onTrigger:()=>{(0,wt.cW)(this._codeEditor.getAction(nl)).run().then(void 0,ye.dL)}}));const e=document.createElement("div");e.className="find-part",e.appendChild(this._findInput.domNode);const t=document.createElement("div");t.className="find-actions",e.appendChild(t),t.appendChild(this._matchesCount),t.appendChild(this._prevBtn.domNode),t.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Nl.Z({icon:El,title:ql+this._keybindingLabelFor(gl),isChecked:!1,inputActiveOptionBackground:(0,j.n_1)(j.XEs),inputActiveOptionBorder:(0,j.n_1)(j.PRb),inputActiveOptionForeground:(0,j.n_1)(j.Pvw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const e=this._codeEditor.getSelections();e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)}))),t.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new dd({label:Kl+this._keybindingLabelFor(dl),icon:Os.s_,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}})),t.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new Po.Nq(null,void 0,{label:Gl,placeholder:$l,appendPreserveCaseLabel:this._keybindingLabelFor(pl),history:[],flexibleHeight:true,flexibleWidth:true,flexibleMaxHeight:118,showHistoryHint:()=>(0,Dl.u)(this._keybindingService),inputBoxStyles:Rl.Hc,toggleStyles:Rl.pl},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())}))),this._replaceBtn=this._register(new dd({label:Zl+this._keybindingLabelFor(ml),icon:Fl,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}})),this._replaceAllBtn=this._register(new dd({label:Ql+this._keybindingLabelFor(fl),icon:Vl,onTrigger:()=>{this._controller.replaceAll()}}));const i=document.createElement("div");i.className="replace-part",i.appendChild(this._replaceInput.domNode);const n=document.createElement("div");n.className="replace-actions",i.appendChild(n),n.appendChild(this._replaceBtn.domNode),n.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new dd({label:Yl,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=et.w(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(e),this._domNode.appendChild(i),this._resizeSash=new xl.g(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let o=td;this._register(this._resizeSash.onDidStart((()=>{o=et.w(this._domNode)}))),this._register(this._resizeSash.onDidChange((e=>{this._resized=!0;const t=o+e.startX-e.currentX;if(t(parseFloat(et.Dx(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${t}px`,this._isReplaceVisible&&(this._replaceInput.width=et.w(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const e=et.w(this._domNode);if(e{this._opts.onTrigger(),e.preventDefault()})),this.onkeydown(this._domNode,(e=>{var t,i;if(e.equals(10)||e.equals(3))return this._opts.onTrigger(),void e.preventDefault();null===(i=(t=this._opts).onKeyDown)||void 0===i||i.call(t,e)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...bt.k.asClassNameArray(Ol)),this._domNode.classList.add(...bt.k.asClassNameArray(Al))):(this._domNode.classList.remove(...bt.k.asClassNameArray(Al)),this._domNode.classList.add(...bt.k.asClassNameArray(Ol)))}}(0,q.Ic)(((e,t)=>{const i=(e,i)=>{i&&t.addRule(`.monaco-editor ${e} { background-color: ${i}; }`)};i(".findMatch",e.getColor(j.MUv)),i(".currentFindMatch",e.getColor(j.nyM)),i(".findScope",e.getColor(j.jUe));i(".find-widget",e.getColor(j.D0T));const n=e.getColor(j.rh);n&&t.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${n}; }`);const o=e.getColor(j.A42);o&&t.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${o}; border-right: 1px solid ${o}; border-bottom: 1px solid ${o}; }`);const s=e.getColor(j.EiJ);s&&t.addRule(`.monaco-editor .findMatch { border: 1px ${(0,Ml.c3)(e.type)?"dotted":"solid"} ${s}; box-sizing: border-box; }`);const r=e.getColor(j.pnM);r&&t.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const a=e.getColor(j.gkn);a&&t.addRule(`.monaco-editor .findScope { border: 1px ${(0,Ml.c3)(e.type)?"dashed":"solid"} ${a}; }`);const l=e.getColor(j.lRK);l&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${l}; }`);const d=e.getColor(j.Hfx);d&&t.addRule(`.monaco-editor .find-widget { color: ${d}; }`);const c=e.getColor(j.Ido);c&&t.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${c}; }`);const h=e.getColor(j.Ng6);if(h)t.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${h}; }`);else{const i=e.getColor(j.D1_);i&&t.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${i}; }`)}const u=e.getColor(j.lUq);u&&t.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${u} !important;\n\t\t}\n\t`);const g=e.getColor(j.R80);g&&t.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${g}; }`)}));var cd=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},hd=function(e,t){return function(i,n){t(i,n,e)}},ud=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 gd(e,t="single",i=!1){if(!e.hasModel())return null;const n=e.getSelection();if("single"===t&&n.startLineNumber===n.endLineNumber||"multiple"===t)if(n.isEmpty()){const t=e.getConfiguredWordAtPosition(n.getStartPosition());if(t&&!1===i)return t.word}else if(e.getModel().getValueLengthInRange(n)<524288)return e.getModel().getValueInRange(n);return null}let pd=class e extends A.JT{get editor(){return this._editor}static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n){super(),this._editor=e,this._findWidgetVisible=Ka.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._updateHistoryDelayer=new O.vp(500),this._state=this._register(new kl),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(39).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,0),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,0),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,0),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,0)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!Ga.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const e=this._editor.getSelections();e.map((e=>(1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e))).filter((e=>!!e)),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=we.ec(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}_start(e,t){return ud(this,void 0,void 0,(function*(){if(this.disposeModel(),!this._editor.hasModel())return;const i=Object.assign(Object.assign({},t),{isRevealed:!0});if("single"===e.seedSearchStringFromSelection){const t=gd(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(this._state.isRegex?i.searchString=we.ec(t):i.searchString=t)}else if("multiple"===e.seedSearchStringFromSelection&&!e.updateSearchScope){const t=gd(this._editor,e.seedSearchStringFromSelection);t&&(i.searchString=t)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const e=yield this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(i.searchString=e)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const e=this._editor.getSelections();e.some((e=>!e.isEmpty()))&&(i.searchScope=e)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new Cl(this._editor,this._state))}))}start(e,t){return this._start(e,t)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(e){return!!this._model&&(this._model.moveToMatch(e),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){return!!this._model&&(this._model.replaceAll(),!0)}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}getGlobalBufferTerm(){return ud(this,void 0,void 0,(function*(){return this._editor.getOption(39).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}))}setGlobalBufferTerm(e){this._editor.getOption(39).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};pd.ID="editor.contrib.findController",pd=cd([hd(1,k.i6),hd(2,fi.Uy),hd(3,ae.p)],pd);let md=class extends pd{constructor(e,t,i,n,o,s,r,a){super(e,i,r,a),this._contextViewService=t,this._keybindingService=n,this._themeService=o,this._notificationService=s,this._widget=null,this._findOptionsWidget=null}_start(e,t){const i=Object.create(null,{_start:{get:()=>super._start}});return ud(this,void 0,void 0,(function*(){this._widget||this._createFindWidget();const n=this._editor.getSelection();let o=!1;switch(this._editor.getOption(39).autoFindInSelection){case"always":o=!0;break;case"never":o=!1;break;case"multiline":o=!!n&&n.startLineNumber!==n.endLineNumber;break}e.updateSearchScope=e.updateSearchScope||o,yield i._start.call(this,e,t),this._widget&&(2===e.shouldFocus?this._widget.focusReplaceInput():1===e.shouldFocus&&this._widget.focusFindInput())}))}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new ld(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new Ll(this._editor,this._state,this._keybindingService))}};md=cd([hd(1,Ir.u),hd(2,k.i6),hd(3,tt.d),hd(4,q.XE),hd(5,Me.lT),hd(6,fi.Uy),hd(7,ae.p)],md);(0,w.rn)(new w.jY({id:el,label:y.NC("startFindAction","Find"),alias:"Find",precondition:k.Ao.or(L.u.focus,k.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:U.eH.MenubarEditMenu,group:"3_find",title:y.NC({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})).addImplementation(0,((e,t,i)=>{const n=pd.get(t);return!!n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==t.getOption(39).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(39).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(39).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(39).loop})}));const fd={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:y.NC("actions.find.isRegexOverride",'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:y.NC("actions.find.wholeWordOverride",'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:y.NC("actions.find.matchCaseOverride",'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:y.NC("actions.find.preserveCaseOverride",'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class _d extends w.R6{constructor(){super({id:il,label:y.NC("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:fd})}run(e,t,i){return ud(this,void 0,void 0,(function*(){const e=pd.get(t);if(e){const n=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:void 0!==i.replaceString,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==t.getOption(39).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(39).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==i?void 0:i.findInSelection)||!1,loop:t.getOption(39).loop},n),e.setGlobalBufferTerm(e.getState().searchString)}}))}}class vd extends w.R6{constructor(){super({id:tl,label:y.NC("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}run(e,t){return ud(this,void 0,void 0,(function*(){const e=pd.get(t);e&&(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(39).loop}),e.setGlobalBufferTerm(e.getState().searchString))}))}}class Cd extends w.R6{run(e,t){return ud(this,void 0,void 0,(function*(){const e=pd.get(t);e&&!this._run(e)&&(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==t.getOption(39).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(39).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(39).loop}),this._run(e))}))}}class bd extends w.R6{constructor(){super({id:sl,label:y.NC("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Ka}),this._highlightDecorations=[]}run(e,t,i){const n=pd.get(t);if(!n)return;const o=e.get(Di.eJ).createInputBox();o.placeholder=y.NC("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",n.getState().matchesCount);const s=e=>{const i=parseInt(e);if(!isNaN(i)&&i>0&&i<=n.getState().matchesCount){o.validationMessage=void 0,n.goToMatch(i-1);const e=n.getState().currentMatch;e&&this.addDecorations(t,e)}else o.validationMessage=y.NC("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};o.onDidChangeValue((e=>{s(e)})),o.onDidAccept((()=>{const e=parseInt(o.value);!isNaN(e)&&e>0&&e<=n.getState().matchesCount?(n.goToMatch(e-1),o.hide()):o.validationMessage=y.NC("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(t),o.dispose()})),o.show()}clearDecorations(e){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(e,t){e.changeDecorations((e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:(0,q.EN)(Aa.m9),position:H.sh.Full}}}])}))}}class wd extends w.R6{run(e,t){return ud(this,void 0,void 0,(function*(){const e=pd.get(t);if(!e)return;const i=gd(t,"single",!1);i&&e.setSearchString(i),this._run(e)||(yield e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(39).loop}),this._run(e))}))}}(0,w.rn)(new w.jY({id:ll,label:y.NC("startReplace","Replace"),alias:"Replace",precondition:k.Ao.or(L.u.focus,k.Ao.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:U.eH.MenubarEditMenu,group:"3_find",title:y.NC({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})).addImplementation(0,((e,t,i)=>{if(!t.hasModel()||t.getOption(87))return!1;const n=pd.get(t);if(!n)return!1;const o=t.getSelection(),s=n.isFindInputFocused(),r=!o.isEmpty()&&o.startLineNumber===o.endLineNumber&&"never"!==t.getOption(39).seedSearchStringFromSelection&&!s,a=s||r?2:1;return n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===t.getOption(39).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==t.getOption(39).seedSearchStringFromSelection,shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(39).loop})})),(0,w._K)(pd.ID,md,0),(0,w.Qr)(_d),(0,w.Qr)(vd),(0,w.Qr)(class extends Cd{constructor(){super({id:nl,label:y.NC("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:L.u.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:k.Ao.and(L.u.focus,Ga),primary:3,weight:100}]})}_run(e){return!!e.moveToNextMatch()&&(e.editor.pushUndoStop(),!0)}}),(0,w.Qr)(class extends Cd{constructor(){super({id:ol,label:y.NC("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:L.u.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:k.Ao.and(L.u.focus,Ga),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}),(0,w.Qr)(bd),(0,w.Qr)(class extends wd{constructor(){super({id:rl,label:y.NC("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}),(0,w.Qr)(class extends wd{constructor(){super({id:al,label:y.NC("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:L.u.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}});const Sd=w._l.bindToContribution(pd.get);(0,w.fK)(new Sd({id:dl,precondition:Ka,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:k.Ao.and(L.u.focus,k.Ao.not("isComposing")),primary:9,secondary:[1033]}})),(0,w.fK)(new Sd({id:cl,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:Za.primary,mac:Za.mac,win:Za.win,linux:Za.linux}})),(0,w.fK)(new Sd({id:hl,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:Qa.primary,mac:Qa.mac,win:Qa.win,linux:Qa.linux}})),(0,w.fK)(new Sd({id:ul,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:Ya.primary,mac:Ya.mac,win:Ya.win,linux:Ya.linux}})),(0,w.fK)(new Sd({id:gl,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:Ja.primary,mac:Ja.mac,win:Ja.win,linux:Ja.linux}})),(0,w.fK)(new Sd({id:pl,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:Xa.primary,mac:Xa.mac,win:Xa.win,linux:Xa.linux}})),(0,w.fK)(new Sd({id:ml,precondition:Ka,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:3094}})),(0,w.fK)(new Sd({id:ml,precondition:Ka,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:k.Ao.and(L.u.focus,$a),primary:3}})),(0,w.fK)(new Sd({id:fl,precondition:Ka,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:2563}})),(0,w.fK)(new Sd({id:fl,precondition:Ka,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:k.Ao.and(L.u.focus,$a),primary:void 0,mac:{primary:2051}}})),(0,w.fK)(new Sd({id:_l,precondition:Ka,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:L.u.focus,primary:515}}));var Ld=i(43388),yd={};yd.styleTagTransform=v(),yd.setAttributes=p(),yd.insert=u().bind(null,"head"),yd.domAPI=c(),yd.insertStyleElement=f();l()(Ld.Z,yd);Ld.Z&&Ld.Z.locals&&Ld.Z.locals;const kd={0:" ",1:"u",2:"r"},Nd=16777215,xd=4278190080;class Id{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return 0!=(this._states[t]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Id(e.length),this._userDefinedStates=new Id(e.length),this._recoveredStates=new Id(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(t,i)=>{const n=e[e.length-1];return this.getStartLineNumber(n)<=t&&this.getEndLineNumber(n)>=i};for(let i=0,n=this._startIndexes.length;iNd||o>Nd)throw new Error("startLineNumber or endLineNumber must not exceed "+Nd);for(;e.length>0&&!t(n,o);)e.pop();const s=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((255&s)<<24),this._endIndexes[i]=o+((65280&s)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Nd}getEndLineNumber(e){return this._endIndexes[e]&Nd}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){1===t?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):2===t?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n>>24)+((this._endIndexes[e]&xd)>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(e)?i=>ii=d.startLineNumber))l&&l.startLineNumber===d.startLineNumber?(1===d.source?e=d:(e=l,e.isCollapsed=d.isCollapsed&&l.endLineNumber===d.endLineNumber,e.source=0),l=o(++r)):(e=d,d.isCollapsed&&0===d.source&&(e.source=2)),d=s(++a);else{let t=a,i=d;for(;;){if(!i||i.startLineNumber>l.endLineNumber){e=l;break}if(1===i.source&&i.endLineNumber>l.endLineNumber)break;i=s(++t)}l=o(++r)}if(e){for(;h&&h.endLineNumbere.startLineNumber&&e.startLineNumber>u&&e.endLineNumber<=i&&(!h||h.endLineNumber>=e.endLineNumber)&&(g.push(e),u=e.startLineNumber,h&&c.push(h),h=e)}}return g}}class Dd{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}var Md=i(89954);class Rd{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Ct.Q5,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Td(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort(((e,t)=>e.regionIndex-t.regionIndex));const t={};this._decorationProvider.changeDecorations((i=>{let n=0,o=-1,s=-1;const r=e=>{for(;ns&&(s=e),n++}};for(const i of e){const e=i.regionIndex,n=this._editorDecorationIds[e];if(n&&!t[n]){t[n]=!0,r(e);const i=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,i),o=Math.max(o,this._regions.getEndLineNumber(e))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=t=>{for(const i of e)if(!(i.startLineNumber>t.endLineNumber||t.startLineNumber>i.endLineNumber))return!0;return!1};for(let e=0;ei&&(i=s)}this._decorationProvider.changeDecorations((e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t))),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(t,i)=>{for(const n of e)if(t=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>i)continue;const s=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,isCollapsed:o.isCollapsed,source:o.source,checksum:s})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const n=[],o=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>o)continue;const e=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);s.checksum&&e!==s.checksum||n.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:null===(t=s.isCollapsed)||void 0===t||t,source:null!==(i=s.source)&&void 0!==i?i:0})}const s=Td.sanitizeAndMerge(this._regions,n,o);this.updatePost(Td.fromFoldRanges(s))}_getLinesChecksum(e,t){return(0,Md.vp)(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),o=1;for(;n>=0;){const e=this._regions.toRegion(n);t&&!t(e,o)||i.push(e),o++,n=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let s=n,r=this._regions.length;s0&&!n.containedBy(e[e.length-1]);)e.pop();e.push(n),t(n,e.length)&&i.push(n)}}else for(let e=n,s=this._regions.length;e0)for(const s of n){const n=e.getRegionAtLine(s);if(n&&(n.isCollapsed!==t&&o.push(n),i>1)){const s=e.getRegionsInside(n,((e,n)=>e.isCollapsed!==t&&ne.isCollapsed!==t&&ne.isCollapsed!==t&&n<=i));o.push(...n)}e.toggleCollapseState(o)}function Od(e,t,i){const n=[];for(const t of i){const i=e.getAllRegionsAtLine(t,void 0);i.length>0&&n.push(i[0])}const o=e.getRegionsInside(null,(e=>n.every((t=>!t.containedBy(e)&&!e.containedBy(t)))&&e.isCollapsed!==t));e.toggleCollapseState(o)}function Ad(e,t,i){const n=e.textModel,o=e.regions,s=[];for(let e=o.length-1;e>=0;e--)if(i!==o.isCollapsed(e)){const i=o.getStartLineNumber(e);t.test(n.getLineContent(i))&&s.push(o.toRegion(e))}e.toggleCollapseState(s)}function Fd(e,t,i){const n=e.regions,o=[];for(let e=n.length-1;e>=0;e--)i!==n.isCollapsed(e)&&t===n.getType(e)&&o.push(n.toRegion(e));e.toggleCollapseState(o)}var Vd=i(23795);class Wd{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new Ct.Q5,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange((e=>this.updateHiddenRanges())),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some((e=>e.range.endLineNumber!==e.range.startLineNumber||0!==(0,Vd.Q)(e.text)[0])))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,o=Number.MAX_VALUE,s=-1;const r=this._foldingModel.regions;for(;i0}isHidden(e){return null!==Bd(this._hiddenRanges,e)}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const o=e=>(n&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,n)||(n=Bd(this._hiddenRanges,e)),n?n.startLineNumber-1:null);for(let n=0,s=e.length;n0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function Bd(e,t){const i=(0,Se.lG)(e,(e=>t=0&&e[i].endLineNumber>=t?e[i]:null}class Hd{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id="indent"}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(function(e,t,i,n=Ud){const o=e.getOptions().tabSize,s=new zd(n);let r;i&&(r=new RegExp(`(${i.start.source})|(?:${i.end.source})`));const a=[],l=e.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let i=e.getLineCount();i>0;i--){const n=e.getLineContent(i),l=(0,kt.q)(n,o);let d,c=a[a.length-1];if(-1!==l){if(r&&(d=n.match(r))){if(!d[1]){a.push({indent:-2,endAbove:i,line:i});continue}{let e=a.length-1;for(;e>0&&-2!==a[e].indent;)e--;if(e>0){a.length=e+1,c=a[e],s.insertFirst(i,c.line,l),c.line=i,c.indent=l,c.endAbove=i;continue}}}if(c.indent>l){do{a.pop(),c=a[a.length-1]}while(c.indent>l);const e=c.endAbove-1;e-i>=1&&s.insertFirst(i,e,l)}c.indent===l?c.endAbove=i:a.push({indent:l,endAbove:i,line:i})}else t&&(c.endAbove=i)}return s.toIndentRanges(e)}(this.editorModel,i,n,this.foldingRangesLimit))}}class zd{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Nd||t>Nd)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,n=0;i>=0;i--,n++)e[n]=this._startIndexes[i],t[n]=this._endIndexes[i];return new Td(e,t)}{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let e=0;et){n=e;break}i+=o}}const o=e.getOptions().tabSize,s=new Uint32Array(t),r=new Uint32Array(t);for(let a=this._length-1,l=0;a>=0;a--){const d=this._startIndexes[a],c=e.getLineContent(d),h=(0,kt.q)(c,o);(h{}};const jd=(0,j.P6G)("editor.foldBackground",{light:(0,j.ZnX)(j.hEj,.3),dark:(0,j.ZnX)(j.hEj,.3),hcDark:null,hcLight:null},(0,y.NC)("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);(0,j.P6G)("editorGutter.foldingControlForeground",{dark:j.XZx,light:j.XZx,hcDark:j.XZx,hcLight:j.XZx},(0,y.NC)("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const qd=(0,Os.q5)("folding-expanded",st.l.chevronDown,(0,y.NC)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Kd=(0,Os.q5)("folding-collapsed",st.l.chevronRight,(0,y.NC)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),Gd=(0,Os.q5)("folding-manual-collapsed",Kd,(0,y.NC)("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),$d=(0,Os.q5)("folding-manual-expanded",qd,(0,y.NC)("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Zd={color:(0,q.EN)(jd),position:H.F5.Inline};class Qd{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Qd.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?e?this.showFoldingHighlights?Qd.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Qd.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Qd.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Qd.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Qd.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Qd.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Qd.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?i?Qd.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Qd.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Qd.MANUALLY_EXPANDED_VISUAL_DECORATION:Qd.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}Qd.COLLAPSED_VISUAL_DECORATION=z.qx.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName(Kd)}),Qd.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=z.qx.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Zd,isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName(Kd)}),Qd.MANUALLY_COLLAPSED_VISUAL_DECORATION=z.qx.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName(Gd)}),Qd.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=z.qx.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Zd,isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName(Gd)}),Qd.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=z.qx.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),Qd.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=z.qx.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Zd,isWholeLine:!0}),Qd.EXPANDED_VISUAL_DECORATION=z.qx.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+bt.k.asClassName(qd)}),Qd.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=z.qx.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName(qd)}),Qd.MANUALLY_EXPANDED_VISUAL_DECORATION=z.qx.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+bt.k.asClassName($d)}),Qd.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=z.qx.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:bt.k.asClassName($d)}),Qd.NO_CONTROLS_EXPANDED_RANGE_DECORATION=z.qx.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Qd.HIDDEN_RANGE_DECORATION=z.qx.register({description:"folding-hidden-range-decoration",stickiness:1});const Yd={};class Jd{constructor(e,t,i,n,o){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=o,this.id="syntax",this.disposables=new A.SL,o&&this.disposables.add(o);for(const e of t)"function"==typeof e.onDidChange&&this.disposables.add(e.onDidChange(i))}compute(e){return function(e,t,i){let n=null;const o=e.map(((e,o)=>Promise.resolve(e.provideFoldingRanges(t,Yd,i)).then((e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);const i=t.getLineCount();for(const t of e)t.start>0&&t.end>t.start&&t.end<=i&&n.push({start:t.start,end:t.end,rank:o,kind:t.kind})}}),ye.Cp)));return Promise.all(o).then((e=>n))}(this.providers,this.editorModel,e).then((t=>{var i,n;if(t){const e=function(e,t){const i=e.sort(((e,t)=>{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i})),n=new Xd(t);let o;const s=[];for(const e of i)if(o){if(e.start>o.start)if(e.end<=o.end)s.push(o),o=e,n.add(e.start,e.end,e.kind&&e.kind.value,s.length);else{if(e.start>o.end){do{o=s.pop()}while(o&&e.start>o.end);o&&s.push(o),o=e}n.add(e.start,e.end,e.kind&&e.kind.value,s.length)}}else o=e,n.add(e.start,e.end,e.kind&&e.kind.value,s.length);return n.toIndentRanges()}(t,this.foldingRangesLimit);return e}return null!==(n=null===(i=this.fallbackRangeProvider)||void 0===i?void 0:i.compute(e))&&void 0!==n?n:null}))}dispose(){this.disposables.dispose()}}class Xd{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>Nd||t>Nd)return;const o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=n,this._types[o]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;ie){i=n;break}t+=o}}const n=new Uint32Array(e),o=new Uint32Array(e),s=[];for(let r=0,a=0;r=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},tc=function(e,t){return function(i,n){t(i,n,e)}},ic=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 nc=new k.uy("foldingEnabled",!1);let oc=class e extends A.JT{static get(t){return t.getContribution(e.ID)}static getFoldingRangeProviders(t,i){var n,o;const s=t.foldingRangeProvider.ordered(i);return null!==(o=null===(n=e._foldingRangeSelector)||void 0===n?void 0:n.call(e,s,i))&&void 0!==o?o:s}constructor(e,t,i,n,o,s){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=s,this.localToDispose=this._register(new A.SL),this.editor=e,this._foldingLimitReporter=new sc(e);const r=this.editor.getOptions();this._isEnabled=r.get(41),this._useFoldingProviders="indentation"!==r.get(42),this._unfoldOnClickAfterEndOfLine=r.get(46),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=r.get(44),this.updateDebounceInfo=o.for(s.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new Qd(e),this.foldingDecorationProvider.showFoldingControls=r.get(105),this.foldingDecorationProvider.showFoldingHighlights=r.get(43),this.foldingEnabled=nc.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(41)&&(this._isEnabled=this.editor.getOptions().get(41),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(45)&&this.onModelChanged(),e.hasChanged(105)||e.hasChanged(43)){const e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(105),this.foldingDecorationProvider.showFoldingHighlights=e.get(43),this.triggerFoldingModelChanged()}e.hasChanged(42)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(42),this.onFoldingStrategyChanged()),e.hasChanged(46)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(46)),e.hasChanged(44)&&(this._foldingImportsByDefault=this.editor.getOptions().get(44))}))),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new Rd(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Wd(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((e=>this.onHiddenRangesChanges(e)))),this.updateScheduler=new O.vp(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new O.pY((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((e=>this.onDidChangeModelContent(e)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e)))),this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e)))),this.localToDispose.add({dispose:()=>{var e,t;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(e=this.updateScheduler)||void 0===e||e.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;null===(e=this.rangeProvider)||void 0===e||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new Hd(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const n=e.getFoldingRangeProviders(this.languageFeaturesService,t);n.length>0&&(this.rangeProvider=new Jd(t,n,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;null===(t=this.hiddenRangeModel)||void 0===t||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const e=this.foldingModel;if(!e)return null;const t=new Fi.G(!0),i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=(0,O.PG)((e=>i.compute(e)));return n.then((i=>{if(i&&n===this.foldingRegionPromise){let n;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const e=i.setCollapsedAllOfType(yn.AD.Imports.value,!0);e&&(n=li.Z.capture(this.editor),this._currentModelHasFoldedImports=e)}const o=this.editor.getSelections(),s=o?o.map((e=>e.startLineNumber)):[];e.update(i,s),null==n||n.restore(this.editor);const r=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return e}))})).then(void 0,(e=>((0,ye.dL)(e),null))))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then((e=>{if(e){const t=this.editor.getSelections();if(t&&t.length>0){const i=[];for(const n of t){const t=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,(e=>e.isCollapsed&&t>e.startLineNumber)))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}})).then(void 0,ye.dL)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const t=e.target.detail,n=e.target.element.offsetLeft;if(t.offsetX-n<5)return;i=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){const e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,o=e.target.range;if(!o||o.startLineNumber!==i)return;if(n){if(4!==e.target.type)return}else{const e=this.editor.getModel();if(!e||o.startColumn!==e.getLineMaxColumn(i))return}const s=t.getRegionAtLine(i);if(s&&s.startLineNumber===i){const o=s.isCollapsed;if(n||o){let n=[];if(e.event.altKey){const e=e=>!e.containedBy(s)&&!s.containedBy(e),i=t.getRegionsInside(null,e);for(const e of i)e.isCollapsed&&n.push(e);0===n.length&&(n=i)}else{const i=e.event.middleButton||e.event.shiftKey;if(i)for(const e of t.getRegionsInside(s))e.isCollapsed===o&&n.push(e);!o&&i&&0!==n.length||n.push(s)}t.toggleCollapseState(n),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};oc.ID="editor.contrib.folding",oc=ec([tc(1,k.i6),tc(2,da.c_),tc(3,Me.lT),tc(4,Mi.A),tc(5,xe.p)],oc);class sc{constructor(e){this.editor=e,this._onDidChange=new Ct.Q5,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(45)}update(e,t){e===this._computed&&t===this._limited||(this._computed=e,this._limited=t,this._onDidChange.fire())}}class rc extends w.R6{runEditorCommand(e,t,i){const n=e.get(da.c_),o=oc.get(t);if(!o)return;const s=o.getFoldingModel();return s?(this.reportTelemetry(e,t),s.then((e=>{if(e){this.invoke(o,e,t,i,n);const s=t.getSelection();s&&o.reveal(s.getStartPosition())}}))):void 0}getSelectedLines(e){const t=e.getSelections();return t?t.map((e=>e.startLineNumber)):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map((e=>e+1)):this.getSelectedLines(t)}run(e,t){}}function ac(e){if(!wt.o8(e)){if(!wt.Kn(e))return!1;const t=e;if(!wt.o8(t.levels)&&!wt.hj(t.levels))return!1;if(!wt.o8(t.direction)&&!wt.HD(t.direction))return!1;if(!(wt.o8(t.selectionLines)||Array.isArray(t.selectionLines)&&t.selectionLines.every(wt.hj)))return!1}return!0}class lc extends rc{getFoldingLevel(){return parseInt(this.id.substr(lc.ID_PREFIX.length))}invoke(e,t,i){!function(e,t,i,n){const o=e.getRegionsInside(null,((e,o)=>o===t&&e.isCollapsed!==i&&!n.some((t=>e.containsLine(t)))));e.toggleCollapseState(o)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}lc.ID_PREFIX="editor.foldLevel",lc.ID=e=>lc.ID_PREFIX+e;(0,w._K)(oc.ID,oc,0),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.unfold",label:y.NC("unfoldAction.label","Unfold"),alias:"Unfold",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:ac,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const o=n&&n.levels||1,s=this.getLineNumbers(n,i);n&&"up"===n.direction?Ed(t,!1,o,s):Pd(t,!1,o,s)}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.unfoldRecursively",label:y.NC("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2137),weight:100}})}invoke(e,t,i,n){Pd(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.fold",label:y.NC("foldAction.label","Fold"),alias:"Fold",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:ac,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const o=this.getLineNumbers(n,i),s=n&&n.levels,r=n&&n.direction;"number"!=typeof s&&"string"!=typeof r?function(e,t,i){const n=[];for(const o of i){const i=e.getAllRegionsAtLine(o,(e=>e.isCollapsed!==t));i.length>0&&n.push(i[0])}e.toggleCollapseState(n)}(t,!0,o):"up"===r?Ed(t,!0,s||1,o):Pd(t,!0,s||1,o)}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.foldRecursively",label:y.NC("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2135),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Pd(t,!0,Number.MAX_VALUE,n)}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.foldAll",label:y.NC("foldAllAction.label","Fold All"),alias:"Fold All",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2069),weight:100}})}invoke(e,t,i){Pd(t,!0)}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.unfoldAll",label:y.NC("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2088),weight:100}})}invoke(e,t,i){Pd(t,!1)}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.foldAllBlockComments",label:y.NC("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2133),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())Fd(t,yn.AD.Comment.value,!0);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).comments;if(n&&n.blockCommentStartToken){Ad(t,new RegExp("^\\s*"+(0,we.ec)(n.blockCommentStartToken)),!0)}}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.foldAllMarkerRegions",label:y.NC("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2077),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())Fd(t,yn.AD.Region.value,!0);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){Ad(t,new RegExp(n.markers.start),!0)}}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y.NC("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2078),weight:100}})}invoke(e,t,i,n,o){if(t.regions.hasTypes())Fd(t,yn.AD.Region.value,!1);else{const e=i.getModel();if(!e)return;const n=o.getLanguageConfiguration(e.getLanguageId()).foldingRules;if(n&&n.markers&&n.markers.start){Ad(t,new RegExp(n.markers.start),!1)}}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.foldAllExcept",label:y.NC("foldAllExcept.label","Fold All Regions Except Selected"),alias:"Fold All Regions Except Selected",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2131),weight:100}})}invoke(e,t,i){Od(t,!0,this.getSelectedLines(i))}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.unfoldAllExcept",label:y.NC("unfoldAllExcept.label","Unfold All Regions Except Selected"),alias:"Unfold All Regions Except Selected",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2129),weight:100}})}invoke(e,t,i){Od(t,!1,this.getSelectedLines(i))}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.toggleFold",label:y.NC("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2090),weight:100}})}invoke(e,t,i){!function(e,t,i){const n=[];for(const o of i){const i=e.getRegionAtLine(o);if(i){const o=!i.isCollapsed;if(n.push(i),t>1){const s=e.getRegionsInside(i,((e,i)=>e.isCollapsed!==o&&i0){const e=function(e,t){let i=null;const n=t.getRegionAtLine(e);if(null!==n&&(i=n.startLineNumber,e===i)){const e=n.parentIndex;i=-1!==e?t.regions.getStartLineNumber(e):null}return i}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.gotoPreviousFold",label:y.NC("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){if(e!==i.startLineNumber)return i.startLineNumber;{const e=i.parentIndex;let n=0;for(-1!==e&&(n=t.regions.getStartLineNumber(i.parentIndex));null!==i;){if(!(i.regionIndex>0))return null;if(i=t.regions.toRegion(i.regionIndex-1),i.startLineNumber<=n)return null;if(i.parentIndex===e)return i.startLineNumber}}}else if(t.regions.length>0)for(i=t.regions.toRegion(t.regions.length-1);null!==i;){if(i.startLineNumber0?t.regions.toRegion(i.regionIndex-1):null}return null}(n[0],t);null!==e&&i.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.gotoNextFold",label:y.NC("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const e=function(e,t){let i=t.getRegionAtLine(e);if(null!==i&&i.startLineNumber===e){const e=i.parentIndex;let n=0;if(-1!==e)n=t.regions.getEndLineNumber(i.parentIndex);else{if(0===t.regions.length)return null;n=t.regions.getEndLineNumber(t.regions.length-1)}for(;null!==i;){if(!(i.regionIndex=n)return null;if(i.parentIndex===e)return i.startLineNumber}}else if(t.regions.length>0)for(i=t.regions.toRegion(0);null!==i;){if(i.startLineNumber>e)return i.startLineNumber;i=i.regionIndexe.startLineNumber&&(o.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(o.length>0){o.sort(((e,t)=>e.startLineNumber-t.startLineNumber));const e=Td.sanitizeAndMerge(t.regions,o,null===(n=i.getModel())||void 0===n?void 0:n.getLineCount());t.updatePost(Td.fromFoldRanges(e))}}}}),(0,w.Qr)(class extends rc{constructor(){super({id:"editor.removeManualFoldingRanges",label:y.NC("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2132),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const i=[];for(const e of n){const{startLineNumber:t,endLineNumber:n}=e;i.push(n>=t?{startLineNumber:t,endLineNumber:n}:{endLineNumber:n,startLineNumber:t})}t.removeManualRanges(i),e.triggerFoldingModelChanged()}}});for(let e=1;e<=7;e++)(0,w.QG)(new lc({id:lc.ID(e),label:y.NC("foldLevelAction.label","Fold Level {0}",e),alias:`Fold Level ${e}`,precondition:nc,kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2048|21+e),weight:100}}));De.P.registerCommand("_executeFoldingRangeProvider",(function(e,...t){return ic(this,void 0,void 0,(function*(){const[i]=t;if(!(i instanceof ke.o))throw(0,ye.b1)();const n=e.get(xe.p),o=e.get(Ie.q).getModel(i);if(!o)throw(0,ye.b1)();const s=e.get(ft.Ui);if(!s.getValue("editor.folding",{resource:i}))return[];const r=e.get(da.c_),a=s.getValue("editor.foldingStrategy",{resource:i}),l={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:i})},update:(e,t)=>{}},d=new Hd(o,r,l);let c=d;if("indentation"!==a){const e=oc.getFoldingRangeProviders(n,o);e.length&&(c=new Jd(o,e,(()=>{}),l,d))}const h=yield c.compute(Le.T.None),u=[];try{if(h)for(let e=0;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},vc=function(e,t){return function(i,n){t(i,n,e)}},Cc=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 bc=class{constructor(e,t,i){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._disposables=new A.SL,this._sessionDisposables=new A.SL,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(54)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(54))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new gc.q;for(const e of t.autoFormatTriggerCharacters)i.add(e.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((e=>{const t=e.charCodeAt(e.length-1);i.has(t)&&this._trigger(String.fromCharCode(t))})))}_trigger(e){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new Le.A,o=this._editor.onDidChangeModelContent((e=>{if(e.isFlush)return n.cancel(),void o.dispose();for(let t=0,s=e.changes.length;t{n.token.isCancellationRequested||(0,Se.Of)(e)&&(fc.V.execute(this._editor,e,!0),(0,mc.Zg)(e))})).finally((()=>{o.dispose()}))}};bc.ID="editor.contrib.autoFormat",bc=_c([vc(1,xe.p),vc(2,pc.p)],bc);let wc=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new A.SL,this._callOnModel=new A.SL,this._callOnDispose.add(e.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(e.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(53)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:e})=>this._trigger(e))))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(mc.x$,this.editor,e,2,Re.Ex.None,Le.T.None).catch(ye.dL))}};wc.ID="editor.contrib.formatOnPaste",wc=_c([vc(1,xe.p),vc(2,_t.TG)],wc);class Sc extends w.R6{constructor(){super({id:"editor.action.formatDocument",label:y.NC("formatDocument.label","Format Document"),alias:"Format Document",precondition:k.Ao.and(L.u.notInCompositeEditor,L.u.writable,L.u.hasDocumentFormattingProvider),kbOpts:{kbExpr:L.u.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(e,t){return Cc(this,void 0,void 0,(function*(){if(t.hasModel()){const i=e.get(_t.TG),n=e.get(Re.ek);yield n.showWhile(i.invokeFunction(mc.Qq,t,1,Re.Ex.None,Le.T.None),250)}}))}}class Lc extends w.R6{constructor(){super({id:"editor.action.formatSelection",label:y.NC("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:k.Ao.and(L.u.writable,L.u.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:L.u.editorTextFocus,primary:(0,r.gx)(2089,2084),weight:100},contextMenuOpts:{when:L.u.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(e,t){return Cc(this,void 0,void 0,(function*(){if(!t.hasModel())return;const i=e.get(_t.TG),n=t.getModel(),o=t.getSelections().map((e=>e.isEmpty()?new B.e(e.startLineNumber,1,e.startLineNumber,n.getLineMaxColumn(e.startLineNumber)):e)),s=e.get(Re.ek);yield s.showWhile(i.invokeFunction(mc.x$,t,o,1,Re.Ex.None,Le.T.None),250)}))}}(0,w._K)(bc.ID,bc,2),(0,w._K)(wc.ID,wc,2),(0,w.Qr)(Sc),(0,w.Qr)(Lc),De.P.registerCommand("editor.action.format",(e=>Cc(void 0,void 0,void 0,(function*(){const t=e.get(re.$).getFocusedCodeEditor();if(!t||!t.hasModel())return;const i=e.get(De.H);t.getSelection().isEmpty()?yield i.executeCommand("editor.action.formatDocument"):yield i.executeCommand("editor.action.formatSelection")}))));var yc=i(30335),kc=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())}))};De.P.registerCommand("_executeDocumentSymbolProvider",(function(e,...t){return kc(this,void 0,void 0,(function*(){const[i]=t;(0,wt.p_)(ke.o.isUri(i));const n=e.get(yc.Je),o=e.get(pn.S),s=yield o.createModelReference(i);try{return(yield n.getOrCreate(s.object.textEditorModel,Le.T.None)).getTopLevelSymbols()}finally{s.dispose()}}))}));var Nc=i(7988),xc=i(35146),Ic=i(35382),Tc=i(45035),Dc=i(13883),Mc=i(61761),Rc=i(6735);class Pc{constructor(e){this.lines=e,this.tokenization={getLineTokens:e=>this.lines[e-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}class Ec{constructor(e){this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t{const t=B.e.lift(e.range);return{startOffset:i.getOffset(t.getStartPosition()),endOffset:i.getOffset(t.getEndPosition()),text:e.text}}));n.sort(((e,t)=>t.startOffset-e.startOffset));for(const t of n)e=e.substring(0,t.startOffset)+t.text+e.substring(t.endOffset);return e}(e.substr(0,t.column-1),this.parts.map((e=>({range:{startLineNumber:1,endLineNumber:1,startColumn:e.column,endColumn:e.column},text:e.lines.join("\n")})))).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((e=>0===e.lines.length))}}class Fc{constructor(e,t,i){this.column=e,this.lines=t,this.preview=i}}class Vc{constructor(e,t,i,n,o=0){this.lineNumber=e,this.columnStart=t,this.length=i,this.newLines=n,this.additionalReservedLineCount=o,this.parts=[new Fc(this.columnStart+this.length,this.newLines,!1)]}renderForScreenReader(e){return this.newLines.join("\n")}}class Wc extends A.JT{constructor(e){super(),this.editor=e,this._expanded=void 0,this.onDidChangeEmitter=new Ct.Q5,this.onDidChange=this.onDidChangeEmitter.event,this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(113)&&void 0===this._expanded&&this.onDidChangeEmitter.fire()})))}setExpanded(e){this._expanded=!0,this.onDidChangeEmitter.fire()}}var Bc=i(2484);function Hc(e,t){if(!t)return t;const i=e.getValueInRange(t.range),n=we.Mh(i,t.insertText),o=e.getOffsetAt(t.range.getStartPosition())+n,s=e.getPositionAt(o),r=i.substr(n),a=we.P1(r,t.insertText),l=e.getPositionAt(Math.max(o,e.getOffsetAt(t.range.getEndPosition())-a));return{range:B.e.fromPositions(s,l),insertText:t.insertText.substr(n,t.insertText.length-n-a),snippetInfo:t.snippetInfo,filterText:t.filterText,additionalTextEdits:t.additionalTextEdits}}function zc(e,t,i,n,o=0){if(e.range.startLineNumber!==e.range.endLineNumber)return;const s=t.getLineContent(e.range.startLineNumber),r=we.V8(s).length;if(e.range.startColumn-1<=r){const t=we.V8(e.insertText).length,i=s.substring(e.range.startColumn-1,r),n=B.e.fromPositions(e.range.getStartPosition().delta(0,i.length),e.range.getEndPosition()),o=e.insertText.startsWith(i)?e.insertText.substring(i.length):e.insertText.substring(t);e={range:n,insertText:o,command:e.command,snippetInfo:void 0,filterText:e.filterText,additionalTextEdits:e.additionalTextEdits}}const a=t.getValueInRange(e.range),l=function(e,t){if((null==Uc?void 0:Uc.originalValue)===e&&(null==Uc?void 0:Uc.newValue)===t)return null==Uc?void 0:Uc.changes;{let i=qc(e,t,!0);if(i){const n=jc(i);if(n>0){const o=qc(e,t,!1);o&&jc(o)0===e.originalLength));if(e.length>1||1===e.length&&e[0].originalStart!==a.length)return}const h=e.insertText.length-o;for(const t of l){const o=e.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&n&&n.lineNumber===e.range.startLineNumber&&o0)return;if(0===t.modifiedLength)continue;const s=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(s,h)),a=e.insertText.substring(t.modifiedStart,r),l=e.insertText.substring(r,Math.max(t.modifiedStart,s));if(a.length>0){const e=we.uq(a);c.push(new Fc(o,e,!1))}if(l.length>0){const e=we.uq(l);c.push(new Fc(o,e,!0))}}return new Ac(d,c,0)}let Uc;function jc(e){let t=0;for(const i of e)t+=i.originalLength;return t}function qc(e,t,i){if(e.length>5e3||t.length>5e3)return;function n(e){let t=0;for(let i=0,n=e.length;it&&(t=n)}return t}const o=Math.max(n(e),n(t));function s(e){if(e<0)throw new Error("unexpected");return o+e+1}function r(e){let t=0,n=0;const o=new Int32Array(e.length);for(let r=0,a=e.length;ra},{getElements:()=>l}).ComputeDiff(!1).changes}var Kc=i(43557),Gc=i(15756),$c={};$c.styleTagTransform=v(),$c.setAttributes=p(),$c.insert=u().bind(null,"head"),$c.domAPI=c(),$c.insertStyleElement=f();l()(Gc.Z,$c);Gc.Z&&Gc.Z.locals&&Gc.Z.locals;var Zc=i(68843),Qc=i(88721),Yc=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},Jc=function(e,t){return function(i,n){t(i,n,e)}};Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class Xc{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(void 0!==i)return i}}}class eh{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){let t=this._model.getValueInRange(this._selection)||void 0,i=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){const e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,i=e.multiline)}if(t&&i&&e.snippet){const i=this._model.getLineContent(this._selection.startLineNumber),n=(0,we.V8)(i,0,this._selection.startColumn-1);let o=n;e.snippet.walk((t=>t!==e&&(t instanceof Lo&&(o=(0,we.V8)((0,we.uq)(t.value).pop())),!0)));const s=(0,we.Mh)(o,n);t=t.replace(/(\r\n|\r|\n)(.*)/g,((e,t,i)=>`${t}${o.substr(s)}${i}`))}return t}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){const e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):"CURSOR_INDEX"===t?String(this._selectionIdx):"CURSOR_NUMBER"===t?String(this._selectionIdx+1):void 0}}class th{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if("TM_FILENAME"===t)return Qc.EZ(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){const e=Qc.EZ(this._model.uri.fsPath),t=e.lastIndexOf(".");return t<=0?e:e.slice(0,t)}return"TM_DIRECTORY"===t?"."===Qc.XX(this._model.uri.fsPath)?"":this._labelService.getUriLabel((0,Vt.XX)(this._model.uri)):"TM_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===t?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class ih{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if("CLIPBOARD"!==e.name)return;const t=this._readClipboardText();if(t){if(this._spread){const e=t.split(/\r\n|\n|\r/).filter((e=>!(0,we.m5)(e)));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}}let nh=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n)return"LINE_COMMENT"===t?n.lineCommentToken||void 0:"BLOCK_COMMENT_START"===t?n.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===t&&n.blockCommentEndToken||void 0}};nh=Yc([Jc(2,da.c_)],nh);class oh{constructor(){this._date=new Date}resolve(e){const{name:t}=e;return"CURRENT_YEAR"===t?String(this._date.getFullYear()):"CURRENT_YEAR_SHORT"===t?String(this._date.getFullYear()).slice(-2):"CURRENT_MONTH"===t?String(this._date.getMonth().valueOf()+1).padStart(2,"0"):"CURRENT_DATE"===t?String(this._date.getDate().valueOf()).padStart(2,"0"):"CURRENT_HOUR"===t?String(this._date.getHours().valueOf()).padStart(2,"0"):"CURRENT_MINUTE"===t?String(this._date.getMinutes().valueOf()).padStart(2,"0"):"CURRENT_SECOND"===t?String(this._date.getSeconds().valueOf()).padStart(2,"0"):"CURRENT_DAY_NAME"===t?oh.dayNames[this._date.getDay()]:"CURRENT_DAY_NAME_SHORT"===t?oh.dayNamesShort[this._date.getDay()]:"CURRENT_MONTH_NAME"===t?oh.monthNames[this._date.getMonth()]:"CURRENT_MONTH_NAME_SHORT"===t?oh.monthNamesShort[this._date.getMonth()]:"CURRENT_SECONDS_UNIX"===t?String(Math.floor(this._date.getTime()/1e3)):void 0}}oh.dayNames=[y.NC("Sunday","Sunday"),y.NC("Monday","Monday"),y.NC("Tuesday","Tuesday"),y.NC("Wednesday","Wednesday"),y.NC("Thursday","Thursday"),y.NC("Friday","Friday"),y.NC("Saturday","Saturday")],oh.dayNamesShort=[y.NC("SundayShort","Sun"),y.NC("MondayShort","Mon"),y.NC("TuesdayShort","Tue"),y.NC("WednesdayShort","Wed"),y.NC("ThursdayShort","Thu"),y.NC("FridayShort","Fri"),y.NC("SaturdayShort","Sat")],oh.monthNames=[y.NC("January","January"),y.NC("February","February"),y.NC("March","March"),y.NC("April","April"),y.NC("May","May"),y.NC("June","June"),y.NC("July","July"),y.NC("August","August"),y.NC("September","September"),y.NC("October","October"),y.NC("November","November"),y.NC("December","December")],oh.monthNamesShort=[y.NC("JanuaryShort","Jan"),y.NC("FebruaryShort","Feb"),y.NC("MarchShort","Mar"),y.NC("AprilShort","Apr"),y.NC("MayShort","May"),y.NC("JuneShort","Jun"),y.NC("JulyShort","Jul"),y.NC("AugustShort","Aug"),y.NC("SeptemberShort","Sep"),y.NC("OctoberShort","Oct"),y.NC("NovemberShort","Nov"),y.NC("DecemberShort","Dec")];class sh{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=(0,fa.uT)(this._workspaceService.getWorkspace());return(0,fa.c$)(t)?void 0:"WORKSPACE_NAME"===e.name?this._resolveWorkspaceName(t):"WORKSPACE_FOLDER"===e.name?this._resoveWorkspacePath(t):void 0}_resolveWorkspaceName(e){if((0,fa.eb)(e))return Qc.EZ(e.uri.path);let t=Qc.EZ(e.configPath.path);return t.endsWith(fa.A6)&&(t=t.substr(0,t.length-fa.A6.length-1)),t}_resoveWorkspacePath(e){if((0,fa.eb)(e))return(0,Zc.D)(e.uri.fsPath);const t=Qc.EZ(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?(0,Zc.D)(i):"/"}}class rh{resolve(e){const{name:t}=e;return"RANDOM"===t?Math.random().toString().slice(-6):"RANDOM_HEX"===t?Math.random().toString(16).slice(-6):"UUID"===t?(0,ta.R)():void 0}}var ah=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},lh=function(e,t){return function(i,n){t(i,n,e)}};class dh{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,Se.vM)(t.placeholders,ko.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations((t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),o=this._snippet.fullLen(i),s=B.e.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+o)),r=i.isFinalTabstop?dh._decor.inactiveFinal:dh._decor.inactive,a=t.addDecoration(s,r);this._placeholderDecorations.set(i,a)}}))}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const e=[];for(const t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){const i=this._placeholderDecorations.get(t),n=this._editor.getModel().getDecorationRange(i),o=this._editor.getModel().getValueInRange(n),s=t.transform.resolve(o).split(/\r\n|\r|\n/);for(let e=1;e0&&this._editor.executeEdits("snippet.placeholderTransform",e)}let t=!1;!0===e&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations((e=>{const i=new Set,n=[];for(const o of this._placeholderGroups[this._placeholderGroupsIdx]){const s=this._placeholderDecorations.get(o),r=this._editor.getModel().getDecorationRange(s);n.push(new S.Y(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(o),e.changeDecorationOptions(s,o.isFinalTabstop?dh._decor.activeFinal:dh._decor.active),i.add(o);for(const t of this._snippet.enclosingPlaceholders(o)){const n=this._placeholderDecorations.get(t);e.changeDecorationOptions(n,t.isFinalTabstop?dh._decor.activeFinal:dh._decor.active),i.add(t)}}for(const[t,n]of this._placeholderDecorations)i.has(t)||e.changeDecorationOptions(n,t.isFinalTabstop?dh._decor.inactiveFinal:dh._decor.inactive);return n}));return t?this.move(e):null!=i?i:[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof ko){const e=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(e).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const t=this._placeholderDecorations.get(n),o=this._editor.getModel().getDecorationRange(t);if(!o){e.delete(n.index);break}i.push(o)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==e?void 0:e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);return i?{range:i,choice:e.choice}:void 0}get hasChoice(){let e=!1;return this._snippet.walk((t=>(e=t instanceof No,!e))),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=e.shift();console.assert(-1!==o._offset),console.assert(!o._placeholderDecorations);const s=o._snippet.placeholderInfo.last.index;for(const e of o._snippet.placeholderInfo.all)e.isFinalTabstop?e.index=n.index+(s+1)/this._nestingLevel:e.index=n.index+e.index/this._nestingLevel;this._snippet.replace(n,o._snippet.children);const r=this._placeholderDecorations.get(n);i.removeDecoration(r),this._placeholderDecorations.delete(n);for(const e of o._snippet.placeholders){const n=o._snippet.offset(e),s=o._snippet.fullLen(e),r=B.e.fromPositions(t.getPositionAt(o._offset+n),t.getPositionAt(o._offset+n+s)),a=i.addDecoration(r,dh._decor.inactive);this._placeholderDecorations.set(e,a)}}this._placeholderGroups=(0,Se.vM)(this._snippet.placeholders,ko.compareByIndex)}))}}dh._decor={active:z.qx.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:z.qx.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:z.qx.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:z.qx.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const ch={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let hh=class e{static adjustWhitespace(e,t,i,n,o){const s=e.getLineContent(t.lineNumber),r=(0,we.V8)(s,0,t.column-1);let a;return n.walk((t=>{if(!(t instanceof Lo)||t.parent instanceof No)return!0;if(o&&!o.has(t))return!0;const s=t.value.split(/\r\n|\r|\n/);if(i){const i=n.offset(t);if(0===i)s[0]=e.normalizeIndentation(s[0]);else{a=null!=a?a:n.toString();const t=a.charCodeAt(i-1);10!==t&&13!==t||(s[0]=e.normalizeIndentation(r+s[0]))}for(let t=1;te.get(fa.ec))),p=t.invokeWithinContext((e=>new th(e.get(Bs.e),u))),m=()=>a,f=u.getValueInRange(e.adjustSelection(u,t.getSelection(),n,0)),_=u.getValueInRange(e.adjustSelection(u,t.getSelection(),0,o)),v=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),C=t.getSelections().map(((e,t)=>({selection:e,idx:t}))).sort(((e,t)=>B.e.compareRangesUsingStarts(e.selection,t.selection)));for(const{selection:a,idx:b}of C){let w=e.adjustSelection(u,a,n,0),S=e.adjustSelection(u,a,0,o);f!==u.getValueInRange(w)&&(w=a),_!==u.getValueInRange(S)&&(S=a);const L=a.setStartPosition(w.startLineNumber,w.startColumn).setEndPosition(S.endLineNumber,S.endColumn),y=(new Ro).parse(i,!0,s),k=L.getStartPosition(),N=e.adjustWhitespace(u,k,r||b>0&&v!==u.getLineFirstNonWhitespaceColumn(a.positionLineNumber),y);y.resolveVariables(new Xc([p,new ih(m,b,C.length,"spread"===t.getOption(76)),new eh(u,a,b,l),new nh(u,a,d),new oh,new sh(g),new rh])),c[b]=ca.h.replace(L,y.toString()),c[b].identifier={major:b,minor:0},c[b]._isTracked=!0,h[b]=new dh(t,y,N)}return{edits:c,snippets:h}}static createEditsAndSnippetsFromEdits(t,i,n,o,s,r,a){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const l=[],d=t.getModel(),c=new Ro,h=new Mo,u=new Xc([t.invokeWithinContext((e=>new th(e.get(Bs.e),d))),new ih((()=>s),0,t.getSelections().length,"spread"===t.getOption(76)),new eh(d,t.getSelection(),0,r),new nh(d,t.getSelection(),a),new oh,new sh(t.invokeWithinContext((e=>e.get(fa.ec)))),new rh]);i=i.sort(((e,t)=>B.e.compareRangesUsingStarts(e.range,t.range)));let g=0;for(let t=0;t0){const e=i[t-1].range,o=B.e.fromPositions(e.getEndPosition(),n.getStartPosition()),s=new Lo(d.getValueInRange(o));h.appendChild(s),g+=s.value.length}const s=c.parseFragment(o,h);e.adjustWhitespace(d,n.getStartPosition(),!0,h,new Set(s)),h.resolveVariables(u);const r=h.toString(),a=r.slice(g);g=r.length;const p=ca.h.replace(n,a);p.identifier={major:t,minor:0},p._isTracked=!0,l.push(p)}return c.ensureFinalTabstop(h,n,!0),{edits:l,snippets:[new dh(t,h,"")]}}constructor(e,t,i=ch,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){(0,A.B9)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?e.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):e.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(e=>{const t=e.filter((e=>!!e.identifier));for(let e=0;eS.Y.fromPositions(e.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=ch){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:n,snippets:o}=e.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",n,(e=>{const t=e.filter((e=>!!e.identifier));for(let e=0;eS.Y.fromPositions(e.range.getEndPosition())))}))}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{e.push(...n.get(t))}))}e.sort(B.e.compareRangesUsingStarts);for(const[i,n]of t)if(n.length===e.length){n.sort(B.e.compareRangesUsingStarts);for(let o=0;o0}};hh=ah([lh(3,da.c_)],hh);var uh=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},gh=function(e,t){return function(i,n){t(i,n,e)}};const ph={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let mh=class e{static get(t){return t.getContribution(e.ID)}constructor(t,i,n,o,s){this._editor=t,this._logService=i,this._languageFeaturesService=n,this._languageConfigurationService=s,this._snippetListener=new A.SL,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(o),this._hasNextTabstop=e.HasNextTabstop.bindTo(o),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(o)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(e=this._session)||void 0===e||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,void 0===t?ph:Object.assign(Object.assign({},ph),t))}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof e&&this.cancel(),this._session?((0,wt.p_)("string"==typeof e),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new hh(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(i=this._session)||void 0===i?void 0:i.hasChoice){this._choiceCompletionItemProvider={provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!W.L.equals(this._editor.getPosition(),t))return;const{activeChoice:i}=this._session;if(!i||0===i.choice.options.length)return;const n=e.getValueInRange(i.range),o=Boolean(i.choice.options.find((e=>e.value===n))),s=[];for(let e=0;ee.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:e}=this._session;e&&this._choiceCompletionItemProvider?this._currentChoice!==e.choice&&(this._currentChoice=e.choice,queueMicrotask((()=>{!function(e,t){var i;null===(i=e.getContribution("editor.contrib.suggestController"))||void 0===i||i.triggerSuggest((new Set).add(t),void 0,!0)}(this._editor,this._choiceCompletionItemProvider)}))):this._currentChoice=void 0}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(t=this._session)||void 0===t||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;null===(e=this._session)||void 0===e||e.prev(),this._updateState()}next(){var e;null===(e=this._session)||void 0===e||e.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};mh.ID="snippetController2",mh.InSnippetMode=new k.uy("inSnippetMode",!1,(0,y.NC)("inSnippetMode","Whether the editor in current in snippet mode")),mh.HasNextTabstop=new k.uy("hasNextTabstop",!1,(0,y.NC)("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),mh.HasPrevTabstop=new k.uy("hasPrevTabstop",!1,(0,y.NC)("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),mh=uh([gh(1,Kc.VZ),gh(2,xe.p),gh(3,k.i6),gh(4,da.c_)],mh),(0,w._K)(mh.ID,mh,4);const fh=w._l.bindToContribution(mh.get);(0,w.fK)(new fh({id:"jumpToNextSnippetPlaceholder",precondition:k.Ao.and(mh.InSnippetMode,mh.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:L.u.editorTextFocus,primary:2}})),(0,w.fK)(new fh({id:"jumpToPrevSnippetPlaceholder",precondition:k.Ao.and(mh.InSnippetMode,mh.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:L.u.editorTextFocus,primary:1026}})),(0,w.fK)(new fh({id:"leaveSnippet",precondition:mh.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:L.u.editorTextFocus,primary:9,secondary:[1033]}})),(0,w.fK)(new fh({id:"acceptSnippet",precondition:mh.InSnippetMode,handler:e=>e.finish()}));var _h=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},vh=function(e,t){return function(i,n){t(i,n,e)}},Ch=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 bh=class extends A.JT{constructor(e,t,i,o,s,r,a){super(),this.editor=e,this.cache=t,this.commandService=i,this.languageConfigurationService=o,this.languageFeaturesService=s,this.debounceService=r,this.onDidChangeEmitter=new Ct.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.completionSession=this._register(new A.XK),this.active=!1,this.disposed=!1,this.debounceValue=this.debounceService.for(this.languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._register(i.onDidExecuteCommand((t=>{new Set([n.wk.Tab.id,n.wk.DeleteLeft.id,n.wk.DeleteRight.id,yr,"acceptSelectedSuggestion"]).has(t.commandId)&&e.hasTextFocus()&&this.handleUserInput()}))),this._register(this.editor.onDidType((e=>{this.handleUserInput()}))),this._register(this.editor.onDidChangeCursorPosition((e=>{(3===e.reason||this.session&&!this.session.isValid)&&this.hide()}))),this._register((0,A.OF)((()=>{this.disposed=!0}))),this._register(this.editor.onDidBlurEditorWidget((()=>{a.getValue("editor.inlineSuggest.hideOnBlur")||Pr.dropDownVisible||this.hide()})))}handleUserInput(){this.session&&!this.session.isValid&&this.hide(),setTimeout((()=>{this.disposed||this.startSessionIfTriggered()}),0)}get session(){return this.completionSession.value}get ghostText(){var e;return null===(e=this.session)||void 0===e?void 0:e.ghostText}get minReservedLineCount(){return this.session?this.session.minReservedLineCount:0}setExpanded(e){var t;null===(t=this.session)||void 0===t||t.setExpanded(e)}setActive(e){var t;this.active=e,e&&(null===(t=this.session)||void 0===t||t.scheduleAutomaticUpdate())}startSessionIfTriggered(){this.editor.getOption(60).enabled&&(this.session&&this.session.isValid||this.trigger(yn.bw.Automatic))}trigger(e){this.completionSession.value?e===yn.bw.Explicit&&this.completionSession.value.ensureUpdateWithExplicitContext():(this.completionSession.value=new wh(this.editor,this.editor.getPosition(),(()=>this.active),this.commandService,this.cache,e,this.languageConfigurationService,this.languageFeaturesService.inlineCompletionsProvider,this.debounceValue),this.completionSession.value.takeOwnership(this.completionSession.value.onDidChange((()=>{this.onDidChangeEmitter.fire()}))))}hide(){this.completionSession.value&&(this.completionSession.clear(),this.onDidChangeEmitter.fire())}commitCurrentSuggestion(){var e;null===(e=this.session)||void 0===e||e.commitCurrentCompletion()}commitCurrentSuggestionPartially(){var e;null===(e=this.session)||void 0===e||e.commitCurrentCompletionNextWord()}showNext(){var e;null===(e=this.session)||void 0===e||e.showNextInlineCompletion()}showPrevious(){var e;null===(e=this.session)||void 0===e||e.showPreviousInlineCompletion()}};bh=_h([vh(2,De.H),vh(3,da.c_),vh(4,xe.p),vh(5,Mi.A),vh(6,ft.Ui)],bh);class wh extends Wc{constructor(e,t,i,n,o,s,r,a,l){let d;super(e),this.triggerPosition=t,this.shouldUpdate=i,this.commandService=n,this.cache=o,this.initialTriggerKind=s,this.languageConfigurationService=r,this.registry=a,this.debounce=l,this.minReservedLineCount=0,this.updateOperation=this._register(new A.XK),this.updateSoon=this._register(new O.pY((()=>{const e=this.initialTriggerKind;return this.initialTriggerKind=yn.bw.Automatic,this.update(e)}),50)),this.filteredCompletions=[],this.currentlySelectedCompletionId=void 0,this._register(this.onDidChange((()=>{var e;const t=this.currentCompletion;if(t&&t.sourceInlineCompletion!==d){d=t.sourceInlineCompletion;const i=t.sourceProvider;null===(e=i.handleItemDidShow)||void 0===e||e.call(i,t.sourceInlineCompletions,d)}}))),this._register((0,A.OF)((()=>{this.cache.clear()}))),this._register(this.editor.onDidChangeCursorPosition((e=>{var t;3!==e.reason&&(null===(t=this.cache.value)||void 0===t||t.updateRanges(),this.cache.value&&(this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire()))}))),this._register(this.editor.onDidChangeModelContent((e=>{var t;null===(t=this.cache.value)||void 0===t||t.updateRanges(),this.updateFilteredInlineCompletions(),this.scheduleAutomaticUpdate()}))),this._register(this.registry.onDidChange((()=>{this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))}))),this.scheduleAutomaticUpdate()}updateFilteredInlineCompletions(){if(!this.cache.value)return void(this.filteredCompletions=[]);const e=this.editor.getModel(),t=e.validatePosition(this.editor.getPosition());this.filteredCompletions=this.cache.value.completions.filter((i=>{const n=e.getValueInRange(i.synchronizedRange).toLowerCase(),o=i.inlineCompletion.filterText.toLowerCase(),s=e.getLineIndentColumn(i.synchronizedRange.startLineNumber),r=Math.max(0,t.column-i.synchronizedRange.startColumn);let a=o.substring(0,r),l=o.substring(r),d=n.substring(0,r),c=n.substring(r);return i.synchronizedRange.startColumn<=s&&(d=d.trimStart(),0===d.length&&(c=c.trimStart()),a=a.trimStart(),0===a.length&&(l=l.trimStart())),a.startsWith(d)&&(0,bo.Sy)(c,l)}))}get currentlySelectedIndex(){return this.fixAndGetIndexOfCurrentSelection()}fixAndGetIndexOfCurrentSelection(){if(!this.currentlySelectedCompletionId||!this.cache.value)return 0;if(0===this.cache.value.completions.length)return 0;const e=this.filteredCompletions.findIndex((e=>e.semanticId===this.currentlySelectedCompletionId));return-1===e?(this.currentlySelectedCompletionId=void 0,0):e}get currentCachedCompletion(){if(this.cache.value)return this.filteredCompletions[this.fixAndGetIndexOfCurrentSelection()]}showNextInlineCompletion(){return Ch(this,void 0,void 0,(function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()}))}showPreviousInlineCompletion(){return Ch(this,void 0,void 0,(function*(){yield this.ensureUpdateWithExplicitContext();const e=this.filteredCompletions||[];if(e.length>0){const t=(this.fixAndGetIndexOfCurrentSelection()+e.length-1)%e.length;this.currentlySelectedCompletionId=e[t].semanticId}else this.currentlySelectedCompletionId=void 0;this.onDidChangeEmitter.fire()}))}get hasBeenTriggeredExplicitly(){var e;return(null===(e=this.cache.value)||void 0===e?void 0:e.triggerKind)===yn.bw.Explicit}ensureUpdateWithExplicitContext(){var e;return Ch(this,void 0,void 0,(function*(){this.updateOperation.value?this.updateOperation.value.triggerKind===yn.bw.Explicit?yield this.updateOperation.value.promise:yield this.update(yn.bw.Explicit):(null===(e=this.cache.value)||void 0===e?void 0:e.triggerKind)!==yn.bw.Explicit&&(yield this.update(yn.bw.Explicit))}))}getInlineCompletionsCountSync(){return this.filteredCompletions.length||0}get ghostText(){const e=this.currentCompletion;if(!e)return;const t=this.editor.getPosition();if(e.range.getEndPosition().isBefore(t))return;const i=this.editor.getOptions().get(60).mode,n=zc(e,this.editor.getModel(),i,t);if(n){if(n.isEmpty())return;return n}return new Vc(e.range.startLineNumber,e.range.startColumn,e.range.endColumn-e.range.startColumn,e.insertText.split("\n"),0)}get currentCompletion(){const e=this.currentCachedCompletion;if(e)return e.toLiveInlineCompletion()}get isValid(){return this.editor.getPosition().lineNumber===this.triggerPosition.lineNumber}scheduleAutomaticUpdate(){this.updateOperation.clear(),this.updateSoon.schedule(this.debounce.get(this.editor.getModel()))}update(e){return Ch(this,void 0,void 0,(function*(){if(!this.shouldUpdate())return;const t=this.editor.getPosition(),i=new Date,n=(0,O.PG)((n=>Ch(this,void 0,void 0,(function*(){let o;try{o=yield kh(this.registry,t,this.editor.getModel(),{triggerKind:e,selectedSuggestionInfo:void 0},n,this.languageConfigurationService);const s=new Date;this.editor.hasModel()&&this.debounce.update(this.editor.getModel(),s.getTime()-i.getTime())}catch(e){return void(0,ye.dL)(e)}n.isCancellationRequested||(this.cache.setValue(this.editor,o,e),this.updateFilteredInlineCompletions(),this.onDidChangeEmitter.fire())})))),o=new Sh(n,e);this.updateOperation.value=o,yield n,this.updateOperation.value===o&&this.updateOperation.clear()}))}takeOwnership(e){this._register(e)}commitCurrentCompletionNextWord(){const e=this.ghostText;if(!e)return;const t=this.currentCompletion;if(!t)return;if(t.snippetInfo||t.filterText!==t.insertText)return void this.commit(t);if(0===e.parts.length)return;const i=e.parts[0],n=new W.L(e.lineNumber,i.column),o=i.lines[0],s=this.editor.getModel().getLanguageIdAtPosition(e.lineNumber,1),r=this.languageConfigurationService.getLanguageConfiguration(s),a=new RegExp(r.wordDefinition.source,r.wordDefinition.flags.replace("g","")),l=o.match(a);let d=0;d=l&&void 0!==l.index?0===l.index?l[0].length:l.index:o.length;const c=/\s/g;let h=c.exec(o);h&&0===h.index&&(h=c.exec(o)),h&&void 0!==h.index&&h.index{null==i||i.dispose()})).then(void 0,ye.Cp):null==i||i.dispose(),this.onDidChangeEmitter.fire()}get commands(){var e;return[...new Set((null===(e=this.cache.value)||void 0===e?void 0:e.completions.map((e=>e.inlineCompletion.sourceInlineCompletions)))||[])].flatMap((e=>e.commands||[]))}}class Sh{constructor(e,t){this.promise=e,this.triggerKind=t}dispose(){this.promise.cancel()}}class Lh extends A.JT{constructor(e,t,i,n){super(),this.editor=t,this.onChange=i,this.triggerKind=n,this.isDisposing=!1;const o=t.changeDecorations((t=>t.deltaDecorations([],e.items.map((e=>({range:e.range,options:{description:"inline-completion-tracking-range"}}))))));this._register((0,A.OF)((()=>{this.isDisposing=!0,t.removeDecorations(o)}))),this.completions=e.items.map(((e,t)=>new yh(e,o[t]))),this._register(t.onDidChangeModelContent((()=>{this.updateRanges()}))),this._register(e)}updateRanges(){if(this.isDisposing)return;let e=!1;const t=this.editor.getModel();for(const i of this.completions){const n=t.getDecorationRange(i.decorationId);n&&(i.synchronizedRange.equalsRange(n)||(e=!0,i.synchronizedRange=n))}e&&this.onChange()}}class yh{constructor(e,t){this.inlineCompletion=e,this.decorationId=t,this.semanticId=JSON.stringify({text:this.inlineCompletion.insertText,abbreviation:this.inlineCompletion.filterText,startLine:this.inlineCompletion.range.startLineNumber,startColumn:this.inlineCompletion.range.startColumn,command:this.inlineCompletion.command}),this.synchronizedRange=e.range}toLiveInlineCompletion(){return{insertText:this.inlineCompletion.insertText,range:this.synchronizedRange,command:this.inlineCompletion.command,sourceProvider:this.inlineCompletion.sourceProvider,sourceInlineCompletions:this.inlineCompletion.sourceInlineCompletions,sourceInlineCompletion:this.inlineCompletion.sourceInlineCompletion,snippetInfo:this.inlineCompletion.snippetInfo,filterText:this.inlineCompletion.filterText,additionalTextEdits:this.inlineCompletion.additionalTextEdits}}}function kh(e,t,i,n,o=Le.T.None,s){return Ch(this,void 0,void 0,(function*(){const r=function(e,t){const i=t.getWordAtPosition(e),n=t.getLineMaxColumn(e.lineNumber);return i?new B.e(e.lineNumber,i.startColumn,e.lineNumber,n):B.e.fromPositions(e,e.with(void 0,n))}(t,i),a=e.all(i),l=yield Promise.all(a.map((e=>Ch(this,void 0,void 0,(function*(){const s=yield Promise.resolve(e.provideInlineCompletions(i,t,n,o)).catch(ye.Cp);return{completions:s,provider:e,dispose:()=>{s&&e.freeInlineCompletions(s)}}}))))),d=new Map;for(const e of l){const t=e.completions;if(t)for(const n of t.items){let o,a,l=n.range?B.e.lift(n.range):r;if(l.startLineNumber!==l.endLineNumber)continue;if("string"==typeof n.insertText){if(o=n.insertText,s&&n.completeBracketPairs){o=Nh(o,l.getStartPosition(),i,s);const e=o.length-n.insertText.length;0!==e&&(l=new B.e(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+e))}a=void 0}else if("snippet"in n.insertText){const e=n.insertText.snippet.length;if(s&&n.completeBracketPairs){n.insertText.snippet=Nh(n.insertText.snippet,l.getStartPosition(),i,s);const t=n.insertText.snippet.length-e;0!==t&&(l=new B.e(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+t))}const t=(new Ro).parse(n.insertText.snippet);1===t.children.length&&t.children[0]instanceof Lo?(o=t.children[0].value,a=void 0):(o=t.toString(),a={snippet:n.insertText.snippet,range:l})}else(0,xc.vE)(n.insertText);const c={insertText:o,snippetInfo:a,range:l,command:n.command,sourceProvider:e.provider,sourceInlineCompletions:t,sourceInlineCompletion:n,filterText:n.filterText||o,additionalTextEdits:n.additionalTextEdits||Oc};d.set(JSON.stringify({insertText:o,range:n.range}),c)}}return{items:[...d.values()],dispose:()=>{for(const e of l)e.dispose()}}}))}function Nh(e,t,i,n){const o=i.getLineContent(t.lineNumber).substring(0,t.column-1)+e,s=i.tokenization.tokenizeLineWithEdit(t,o.length-(t.column-1),e),r=null==s?void 0:s.sliceAndInflate(t.column-1,o.length,0);if(!r)return e;const a=function(e,t){const i=new Mc.FE,n=new Ic.Z(i,(e=>t.getLanguageConfiguration(e))),o=new Rc.xH(new Pc([e]),n),s=(0,Dc.w)(o,[],void 0,!0);let r="";const a=e.getLineContent();return function e(t,i){if(2===t.kind)if(e(t.openingBracket,i),i=(0,Tc.Ii)(i,t.openingBracket.length),t.child&&(e(t.child,i),i=(0,Tc.Ii)(i,t.child.length)),t.closingBracket)e(t.closingBracket,i),i=(0,Tc.Ii)(i,t.closingBracket.length);else{const e=n.getSingleLanguageBracketTokens(t.openingBracket.languageId).findClosingTokenText(t.openingBracket.bracketIds);r+=e}else if(3===t.kind);else if(0===t.kind||1===t.kind)r+=a.substring((0,Tc.F_)(i),(0,Tc.F_)((0,Tc.Ii)(i,t.length)));else if(4===t.kind)for(const n of t.children)e(n,i),i=(0,Tc.Ii)(i,n.length)}(s,Tc.xl),r}(r,n);return a}var xh=i(8313),Ih=i(4767),Th=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},Dh=function(e,t){return function(i,n){t(i,n,e)}};class Mh{constructor(e){this.name=e}select(e,t,i){if(0===i.length)return 0;const n=i[0].score[0];for(let e=0;ethis._saveState()),500),this._disposables.add(e.onWillSaveState((e=>{e.reason===fi.fk.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(t,i){var n;const o=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(n=this._strategy)||void 0===n?void 0:n.name)!==o){this._saveState();const t=e._strategyCtors.get(o)||Rh;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=this._storageService.get(`${e._storagePrefix}/${o}`,t);i&&this._strategy.fromJSON(JSON.parse(i))}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${e._storagePrefix}/${this._strategy.name}`,i,t,1)}}};Ph._strategyCtors=new Map([["recentlyUsedByPrefix",class extends Mh{constructor(){super("recentlyUsedByPrefix"),this._trie=Ih.Id.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),o=`${e.getLanguageId()}/${n}`;this._trie.set(o,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const o=`${e.getLanguageId()}/${n}`;let s=this._trie.get(o);if(s||(s=this._trie.findSubstr(o)),s)for(let e=0;ee.push([i,t]))),e.sort(((e,t)=>-(e[1].touch-t[1].touch))).forEach(((e,t)=>e[1].touch=t)),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type="number"==typeof i.type?i.type:yn.gX.fromString(i.type),this._trie.set(t,i)}}}],["recentlyUsed",class extends Mh{constructor(){super("recentlyUsed"),this._cache=new pi.z6(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(0===i.length)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const o=i[0].score[0];let s=-1,r=-1,a=-1;for(let t=0;ta&&o.type===i[t].completion.kind&&o.insertText===i[t].completion.insertText&&(a=o.touch,r=t),i[t].completion.preselect&&-1===s)return t}return-1!==r?r:-1!==s?s:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,i]of e)i.touch=0,i.type="number"==typeof i.type?i.type:yn.gX.fromString(i.type),this._cache.set(t,i);this._seq=this._cache.size}}],["first",Rh]]),Ph._storagePrefix="suggest/memories",Ph=Th([Dh(0,fi.Uy),Dh(1,ft.Ui)],Ph);const Eh=(0,_t.yh)("ISuggestMemories");(0,mi.z)(Eh,Ph,1);var Oh=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},Ah=function(e,t){return function(i,n){t(i,n,e)}};let Fh=class e{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=e.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(118)&&this._update())),this._update()}dispose(){var e;this._configListener.dispose(),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(118);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),i=e.getWordAtPosition(t.getStartPosition());i?this._ckAtEnd.set(i.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};Fh.AtEnd=new k.uy("atEndOfWord",!1),Fh=Oh([Ah(1,k.i6)],Fh);var Vh=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},Wh=function(e,t){return function(i,n){t(i,n,e)}};let Bh=class e{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),null===(e=this._listener)||void 0===e||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},n){if(0===t.items.length)return void this.reset();e._moveIndex(!0,t,i)!==i?(this._acceptNext=n,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,i){let n=i;for(let o=t.items.length;o>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,n!==i)&&t.items[n].completion.additionalTextEdits;o--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};Bh.OtherSuggestions=new k.uy("hasOtherSuggestions",!1),Bh=Vh([Wh(1,k.i6)],Bh);class Hh{constructor(e,t,i,n){this._disposables=new A.SL,this._disposables.add(i.onDidSuggest((e=>{0===e.completionModel.items.length&&this.reset()}))),this._disposables.add(i.onDidCancel((e=>{this.reset()}))),this._disposables.add(t.onDidShow((()=>this._onItem(t.getFocusedItem())))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType((o=>{if(this._active&&!t.isFrozen()&&0!==i.state){const t=o.charCodeAt(o.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&n(this._active.item)}})))}_onItem(e){if(!e||!(0,Se.Of)(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new gc.q;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}var zh=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 Uh{provideSelectionRanges(e,t){return zh(this,void 0,void 0,(function*(){const i=[];for(const n of t){const t=[];i.push(t);const o=new Map;yield new Promise((t=>Uh._bracketsRightYield(t,0,e,n,o))),yield new Promise((i=>Uh._bracketsLeftYield(i,0,e,n,o,t)))}return i}))}static _bracketsRightYield(e,t,i,n,o){const s=new Map,r=Date.now();for(;;){if(t>=Uh._maxRounds){e();break}if(!n){e();break}const a=i.bracketPairs.findNextBracket(n);if(!a){e();break}if(Date.now()-r>Uh._maxDuration){setTimeout((()=>Uh._bracketsRightYield(e,t+1,i,n,o)));break}if(a.bracketInfo.isOpeningBracket){const e=a.bracketInfo.bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}else{const e=a.bracketInfo.getOpeningBrackets()[0].bracketText;let t=s.has(e)?s.get(e):0;if(t-=1,s.set(e,Math.max(0,t)),t<0){let t=o.get(e);t||(t=new Is.S,o.set(e,t)),t.push(a.range)}}n=a.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,o,s){const r=new Map,a=Date.now();for(;;){if(t>=Uh._maxRounds&&0===o.size){e();break}if(!n){e();break}const l=i.bracketPairs.findPrevBracket(n);if(!l){e();break}if(Date.now()-a>Uh._maxDuration){setTimeout((()=>Uh._bracketsLeftYield(e,t+1,i,n,o,s)));break}if(l.bracketInfo.isOpeningBracket){const e=l.bracketInfo.bracketText;let t=r.has(e)?r.get(e):0;if(t-=1,r.set(e,Math.max(0,t)),t<0){const t=o.get(e);if(t){const n=t.shift();0===t.size&&o.delete(e);const r=B.e.fromPositions(l.range.getEndPosition(),n.getStartPosition()),a=B.e.fromPositions(l.range.getStartPosition(),n.getEndPosition());s.push({range:r}),s.push({range:a}),Uh._addBracketLeading(i,a,s)}}}else{const e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=r.has(e)?r.get(e):0;r.set(e,t+1)}n=l.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,o=e.getLineFirstNonWhitespaceColumn(n);0!==o&&o!==t.startColumn&&(i.push({range:B.e.fromPositions(new W.L(n,o),t.getEndPosition())}),i.push({range:B.e.fromPositions(new W.L(n,1),t.getEndPosition())}));const s=n-1;if(s>0){const n=e.getLineFirstNonWhitespaceColumn(s);n===t.startColumn&&n!==e.getLineLastNonWhitespaceColumn(s)&&(i.push({range:B.e.fromPositions(new W.L(s,n),t.getEndPosition())}),i.push({range:B.e.fromPositions(new W.L(s,1),t.getEndPosition())}))}}}Uh._maxDuration=30,Uh._maxRounds=2;var jh=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 qh{static create(e,t){return jh(this,void 0,void 0,(function*(){if(!t.getOption(113).localityBonus)return qh.None;if(!t.hasModel())return qh.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return qh.None;const[o]=yield(new Uh).provideSelectionRanges(i,[n]);if(0===o.length)return qh.None;const s=yield e.computeWordRanges(i.uri,o[0].range);if(!s)return qh.None;const r=i.getWordUntilPosition(n);return delete s[r.word],new class extends qh{distance(e,i){if(!n.equals(t.getPosition()))return 0;if(17===i.kind)return 2<<20;const r="string"==typeof i.label?i.label:i.label.label,a=s[r];if((0,Se.XY)(a))return 2<<20;const l=(0,Se.ry)(a,B.e.fromPositions(e),B.e.compareRangesUsingStarts),d=l>=0?a[l]:a[Math.max(0,~l-1)];let c=o.length;for(const e of o){if(!B.e.containsRange(e.range,d))break;c-=1}return c}}}))}}qh.None=new class extends qh{distance(){return 0}};class Kh{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}}class Gh{constructor(e,t,i,n,o,s,r=bo.mX.default,a=void 0){this.clipboardText=a,this._snippetCompareFn=Gh._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=o,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=r,"top"===s?this._snippetCompareFn=Gh._compareCompletionItemsSnippetsUp:"bottom"===s&&(this._snippetCompareFn=Gh._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",o="";const s=1===this._refilterKind?this._items:this._filteredItems,r=[],a=!this._options.filterGraceful||s.length>2e3?bo.EW:bo.l7;for(let l=0;l=u)d.score=bo.CL.Default;else if("string"==typeof d.completion.filterText){const t=a(n,o,e,d.completion.filterText,d.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;0===(0,we.zY)(d.completion.filterText,d.textLabel)?d.score=t:(d.score=(0,bo.jB)(n,o,e,d.textLabel,d.labelLow,0),d.score[0]=t[0])}else{const t=a(n,o,e,d.textLabel,d.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;d.score=t}}d.idx=l,d.distance=this._wordDistance.distance(d.position,d.completion),r.push(d),e.push(d.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?(0,Se.HW)(e.length-.85,e,((e,t)=>e-t)):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return Gh._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return Gh._compareCompletionItems(e,t)}}var $h=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},Zh=function(e,t){return function(i,n){t(i,n,e)}},Qh=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 Yh{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!!n&&(n.endColumn===i.column&&!!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}let Jh=class e{constructor(e,t,i,n,o,s,r,a){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=o,this._contextKeyService=s,this._configurationService=r,this._languageFeaturesService=a,this._toDispose=new A.SL,this._triggerCharacterListener=new A.SL,this._triggerQuickSuggest=new O._F,this._triggerState=void 0,this._completionDisposables=new A.SL,this._onDidCancel=new Ct.Q5,this._onDidTrigger=new Ct.Q5,this._onDidSuggest=new Ct.Q5,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new S.Y(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let l=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{l=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{l=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{l||this._onCursorChange(e)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{l||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){(0,A.B9)(this._triggerCharacterListener),(0,A.B9)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(87)||!this._editor.hasModel()||!this._editor.getOption(116))return;const e=new Map;for(const t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const i of t.triggerCharacters||[]){let n=e.get(i);n||(n=new Set,n.add(Wo),e.set(i,n)),n.add(t)}const t=t=>{var i,n,o;if(n=this._editor,o=this._contextKeyService,this._configurationService,Boolean(o.getContextKeyValue("inlineSuggestionVisible"))&&n.getOption(60).suppressSuggestions)return;if(Yh.shouldAutoTrigger(this._editor))return;if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let s="";(0,we.YK)(t.charCodeAt(t.length-1))?(0,we.ZG)(t.charCodeAt(t.length-2))&&(s=t.substr(t.length-2)):s=t.charAt(t.length-1);const r=e.get(s);if(r){const e=new Map;if(this._completionModel)for(const[t,i]of this._completionModel.getItemsByProvider())r.has(t)||e.set(t,i);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(i=this._completionModel)||void 0===i?void 0:i.clipboardText,completionOptions:{providerFilter:r,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>t())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(t=this._requestToken)||void 0===t||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source?this.cancel():void 0===this._triggerState&&0===e.reason?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===e.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){jo.isAllOff(this._editor.getOption(85))||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!Yh.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(85);if(!jo.isAllOff(i)){if(!jo.isAllOn(i)){e.tokenization.tokenizeIfCheap(t.lineNumber);const n=e.tokenization.getLineTokens(t.lineNumber),o=n.getStandardTokenType(n.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("on"!==jo.valueFor(i,o))return}var n,o;if(n=this._editor,o=this._contextKeyService,this._configurationService,!Boolean(o.getContextKeyValue("inlineSuggestionVisible"))||!n.getOption(60).suppressSuggestions)this._languageFeaturesService.completionProvider.has(e)&&this.trigger({auto:!0})}}),this._editor.getOption(86)))}_refilterCompletionItems(){(0,wt.p_)(this._editor.hasModel()),(0,wt.p_)(void 0!==this._triggerState);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Yh(e,t,Object.assign(Object.assign({},this._triggerState),{refilter:!0}));this._onNewContext(i)}trigger(t){var i,n,o,s,r,a;if(!this._editor.hasModel())return;const l=this._editor.getModel(),d=new Yh(l,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=d;let c={triggerKind:null!==(n=t.triggerKind)&&void 0!==n?n:0};t.triggerCharacter&&(c={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Le.A;let h=1;switch(this._editor.getOption(107)){case"top":h=0;break;case"bottom":h=2}const{itemKind:u,showDeprecated:g}=e._createSuggestFilter(this._editor),p=new Vo(h,null!==(s=null===(o=t.completionOptions)||void 0===o?void 0:o.kindFilter)&&void 0!==s?s:u,null===(r=t.completionOptions)||void 0===r?void 0:r.providerFilter,null===(a=t.completionOptions)||void 0===a?void 0:a.providerItemsToReuse,g),m=qh.create(this._editorWorkerService,this._editor),f=Ho(this._languageFeaturesService.completionProvider,l,this._editor.getPosition(),p,c,this._requestToken.token);Promise.all([f,m]).then((([e,i])=>Qh(this,void 0,void 0,(function*(){var n;if(null===(n=this._requestToken)||void 0===n||n.dispose(),!this._editor.hasModel())return;let o=null==t?void 0:t.clipboardText;if(!o&&e.needsClipboard&&(o=yield this._clipboardService.readText()),void 0===this._triggerState)return;const s=this._editor.getModel(),r=new Yh(s,this._editor.getPosition(),t),a=Object.assign(Object.assign({},bo.mX.default),{firstMatchCanBeWeak:!this._editor.getOption(113).matchOnWordStartOnly});this._completionModel=new Gh(e.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},i,this._editor.getOption(113),this._editor.getOption(107),a,o),this._completionDisposables.add(e.disposable),this._onNewContext(r),this._reportDurationsTelemetry(e.durations)})))).catch(ye.dL)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)}))}static _createSuggestFilter(e){const t=new Set;"none"===e.getOption(107)&&t.add(27);const i=e.getOption(113);return i.showMethods||t.add(0),i.showFunctions||t.add(1),i.showConstructors||t.add(2),i.showFields||t.add(3),i.showVariables||t.add(4),i.showClasses||t.add(5),i.showStructs||t.add(6),i.showInterfaces||t.add(7),i.showModules||t.add(8),i.showProperties||t.add(9),i.showEvents||t.add(10),i.showOperators||t.add(11),i.showUnits||t.add(12),i.showValues||t.add(13),i.showConstants||t.add(14),i.showEnums||t.add(15),i.showEnumMembers||t.add(16),i.showKeywords||t.add(17),i.showWords||t.add(18),i.showColors||t.add(19),i.showFiles||t.add(20),i.showReferences||t.add(21),i.showColors||t.add(22),i.showFolders||t.add(23),i.showTypeParameters||t.add(24),i.showSnippets||t.add(27),i.showUsers||t.add(25),i.showIssues||t.add(26),{itemKind:t,showDeprecated:i.showDeprecated}}_onNewContext(e){if(this._context)if(e.lineNumber===this._context.lineNumber)if((0,we.V8)(e.leadingLineContent)===(0,we.V8)(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){if(Yh.shouldAutoTrigger(this._editor)&&this._context){const e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==e.leadingWord.word.length){const e=new Map,t=new Set;for(const[i,n]of this._completionModel.getItemsByProvider())n.length>0&&n[0].container.incomplete?t.add(i):e.set(i,n);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){const n=Yh.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(n&&this._context.leadingWord.endColumn0,i&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}else this.cancel();else this.cancel()}};Jh=$h([Zh(1,pc.p),Zh(2,ae.p),Zh(3,Pe.b),Zh(4,Kc.VZ),Zh(5,k.i6),Zh(6,ft.Ui),Zh(7,xe.p)],Jh);class Xh{constructor(e,t){this._disposables=new A.SL,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType((()=>{if(this._locked||!e.hasModel())return;const t=e.getSelections(),i=t.length;let n=!1;for(let e=0;eXh._maxSelectionLength)return;this._lastOvertyped[e]={value:o.getValueInRange(i),multiline:i.startLineNumber!==i.endLineNumber}}}))),this._disposables.add(t.onDidTrigger((e=>{this._locked=!0}))),this._disposables.add(t.onDidCancel((e=>{this._locked=!1})))}getLastOvertypedInfo(e){if(e>=0&&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},su=function(e,t){return function(i,n){t(i,n,e)}};class ru extends Ws.Mm{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=(0,y.NC)({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,ru.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return null===(t=e.getLabel())||void 0===t?void 0:t.replace(/\benter\b/gi,"⏎")}}let au=class{constructor(e,t,i,n,o){this._menuId=t,this._menuService=n,this._contextKeyService=o,this._menuDisposables=new A.SL,this.element=et.R3(e,et.$(".suggest-status-bar"));const s=e=>e instanceof U.U8?i.createInstance(ru,e,void 0):void 0;this._leftActions=new Cr.o(this.element,{actionViewItemProvider:s}),this._rightActions=new Cr.o(this.element,{actionViewItemProvider:s}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const t=[],i=[];for(const[n,o]of e.getActions())"left"===n?t.push(...o):i.push(...o);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(e.onDidChange((()=>t()))),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};au=ou([su(2,_t.TG),su(3,U.co),su(4,k.i6)],au);var lu=i(17735),du=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},cu=function(e,t){return function(i,n){t(i,n,e)}};function hu(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let uu=class{constructor(e,t){this._editor=e,this._onDidClose=new Ct.Q5,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Ct.Q5,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new A.SL,this._renderDisposeable=new A.SL,this._borderWidth=1,this._size=new et.Ro(330,0),this.domNode=et.$(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(gs,{editor:e}),this._body=et.$(".body"),this._scrollbar=new As.s$(this._body,{alwaysConsumeMouseWheel:!0}),et.R3(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=et.R3(this._body,et.$(".header")),this._close=et.R3(this._header,et.$("span"+bt.k.asCSSSelector(st.l.close))),this._close.title=y.NC("details.close","Close"),this._type=et.R3(this._header,et.$("p.type")),this._docs=et.R3(this._body,et.$("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(48)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(48),i=t.getMassagedFontFamily(),n=e.get(114)||t.fontSize,o=e.get(115)||t.lineHeight,s=t.fontWeight,r=`${n}px`,a=`${o}px`;this.domNode.style.fontSize=r,this.domNode.style.lineHeight=""+o/n,this.domNode.style.fontWeight=s,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=a,this._close.style.width=a}getLayoutInfo(){const e=this._editor.getOption(115)||this._editor.getOption(48).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=y.NC("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){var i,n;this._renderDisposeable.clear();let{detail:o,documentation:r}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}\n`,t+=`prefix: ${null!==(i=e.word)&&void 0!==i?i:"(no prefix)"}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit_chars: ${null===(n=e.completion.commitCharacters)||void 0===n?void 0:n.join("")}\n`,r=(new s.W5).appendCodeblock("empty",t),o=`Provider: ${e.provider._debugDisplayName}`}if(t||hu(e)){if(this.domNode.classList.remove("no-docs","no-type"),o){const e=o.length>1e5?`${o.substr(0,1e5)}…`:o;this._type.textContent=e,this._type.title=e,et.$Z(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else et.PO(this._type),this._type.title="",et.Cp(this._type),this.domNode.classList.add("no-type");if(et.PO(this._docs),"string"==typeof r)this._docs.classList.remove("markdown-docs"),this._docs.textContent=r;else if(r){this._docs.classList.add("markdown-docs"),et.PO(this._docs);const e=this._markdownRenderer.render(r);this._docs.appendChild(e.element),this._renderDisposeable.add(e),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(e,t){const i=new et.Ro(e,t);et.Ro.equals(i,this._size)||(this._size=i,et.dp(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};uu=du([cu(1,_t.TG)],uu);class gu{constructor(e,t){let i,n;this.widget=e,this._editor=t,this._disposables=new A.SL,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new lu.f,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let o=0,s=0;this._disposables.add(this._resizable.onDidWillResize((()=>{i=this._topLeft,n=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((e=>{if(i&&n){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(s=n.width-e.dimension.width,t=!0),e.north&&(o=n.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:i.top+o,left:i.left+s})}e.done&&(i=void 0,n=void 0,o=0,s=0,this._userSize=e.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var e;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const n=e.getBoundingClientRect();this._anchorBox=n,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,null!==(i=this._userSize)&&void 0!==i?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var n;const o=et.D6(document.body),s=this.widget.getLayoutInfo(),r=new et.Ro(220,2*s.lineHeight),a=e.top,l=function(){const i=o.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),n=-s.borderWidth+e.left+e.width,l=new et.Ro(i,o.height-e.top-s.borderHeight-s.verticalPadding),d=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:n,fit:i-t.width,maxSizeTop:l,maxSizeBottom:d,minSize:r.with(Math.min(i,r.width))}}(),d=[l,function(){const i=e.left-s.borderWidth-s.horizontalPadding,n=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),l=new et.Ro(i,o.height-e.top-s.borderHeight-s.verticalPadding),d=l.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:n,fit:i-t.width,maxSizeTop:l,maxSizeBottom:d,minSize:r.with(Math.min(i,r.width))}}(),function(){const i=e.left,n=-s.borderWidth+e.top+e.height,a=new et.Ro(e.width-s.borderHeight,o.height-e.top-e.height-s.verticalPadding);return{top:n,left:i,fit:a.height-t.height,maxSizeBottom:a,maxSizeTop:a,minSize:r.with(a.width)}}()],c=null!==(n=d.find((e=>e.fit>=0)))&&void 0!==n?n:d.sort(((e,t)=>t.fit-e.fit))[0],h=e.top+e.height-s.borderHeight;let u,g=t.height;const p=Math.max(c.maxSizeTop.height,c.maxSizeBottom.height);let m;g>p&&(g=p),i?g<=c.maxSizeTop.height?(u=!0,m=c.maxSizeTop):(u=!1,m=c.maxSizeBottom):g<=c.maxSizeBottom.height?(u=!1,m=c.maxSizeBottom):(u=!0,m=c.maxSizeTop),this._applyTopLeft({left:c.left,top:u?c.top:h-g}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!u,c===l,u,c!==l),this._resizable.minSize=c.minSize,this._resizable.maxSize=m,this._resizable.layout(g,Math.min(m.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var pu=i(32107),mu=i(75761);const fu=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function _u(e,t,i,n){const o=n===mu.R.ROOT_FOLDER?["rootfolder-icon"]:n===mu.R.FOLDER?["folder-icon"]:["file-icon"];if(i){let s;if(i.scheme===ea.lg.data){s=Vt.Vb.parseMetaData(i).get(Vt.Vb.META_DATA_LABEL)}else{const e=i.path.match(fu);e?(s=vu(e[2].toLowerCase()),e[1]&&o.push(`${vu(e[1].toLowerCase())}-name-dir-icon`)):s=vu(i.authority.toLowerCase())}if(n===mu.R.FOLDER)o.push(`${s}-name-folder-icon`);else{if(s){if(o.push(`${s}-name-file-icon`),o.push("name-file-icon"),s.length<=255){const e=s.split(".");for(let t=1;t=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},wu=function(e,t){return function(i,n){t(i,n,e)}};function Su(e){return`suggest-aria-id:${e}`}const Lu=(0,Os.q5)("suggest-more-info",st.l.chevronRight,y.NC("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),yu=new((Cu=class e{extract(t,i){if(t.textLabel.match(e._regexStrict))return i[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return i[0]=t.completion.detail,!0;if("string"==typeof t.completion.documentation){const n=e._regexRelaxed.exec(t.completion.documentation);if(n&&(0===n.index||n.index+n[0].length===t.completion.documentation.length))return i[0]=n[0],!0}return!1}})._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Cu._regexStrict=new RegExp(`^${Cu._regexRelaxed.source}$`,"i"),Cu);let ku=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new Ct.Q5,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new A.SL,i=e;i.classList.add("show-file-icons");const n=(0,et.R3)(e,(0,et.$)(".icon")),o=(0,et.R3)(n,(0,et.$)("span.colorspan")),s=(0,et.R3)(e,(0,et.$)(".contents")),r=(0,et.R3)(s,(0,et.$)(".main")),a=(0,et.R3)(r,(0,et.$)(".icon-label.codicon")),l=(0,et.R3)(r,(0,et.$)("span.left")),d=(0,et.R3)(r,(0,et.$)("span.right")),c=new pu.g(l,{supportHighlights:!0,supportIcons:!0});t.add(c);const h=(0,et.R3)(l,(0,et.$)("span.signature-label")),u=(0,et.R3)(l,(0,et.$)("span.qualifier-label")),g=(0,et.R3)(d,(0,et.$)("span.details-label")),p=(0,et.R3)(d,(0,et.$)("span.readMore"+bt.k.asCSSSelector(Lu)));p.title=y.NC("readMore","Read More");const m=()=>{const e=this._editor.getOptions(),t=e.get(48),o=t.getMassagedFontFamily(),s=t.fontFeatureSettings,a=e.get(114)||t.fontSize,l=e.get(115)||t.lineHeight,d=t.fontWeight,c=`${a}px`,h=`${l}px`,u=`${t.letterSpacing}px`;i.style.fontSize=c,i.style.fontWeight=d,i.style.letterSpacing=u,r.style.fontFamily=o,r.style.fontFeatureSettings=s,r.style.lineHeight=h,n.style.height=h,n.style.width=h,p.style.height=h,p.style.width=h};return m(),t.add(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(48)||e.hasChanged(114)||e.hasChanged(115))&&m()}))),{root:i,left:l,right:d,icon:n,colorspan:o,iconLabel:c,iconContainer:a,parametersLabel:h,qualifierLabel:u,detailsLabel:g,readMore:p,disposables:t}}renderElement(e,t,i){const{completion:n}=e;i.root.id=Su(t),i.colorspan.style.backgroundColor="";const o={labelEscapeNewLines:!0,matches:(0,bo.mB)(e.score)},s=[];if(19===n.kind&&yu.extract(e,s))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=s[0];else if(20===n.kind&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const t=_u(this._modelService,this._languageService,ke.o.from({scheme:"fake",path:e.textLabel}),mu.R.FILE),s=_u(this._modelService,this._languageService,ke.o.from({scheme:"fake",path:n.detail}),mu.R.FILE);o.extraClasses=t.length>s.length?t:s}else 23===n.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",o.extraClasses=[_u(this._modelService,this._languageService,ke.o.from({scheme:"fake",path:e.textLabel}),mu.R.FOLDER),_u(this._modelService,this._languageService,ke.o.from({scheme:"fake",path:n.detail}),mu.R.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...bt.k.asClassNameArray(yn.gX.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(o.extraClasses=(o.extraClasses||[]).concat(["deprecated"]),o.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,o),"string"==typeof n.label?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Nu(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Nu(n.label.detail||""),i.detailsLabel.textContent=Nu(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(113).showInlineDetails?(0,et.$Z)(i.detailsLabel):(0,et.Cp)(i.detailsLabel),hu(e)?(i.right.classList.add("can-expand-details"),(0,et.$Z)(i.readMore),i.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},i.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),(0,et.Cp)(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};function Nu(e){return e.replace(/\r\n|\r|\n/g,"")}ku=bu([wu(1,Ie.q),wu(2,hn.O),wu(3,q.XE)],ku);var xu=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},Iu=function(e,t){return function(i,n){t(i,n,e)}},Tu=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())}))};(0,j.P6G)("editorSuggestWidget.background",{dark:j.D0T,light:j.D0T,hcDark:j.D0T,hcLight:j.D0T},y.NC("editorSuggestWidgetBackground","Background color of the suggest widget.")),(0,j.P6G)("editorSuggestWidget.border",{dark:j.D1_,light:j.D1_,hcDark:j.D1_,hcLight:j.D1_},y.NC("editorSuggestWidgetBorder","Border color of the suggest widget."));const Du=(0,j.P6G)("editorSuggestWidget.foreground",{dark:j.NOs,light:j.NOs,hcDark:j.NOs,hcLight:j.NOs},y.NC("editorSuggestWidgetForeground","Foreground color of the suggest widget."));(0,j.P6G)("editorSuggestWidget.selectedForeground",{dark:j.NPS,light:j.NPS,hcDark:j.NPS,hcLight:j.NPS},y.NC("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget.")),(0,j.P6G)("editorSuggestWidget.selectedIconForeground",{dark:j.cbQ,light:j.cbQ,hcDark:j.cbQ,hcLight:j.cbQ},y.NC("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Mu=(0,j.P6G)("editorSuggestWidget.selectedBackground",{dark:j.Vqd,light:j.Vqd,hcDark:j.Vqd,hcLight:j.Vqd},y.NC("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));(0,j.P6G)("editorSuggestWidget.highlightForeground",{dark:j.Gwp,light:j.Gwp,hcDark:j.Gwp,hcLight:j.Gwp},y.NC("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),(0,j.P6G)("editorSuggestWidget.focusHighlightForeground",{dark:j.PX0,light:j.PX0,hcDark:j.PX0,hcLight:j.PX0},y.NC("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused.")),(0,j.P6G)("editorSuggestWidgetStatus.foreground",{dark:(0,j.ZnX)(Du,.5),light:(0,j.ZnX)(Du,.5),hcDark:(0,j.ZnX)(Du,.5),hcLight:(0,j.ZnX)(Du,.5)},y.NC("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Ru{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Ln.H}`}restore(){var e;const t=null!==(e=this._service.get(this._key,0))&&void 0!==e?e:"";try{const e=JSON.parse(t);if(et.Ro.is(e))return et.Ro.lift(e)}catch(e){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let Pu=class e{constructor(e,t,i,n,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new A.XK,this._pendingShowDetails=new A.XK,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new O._F,this._disposables=new A.SL,this._onDidSelect=new Ct.K3,this._onDidFocus=new Ct.K3,this._onDidHide=new Ct.Q5,this._onDidShow=new Ct.Q5,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Ct.Q5,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new lu.f,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Eu(this,e),this._persistedSize=new Ru(t,e);class s{constructor(e,t,i=!1,n=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=i,this.persistWidth=n}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new s(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((e=>{var t,i,n,o;if(this._resize(e.dimension.width,e.dimension.height),r&&(r.persistHeight=r.persistHeight||!!e.north||!!e.south,r.persistWidth=r.persistWidth||!!e.east||!!e.west),e.done){if(r){const{itemHeight:e,defaultSize:s}=this.getLayoutInfo(),a=Math.round(e/2);let{width:l,height:d}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-d)<=a)&&(d=null!==(i=null===(t=r.persistedSize)||void 0===t?void 0:t.height)&&void 0!==i?i:s.height),(!r.persistWidth||Math.abs(r.currentSize.width-l)<=a)&&(l=null!==(o=null===(n=r.persistedSize)||void 0===n?void 0:n.width)&&void 0!==o?o:s.width),this._persistedSize.store(new et.Ro(l,d))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=et.R3(this.element.domNode,et.$(".message")),this._listElement=et.R3(this.element.domNode,et.$(".tree"));const a=o.createInstance(uu,this.editor);a.onDidClose(this.toggleDetails,this,this._disposables),this._details=new gu(a,this.editor);const l=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(113).showIcons);l();const d=o.createInstance(ku,this.editor);this._disposables.add(d),this._disposables.add(d.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new eu.aV("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[d],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>y.NC("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:e=>{let t=e.textLabel;if("string"!=typeof e.completion.label){const{detail:i,description:n}=e.completion.label;i&&n?t=y.NC("label.full","{0}{1}, {2}",t,i,n):i?t=y.NC("label.detail","{0}{1}",t,i):n&&(t=y.NC("label.desc","{0}, {1}",t,n))}if(!e.isResolved||!this._isDetailsVisible())return t;const{documentation:i,detail:n}=e.completion,o=we.WU("{0}{1}",n||"",i?"string"==typeof i?i:i.value:"");return y.NC("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",t,o)}}}),this._list.style((0,Rl.TU)({listInactiveFocusBackground:Mu,listInactiveFocusOutline:j.xL1})),this._status=o.createInstance(au,this.element.domNode,Ao);const c=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(113).showStatusBar);c(),this._disposables.add(n.onDidColorThemeChange((e=>this._onThemeChange(e)))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e)))),this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e)))),this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((e=>{e.hasChanged(113)&&(c(),l())}))),this._ctxSuggestWidgetVisible=Oo.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Oo.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Oo.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Oo.HasFocusedSuggestion.bindTo(i),this._disposables.add(et.mu(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)}))),this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=(0,Ml.c3)(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const i=e.elements[0],n=e.indexes[0];i!==this._focusedItem&&(null===(t=this._currentSuggestionDetails)||void 0===t||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(n),this._currentSuggestionDetails=(0,O.PG)((e=>Tu(this,void 0,void 0,(function*(){const t=(0,O.Vg)((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),n=e.onCancellationRequested((()=>t.dispose())),o=yield i.resolve(e);return t.dispose(),n.dispose(),o})))),this._currentSuggestionDetails.then((()=>{n>=this._list.length||i!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[i]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:Su(n)}))})).catch(ye.dL)),this._onDidFocus.fire({item:i,index:n,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:et.Cp(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=e.LOADING_MESSAGE,et.Cp(this._listElement,this._status.element),et.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,et.Cp(this._listElement,this._status.element),et.$Z(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:case 4:et.Cp(this._messageElement),et.$Z(this._listElement,this._status.element),this._show();break;case 5:et.Cp(this._messageElement),et.$Z(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(e,t){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=(0,O.Vg)((()=>this._setState(1)),t)))}showSuggestions(e,t,i,n,o){var s,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(s=this._loadingTimeout)||void 0===s||s.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&2!==this._state&&0!==this._state)return void this._setState(4);const a=this._completionModel.items.length,l=0===a;if(this._ctxSuggestWidgetMultipleSuggestions.set(a>1),l)return this._setState(n?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(o?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=et.lI((()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!hu(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=et.lI((()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(4.3*this.getLayoutInfo().itemHeight);t&&t.heightl&&(a=l);const d=this._completionModel?this._completionModel.stats.pLabelLen*s.typicalHalfwidthCharacterWidth:a,c=s.statusBarHeight+this._list.contentHeight+s.borderHeight,h=s.itemHeight+s.statusBarHeight,u=et.i(this.editor.getDomNode()),g=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=u.top+g.top+g.height,m=Math.min(o.height-p-s.verticalPadding,c),f=u.top+g.top-s.verticalPadding,_=Math.min(f,c);let v=Math.min(Math.max(_,m)+s.borderHeight,c);r===(null===(t=this._cappedHeight)||void 0===t?void 0:t.capped)&&(r=this._cappedHeight.wanted),rv&&(r=v);const C=150;r>m||this._forceRenderingAbove&&f>C?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),v=_):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),v=m),this.element.preferredSize=new et.Ro(d,s.defaultSize.height),this.element.maxSize=new et.Ro(l,v),this.element.minSize=new et.Ro(220,h),this._cappedHeight=r===c?{wanted:null!==(n=null===(i=this._cappedHeight)||void 0===i?void 0:i.wanted)&&void 0!==n?n:e.height,capped:r}:void 0}this._resize(a,r)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=t-o+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(e=this._contentWidget.getPosition())||void 0===e?void 0:e.preference[0]))}getLayoutInfo(){const e=this.editor.getOption(48),t=(0,tu.uZ)(this.editor.getOption(115)||e.lineHeight,8,1e3),i=this.editor.getOption(113).showStatusBar&&2!==this._state&&1!==this._state?t:0,n=this._details.widget.borderWidth,o=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new et.Ro(430,i+12*t+o)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};Pu.LOADING_MESSAGE=y.NC("suggestWidget.loading","Loading..."),Pu.NO_SUGGESTIONS_MESSAGE=y.NC("suggestWidget.noSuggestions","No suggestions."),Pu=xu([Iu(1,fi.Uy),Iu(2,k.i6),Iu(3,q.XE),Iu(4,_t.TG)],Pu);class Eu{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new et.Ro(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var Ou=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},Au=function(e,t){return function(i,n){t(i,n,e)}};class Fu{constructor(e,t){this._model=e,this._position=t;if(e.getLineMaxColumn(t.lineNumber)!==t.column){const i=e.getOffsetAt(t),n=e.getPositionAt(i+1);this._marker=e.deltaDecorations([],[{range:B.e.fromPositions(t,n),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let Vu=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o,s,r){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=o,this._logService=s,this._telemetryService=r,this._lineSuffix=new A.XK,this._toDispose=new A.SL,this._selectors=new Wu((e=>e.priority)),this._telemetryGate=0,this.editor=e,this.model=o.createInstance(Jh,this.editor),this._selectors.register({priority:0,select:(e,t,i)=>this._memoryService.select(e,t,i)});const a=Oo.InsertMode.bindTo(n);a.set(e.getOption(113).insertMode),this.model.onDidTrigger((()=>a.set(e.getOption(113).insertMode))),this.widget=this._toDispose.add(new O.Ue((()=>{const e=this._instantiationService.createInstance(Pu,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect((e=>this._insertSuggestion(e,0)),this));const t=new Hh(this.editor,e,this.model,(e=>this._insertSuggestion(e,2)));this._toDispose.add(t);const i=Oo.MakesTextEdit.bindTo(this._contextKeyService),n=Oo.HasInsertAndReplaceRange.bindTo(this._contextKeyService),o=Oo.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,A.OF)((()=>{i.reset(),n.reset(),o.reset()}))),this._toDispose.add(e.onDidFocus((({item:e})=>{const t=this.editor.getPosition(),s=e.editStart.column,r=t.column;let a=!0;if(!("smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.additionalTextEdits||4&e.completion.insertTextRules||r-s!==e.completion.insertText.length)){a=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:s,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText}i.set(a),n.set(!W.L.equals(e.editInsertEnd,e.editReplaceEnd)),o.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)}))),this._toDispose.add(e.onDetailsKeyDown((e=>{e.toKeyCodeChord().equals(new xh.$M(!0,!1,!1,!1,33))||oe.dz&&e.toKeyCodeChord().equals(new xh.$M(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),e}))),this._overtypingCapturer=this._toDispose.add(new O.Ue((()=>this._toDispose.add(new Xh(this.editor,this.model))))),this._alternatives=this._toDispose.add(new O.Ue((()=>this._toDispose.add(new Bh(this.editor,this._contextKeyService))))),this._toDispose.add(o.createInstance(Fh,e)),this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new Fu(this.editor.getModel(),e.position)}))),this._toDispose.add(this.model.onDidSuggest((e=>{var t;if(e.triggerOptions.shy)return;let i=-1;for(const t of this._selectors.itemsOrderedByPriorityDesc)if(i=t.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),-1!==i)break;-1===i&&(i=0);let n=!1;if(e.triggerOptions.auto){const i=this.editor.getOption(113);i.snippetsPreventQuickSuggestions&&(null===(t=mh.get(this.editor))||void 0===t?void 0:t.isInSnippet())?n=!0:"never"===i.selectionMode||"always"===i.selectionMode?n="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?n=1!==e.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(n=1===e.triggerOptions.triggerKind&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,i,e.isFrozen,e.triggerOptions.auto,n)}))),this._toDispose.add(this.model.onDidCancel((e=>{e.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const l=Oo.AcceptSuggestionsOnEnter.bindTo(n),d=()=>{const e=this.editor.getOption(1);l.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>d()))),d()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(e,t){if(!e||!e.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const i=mh.get(this.editor);if(!i)return;const n=this.editor.getModel(),o=n.getAlternativeVersionId(),{item:s}=e,r=[],a=new Le.A;1&t||this.editor.pushUndoStop();const l=this.getOverwriteInfo(s,Boolean(8&t));if(this._memoryService.memorize(n,this.editor.getPosition(),s),Array.isArray(s.completion.additionalTextEdits)){this.model.cancel();const e=li.Z.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",s.completion.additionalTextEdits.map((e=>ca.h.replaceMove(B.e.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!s.isResolved){const e=new Fi.G(!0);let i;const o=n.onDidChangeContent((e=>{if(e.isFlush)return a.cancel(),void o.dispose();for(const t of e.changes){const e=B.e.getEndPosition(t.range);i&&!W.L.isBefore(e,i)||(i=e)}})),l=t;t|=2;let d=!1;const c=this.editor.onWillType((()=>{c.dispose(),d=!0,2&l||this.editor.pushUndoStop()}));r.push(s.resolve(a.token).then((()=>{if(!s.completion.additionalTextEdits||a.token.isCancellationRequested)return!1;if(i&&s.completion.additionalTextEdits.some((e=>W.L.isBefore(i,B.e.getStartPosition(e.range)))))return!1;d&&this.editor.pushUndoStop();const e=li.Z.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",s.completion.additionalTextEdits.map((e=>ca.h.replaceMove(B.e.lift(e.range),e.text)))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!d&&2&l||this.editor.pushUndoStop(),!0})).then((t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),o.dispose(),c.dispose()})))}let{insertText:d}=s.completion;4&s.completion.insertTextRules||(d=Ro.escape(d)),this.model.cancel(),i.insert(d,{overwriteBefore:l.overwriteBefore,overwriteAfter:l.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&s.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),s.completion.command&&(s.completion.command.id===Bu.id?this.model.trigger({auto:!0,retrigger:!0}):r.push(this._commandService.executeCommand(s.completion.command.id,...s.completion.command.arguments?[...s.completion.command.arguments]:[]).catch(ye.dL))),4&t&&this._alternatives.value.set(e,(e=>{for(a.cancel();n.canUndo();){o!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}})),this._alertCompletionItem(s),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(s,n,e),this.model.clear(),a.dispose()}))}_reportSuggestionAcceptedTelemetry(e,t,i){var n;if(this._telemetryGate++%100!=0)return;const o=e.extensionId?e.extensionId.value:(null!==(n=i.item.provider._debugDisplayName)&&void 0!==n?n:"unknown").split("(",1)[0].toLowerCase();this._telemetryService.publicLog2("suggest.acceptedSuggestion",{providerId:o,kind:e.completion.kind,basenameHash:(0,Md.vp)((0,Vt.EZ)(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:(0,Vt.DZ)(t.uri)})}getOverwriteInfo(e,t){(0,wt.p_)(this.editor.hasModel());let i="replace"===this.editor.getOption(113).insertMode;t&&(i=!i);const n=e.position.column-e.editStart.column,o=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:n+(this.editor.getPosition().column-e.position.column),overwriteAfter:o+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(e){if((0,Se.Of)(e.completion.additionalTextEdits)){const t=y.NC("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);(0,o.Z9)(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:null!=t&&t,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),i=e.editStart.column,n=t.column;if(n-i!==e.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:i,endLineNumber:t.lineNumber,endColumn:n})!==e.completion.insertText};Ct.ju.once(this.model.onDidTrigger)((e=>{const t=[];Ct.ju.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{(0,A.B9)(t),i()}),void 0,t),this.model.onDidSuggest((({completionModel:e})=>{if((0,A.B9)(t),0===e.items.length)return void i();const o=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),s=e.items[o];n(s)?(this.editor.pushUndoStop(),this._insertSuggestion({index:o,item:s,model:e},7)):i()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};Vu.ID="editor.contrib.suggestController",Vu=Ou([Au(1,Eh),Au(2,De.H),Au(3,k.i6),Au(4,_t.TG),Au(5,Kc.VZ),Au(6,Pe.b)],Vu);class Wu{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(-1!==this._items.indexOf(e))throw new Error("Value is already registered");return this._items.push(e),this._items.sort(((e,t)=>this.prioritySelector(t)-this.prioritySelector(e))),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class Bu extends w.R6{constructor(){super({id:Bu.id,label:y.NC("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:k.Ao.and(L.u.writable,L.u.hasCompletionItemProvider,Oo.Visible.toNegated()),kbOpts:{kbExpr:L.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Vu.get(t);if(!n)return;let o;i&&"object"==typeof i&&!0===i.auto&&(o=!0),n.triggerSuggest(void 0,o,void 0)}}Bu.id="editor.action.triggerSuggest",(0,w._K)(Vu.ID,Vu,2),(0,w.Qr)(Bu);const Hu=190,zu=w._l.bindToContribution(Vu.get);(0,w.fK)(new zu({id:"acceptSelectedSuggestion",precondition:k.Ao.and(Oo.Visible,Oo.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:k.Ao.and(Oo.Visible,L.u.textInputFocus),weight:Hu},{primary:3,kbExpr:k.Ao.and(Oo.Visible,L.u.textInputFocus,Oo.AcceptSuggestionsOnEnter,Oo.MakesTextEdit),weight:Hu}],menuOpts:[{menuId:Ao,title:y.NC("accept.insert","Insert"),group:"left",order:1,when:Oo.HasInsertAndReplaceRange.toNegated()},{menuId:Ao,title:y.NC("accept.insert","Insert"),group:"left",order:1,when:k.Ao.and(Oo.HasInsertAndReplaceRange,Oo.InsertMode.isEqualTo("insert"))},{menuId:Ao,title:y.NC("accept.replace","Replace"),group:"left",order:1,when:k.Ao.and(Oo.HasInsertAndReplaceRange,Oo.InsertMode.isEqualTo("replace"))}]})),(0,w.fK)(new zu({id:"acceptAlternativeSelectedSuggestion",precondition:k.Ao.and(Oo.Visible,L.u.textInputFocus,Oo.HasFocusedSuggestion),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Ao,group:"left",order:2,when:k.Ao.and(Oo.HasInsertAndReplaceRange,Oo.InsertMode.isEqualTo("insert")),title:y.NC("accept.replace","Replace")},{menuId:Ao,group:"left",order:2,when:k.Ao.and(Oo.HasInsertAndReplaceRange,Oo.InsertMode.isEqualTo("replace")),title:y.NC("accept.insert","Insert")}]})),De.P.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,w.fK)(new zu({id:"hideSuggestWidget",precondition:Oo.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:9,secondary:[1033]}})),(0,w.fK)(new zu({id:"selectNextSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),(0,w.fK)(new zu({id:"selectNextPageSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:12,secondary:[2060]}})),(0,w.fK)(new zu({id:"selectLastSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),(0,w.fK)(new zu({id:"selectPrevSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,w.fK)(new zu({id:"selectPrevPageSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:11,secondary:[2059]}})),(0,w.fK)(new zu({id:"selectFirstSuggestion",precondition:k.Ao.and(Oo.Visible,k.Ao.or(Oo.MultipleSuggestions,Oo.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),(0,w.fK)(new zu({id:"focusSuggestion",precondition:k.Ao.and(Oo.Visible,Oo.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),(0,w.fK)(new zu({id:"focusAndAcceptSuggestion",precondition:k.Ao.and(Oo.Visible,Oo.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),(0,w.fK)(new zu({id:"toggleSuggestionDetails",precondition:k.Ao.and(Oo.Visible,Oo.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Ao,group:"right",order:1,when:k.Ao.and(Oo.DetailsVisible,Oo.CanResolve),title:y.NC("detail.more","show less")},{menuId:Ao,group:"right",order:1,when:k.Ao.and(Oo.DetailsVisible.toNegated(),Oo.CanResolve),title:y.NC("detail.less","show more")}]})),(0,w.fK)(new zu({id:"toggleExplainMode",precondition:Oo.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2133}})),(0,w.fK)(new zu({id:"toggleSuggestionFocus",precondition:Oo.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:2570,mac:{primary:778}}})),(0,w.fK)(new zu({id:"insertBestCompletion",precondition:k.Ao.and(L.u.textInputFocus,k.Ao.equals("config.editor.tabCompletion","on"),Fh.AtEnd,Oo.Visible.toNegated(),Bh.OtherSuggestions.toNegated(),mh.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest((0,wt.Kn)(t)?Object.assign({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:Hu,primary:2}})),(0,w.fK)(new zu({id:"insertNextSuggestion",precondition:k.Ao.and(L.u.textInputFocus,k.Ao.equals("config.editor.tabCompletion","on"),Bh.OtherSuggestions,Oo.Visible.toNegated(),mh.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:2}})),(0,w.fK)(new zu({id:"insertPrevSuggestion",precondition:k.Ao.and(L.u.textInputFocus,k.Ao.equals("config.editor.tabCompletion","on"),Bh.OtherSuggestions,Oo.Visible.toNegated(),mh.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:Hu,kbExpr:L.u.textInputFocus,primary:1026}})),(0,w.Qr)(class extends w.R6{constructor(){super({id:"editor.action.resetSuggestSize",label:y.NC("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){var i;null===(i=Vu.get(t))||void 0===i||i.resetWidgetSize()}});class Uu extends A.JT{get state(){if(this._isActive)return{selectedItem:this._currentSuggestItemInfo}}constructor(e,t){super(),this.editor=e,this.suggestControllerPreselector=t,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this.onDidChangeEmitter=new Ct.Q5,this.onDidChange=this.onDidChangeEmitter.event,this._register(e.onKeyDown((e=>{e.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(e.onKeyUp((e=>{e.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const i=Vu.get(this.editor);if(i){this._register(i.registerSelector({priority:100,select:(e,t,n)=>{const o=this.editor.getModel(),s=Hc(o,this.suggestControllerPreselector());if(!s)return-1;const r=W.L.lift(t),a=n.map(((e,t)=>{const n=ju(i,r,e,this.isShiftKeyPressed),a=Hc(o,null==n?void 0:n.normalizedInlineCompletion);if(!a)return;var l,d;return{index:t,valid:(l=s.range,(d=a.range).startLineNumber===l.startLineNumber&&d.startColumn===l.startColumn&&(d.endLineNumbere&&e.valid)),l=(0,Se.Dc)(a,(0,Se.tT)((e=>e.prefixLength),Se.fv));return l?l.index:-1}}));let e=!1;const t=()=>{e||(e=!0,this._register(i.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(i.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(i.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(Ct.ju.once(i.model.onDidTrigger)((e=>{t()})))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();let i=!1;(function(e,t){if(e===t)return!0;if(!e||!t)return!1;return e.completionItemKind===t.completionItemKind&&e.isSnippetText===t.isSnippetText&&function(e,t){return e===t||!(!e||!t)&&e.range.equalsRange(t.range)&&e.insertText===t.insertText&&e.command===t.command}(e.normalizedInlineCompletion,t.normalizedInlineCompletion)})(this._currentSuggestItemInfo,t)||(this._currentSuggestItemInfo=t,i=!0),this._isActive!==e&&(this._isActive=e,i=!0),i&&this.onDidChangeEmitter.fire()}getSuggestItemInfo(){const e=Vu.get(this.editor);if(!e)return;if(!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem();return t?ju(e,this.editor.getPosition(),t.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const e=Vu.get(this.editor);null==e||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Vu.get(this.editor);null==e||e.forceRenderingAbove()}}function ju(e,t,i,n){if(Array.isArray(i.completion.additionalTextEdits)&&i.completion.additionalTextEdits.length>0)return{completionItemKind:i.completion.kind,isSnippetText:!1,normalizedInlineCompletion:{range:B.e.fromPositions(t,t),insertText:"",filterText:"",snippetInfo:void 0,additionalTextEdits:[]}};let{insertText:o}=i.completion,s=!1;if(4&i.completion.insertTextRules){const i=(new Ro).parse(o),n=e.editor.getModel();if(i.children.length>100)return;hh.adjustWhitespace(n,t,!0,i),o=i.toString(),s=!0}const r=e.getOverwriteInfo(i,n);return{isSnippetText:s,completionItemKind:i.completion.kind,normalizedInlineCompletion:{insertText:o,filterText:o,range:B.e.fromPositions(t.delta(0,-r.overwriteBefore),t.delta(0,Math.max(r.overwriteAfter,0))),snippetInfo:void 0,additionalTextEdits:[]}}}var qu=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},Ku=function(e,t){return function(i,n){t(i,n,e)}},Gu=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 $u=class extends Wc{get isActive(){return void 0!==this.suggestionInlineCompletionSource.state}constructor(e,t,i){super(e),this.cache=t,this.languageFeaturesService=i,this.suggestionInlineCompletionSource=this._register(new Uu(this.editor,(()=>{var e,t,i;return null===(e=this.cache.value)||void 0===e||e.updateRanges(),null===(i=null===(t=this.cache.value)||void 0===t?void 0:t.completions[0])||void 0===i?void 0:i.toLiveInlineCompletion()}))),this.updateOperation=this._register(new A.XK),this.updateCacheSoon=this._register(new O.pY((()=>this.updateCache()),50)),this.minReservedLineCount=0,this._register(this.suggestionInlineCompletionSource.onDidChange((()=>{if(!this.editor.hasModel())return;this.updateCacheSoon.schedule();this.suggestionInlineCompletionSource.state||(this.minReservedLineCount=0);const e=this.ghostText;e&&(this.minReservedLineCount=Math.max(this.minReservedLineCount,e.parts.map((e=>e.lines.length-1)).reduce(((e,t)=>e+t),0))),this.minReservedLineCount>=1?this.suggestionInlineCompletionSource.forceRenderingAbove():this.suggestionInlineCompletionSource.stopForceRenderingAbove(),this.onDidChangeEmitter.fire()}))),this._register(this.cache.onDidChange((()=>{this.onDidChangeEmitter.fire()}))),this._register(this.editor.onDidChangeCursorPosition((e=>{this.minReservedLineCount=0,this.updateCacheSoon.schedule(),this.onDidChangeEmitter.fire()}))),this._register((0,A.OF)((()=>this.suggestionInlineCompletionSource.stopForceRenderingAbove())))}isSuggestionPreviewEnabled(){return this.editor.getOption(113).preview}updateCache(){return Gu(this,void 0,void 0,(function*(){const e=this.suggestionInlineCompletionSource.state;if(!e||!e.selectedItem)return;const t={text:e.selectedItem.normalizedInlineCompletion.insertText,range:e.selectedItem.normalizedInlineCompletion.range,isSnippetText:e.selectedItem.isSnippetText,completionKind:e.selectedItem.completionItemKind},i=this.editor.getPosition();if(e.selectedItem.isSnippetText||27===e.selectedItem.completionItemKind||20===e.selectedItem.completionItemKind||23===e.selectedItem.completionItemKind)return void this.cache.clear();const n=(0,O.PG)((e=>Gu(this,void 0,void 0,(function*(){let n;try{n=yield kh(this.languageFeaturesService.inlineCompletionsProvider,i,this.editor.getModel(),{triggerKind:yn.bw.Automatic,selectedSuggestionInfo:t},e)}catch(e){return void(0,ye.dL)(e)}e.isCancellationRequested?n.dispose():(this.cache.setValue(this.editor,n,yn.bw.Automatic),this.onDidChangeEmitter.fire())})))),o=new Sh(n,yn.bw.Automatic);this.updateOperation.value=o,yield n,this.updateOperation.value===o&&this.updateOperation.clear()}))}get ghostText(){var e,t,i;const n=this.isSuggestionPreviewEnabled(),o=this.editor.getModel(),s=Hc(o,null===(t=null===(e=this.cache.value)||void 0===e?void 0:e.completions[0])||void 0===t?void 0:t.toLiveInlineCompletion()),r=this.suggestionInlineCompletionSource.state,a=Hc(o,null===(i=null==r?void 0:r.selectedItem)||void 0===i?void 0:i.normalizedInlineCompletion),l=s&&a&&s.insertText.startsWith(a.insertText)&&(d=s.range,c=a.range,d.startLineNumber===c.startLineNumber&&d.startColumn===c.startColumn&&(d.endLineNumber===c.endLineNumber&&d.endColumn>=c.endColumn||d.endLineNumber>c.endLineNumber));var d,c;if(!n&&!l)return;const h=l?s:a||s,u=l?h.insertText.length-a.insertText.length:0;return this.toGhostText(h,u)}toGhostText(e,t){const i=this.editor.getOptions().get(113).previewMode;return e?zc(e,this.editor.getModel(),i,this.editor.getPosition(),t)||new Ac(e.range.endLineNumber,[],this.minReservedLineCount):void 0}};$u=qu([Ku(2,xe.p)],$u);var Zu=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},Qu=function(e,t){return function(i,n){t(i,n,e)}};class Yu extends A.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new Ct.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.hasCachedGhostText=!1,this.currentModelRef=this._register(new A.XK)}get targetModel(){var e;return null===(e=this.currentModelRef.value)||void 0===e?void 0:e.object}setTargetModel(e){var t,i,n;(null===(t=this.currentModelRef.value)||void 0===t?void 0:t.object)!==e&&(this.currentModelRef.clear(),this.currentModelRef.value=e?(i=e,n=e.onDidChange((()=>{this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire()})),{object:i,dispose:()=>null==n?void 0:n.dispose()}):void 0,this.hasCachedGhostText=!1,this.onDidChangeEmitter.fire())}get ghostText(){var e,t;return this.hasCachedGhostText||(this.cachedGhostText=null===(t=null===(e=this.currentModelRef.value)||void 0===e?void 0:e.object)||void 0===t?void 0:t.ghostText,this.hasCachedGhostText=!0),this.cachedGhostText}setExpanded(e){var t;null===(t=this.targetModel)||void 0===t||t.setExpanded(e)}get minReservedLineCount(){return this.targetModel?this.targetModel.minReservedLineCount:0}}let Ju=class extends Yu{get activeInlineCompletionsModel(){if(this.targetModel===this.inlineCompletionsModel)return this.inlineCompletionsModel}constructor(e,t){super(),this.editor=e,this.instantiationService=t,this.sharedCache=this._register(new Xu),this.suggestWidgetAdapterModel=this._register(this.instantiationService.createInstance($u,this.editor,this.sharedCache)),this.inlineCompletionsModel=this._register(this.instantiationService.createInstance(bh,this.editor,this.sharedCache)),this._register(this.suggestWidgetAdapterModel.onDidChange((()=>{this.updateModel()}))),this.updateModel()}updateModel(){this.setTargetModel(this.suggestWidgetAdapterModel.isActive?this.suggestWidgetAdapterModel:this.inlineCompletionsModel),this.inlineCompletionsModel.setActive(this.targetModel===this.inlineCompletionsModel)}shouldShowHoverAt(e){var t;const i=null===(t=this.activeInlineCompletionsModel)||void 0===t?void 0:t.ghostText;return!!i&&i.parts.some((t=>e.containsPosition(new W.L(i.lineNumber,t.column))))}triggerInlineCompletion(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.trigger(yn.bw.Explicit)}commitInlineCompletion(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.commitCurrentSuggestion()}commitInlineCompletionPartially(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.commitCurrentSuggestionPartially()}hideInlineCompletion(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.hide()}showNextInlineCompletion(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.showNext()}showPreviousInlineCompletion(){var e;null===(e=this.activeInlineCompletionsModel)||void 0===e||e.showPrevious()}};Ju=Zu([Qu(1,_t.TG)],Ju);class Xu extends A.JT{constructor(){super(...arguments),this.onDidChangeEmitter=new Ct.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.cache=this._register(new A.XK)}get value(){return this.cache.value}setValue(e,t,i){this.cache.value=new Lh(t,e,(()=>this.onDidChangeEmitter.fire()),i)}clearAndLeak(){return this.cache.clearAndLeak()}clear(){this.cache.clear()}}var eg=i(77682),tg={};tg.styleTagTransform=v(),tg.setAttributes=p(),tg.insert=u().bind(null,"head"),tg.domAPI=c(),tg.insertStyleElement=f();l()(eg.Z,tg);eg.Z&&eg.Z.locals&&eg.Z.locals;var ig,ng=i(77378),og=i(50072),sg=i(92550),rg=i(91557),ag=i(69149),lg=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},dg=function(e,t){return function(i,n){t(i,n,e)}};const cg=null===(ig=window.trustedTypes)||void 0===ig?void 0:ig.createPolicy("editorGhostText",{createHTML:e=>e});let hg=class extends A.JT{constructor(e,t,i,n,o){super(),this.editor=e,this.model=t,this.instantiationService=i,this.languageService=n,this.audioCueService=o,this.disposed=!1,this.partsWidget=this._register(this.instantiationService.createInstance(gg,this.editor)),this.additionalLinesWidget=this._register(new pg(this.editor,this.languageService.languageIdCodec)),this.viewMoreContentWidget=void 0,this.replacementDecoration=this._register(new ug(this.editor)),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(31)||e.hasChanged(112)||e.hasChanged(94)||e.hasChanged(89)||e.hasChanged(49)||e.hasChanged(48)||e.hasChanged(64))&&this.update()}))),this._register((0,A.OF)((()=>{var e;this.disposed=!0,this.update(),null===(e=this.viewMoreContentWidget)||void 0===e||e.dispose(),this.viewMoreContentWidget=void 0}))),this._register(t.onDidChange((()=>this.update(!0)))),this.update(!0)}shouldShowHoverAtViewZone(e){return this.additionalLinesWidget.viewZoneId===e}update(e){var t;const i=this.model.ghostText;if(!this.editor.hasModel()||!i||this.disposed)return this.partsWidget.clear(),this.additionalLinesWidget.clear(),void this.replacementDecoration.clear();const n=new Array,s=new Array;function r(e,t){if(s.length>0){const i=s[s.length-1];t&&i.decorations.push(new sg.Kp(i.content.length+1,i.content.length+1+e[0].length,t,0)),i.content+=e[0],e=e.slice(1)}for(const i of e)s.push({content:i,decorations:t?[new sg.Kp(1,i.length+1,t,0)]:[]})}i instanceof Vc?this.replacementDecoration.setDecorations([{range:new B.e(i.lineNumber,i.columnStart,i.lineNumber,i.columnStart+i.length),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}]):this.replacementDecoration.setDecorations([]);const a=this.editor.getModel().getLineContent(i.lineNumber);let l,d=0;for(const e of i.parts){let t=e.lines;void 0===l?(n.push({column:e.column,text:t[0],preview:e.preview}),t=t.slice(1)):r([a.substring(d,e.column-1)],void 0),t.length>0&&(r(t,"ghost-text"),void 0===l&&e.column<=a.length&&(l=e.column)),d=e.column-1}void 0!==l&&r([a.substring(d)],void 0),this.partsWidget.setParts(i.lineNumber,n,void 0!==l?{column:l,length:a.length+1-l}:void 0),this.additionalLinesWidget.updateLines(i.lineNumber,s,i.additionalReservedLineCount),e&&this.audioCueService.playAudioCue(ag.y$.inlineSuggestion).then((()=>{var e;if(this.editor.getOption(6)){const t=null===(e=this.editor.getModel())||void 0===e?void 0:e.getLineContent(i.lineNumber);t&&(0,o.Z9)(i.renderForScreenReader(t))}})),null===(t=this.viewMoreContentWidget)||void 0===t||t.dispose(),this.viewMoreContentWidget=void 0}renderViewMoreLines(e,t,i){const n=this.editor.getOption(48),o=document.createElement("div");o.className="suggest-preview-additional-widget",(0,rs.N)(o,n);const s=document.createElement("span");s.className="content-spacer",s.append(t),o.append(s);const r=document.createElement("span");r.className="content-newline suggest-preview-text",r.append("⏎ "),o.append(r);const a=new A.SL,l=document.createElement("div");return l.className="button suggest-preview-text",l.append(`+${i} lines…`),a.add(et.mu(l,"mousedown",(e=>{var t;null===(t=this.model)||void 0===t||t.setExpanded(!0),e.preventDefault(),this.editor.focus()}))),o.append(l),new mg(this.editor,e,o,a)}};hg=lg([dg(2,_t.TG),dg(3,hn.O),dg(4,ag.e7)],hg);class ug{constructor(e){this.editor=e,this.decorationIds=[]}setDecorations(e){this.editor.changeDecorations((t=>{this.decorationIds=t.deltaDecorations(this.decorationIds,e)}))}clear(){this.setDecorations([])}dispose(){this.clear()}}class gg{constructor(e){this.editor=e,this.decorationIds=[]}dispose(){this.clear()}clear(){this.editor.changeDecorations((e=>{this.decorationIds=e.deltaDecorations(this.decorationIds,[])}))}setParts(e,t,i){if(!this.editor.getModel())return;const n=new Array;i&&n.push({range:B.e.fromPositions(new W.L(e,i.column),new W.L(e,i.column+i.length)),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}}),this.editor.changeDecorations((i=>{this.decorationIds=i.deltaDecorations(this.decorationIds,t.map((t=>({range:B.e.fromPositions(new W.L(e,t.column)),options:{description:"ghost-text",after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:H.RM.Left},showIfCollapsed:!0}}))).concat(n))}))}}class pg{get viewZoneId(){return this._viewZoneId}constructor(e,t){this.editor=e,this.languageIdCodec=t,this._viewZoneId=void 0}dispose(){this.clear()}clear(){this.editor.changeViewZones((e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:o}=n.getOptions();this.editor.changeViewZones((n=>{this._viewZoneId&&(n.removeZone(this._viewZoneId),this._viewZoneId=void 0);const s=Math.max(t.length,i);if(s>0){const i=document.createElement("div");!function(e,t,i,n,o){const s=n.get(31),r=n.get(112),a="none",l=n.get(89),d=n.get(49),c=n.get(48),h=n.get(64),u=new og.HT(1e4);u.appendString('
');for(let e=0,n=i.length;e');const p=we.$i(g),m=we.Ut(g),f=ng.A.createEmpty(g,o);(0,rg.d1)(new rg.IJ(c.isMonospace&&!s,c.canUseHalfwidthRightwardsArrow,g,!1,p,m,0,f,n.decorations,t,0,c.spaceWidth,c.middotWidth,c.wsmiddotWidth,r,a,l,d!==di.n0.OFF,null),u),u.appendString("
")}u.appendString(""),(0,rs.N)(e,c);const g=u.build(),p=cg?cg.createHTML(g):g;e.innerHTML=p}(i,o,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=n.addZone({afterLineNumber:e,heightInLines:s,domNode:i,afterColumnAffinity:1})}}))}}class mg extends A.JT{constructor(e,t,i,n){super(),this.editor=e,this.position=t,this.domNode=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this._register(n),this._register((0,A.OF)((()=>{this.editor.removeContentWidget(this)}))),this.editor.addContentWidget(this)}getId(){return"editor.widget.viewMoreLinesWidget"}getDomNode(){return this.domNode}getPosition(){return{position:this.position,preference:[0]}}}var fg=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},_g=function(e,t){return function(i,n){t(i,n,e)}},vg=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 Cg=class e extends A.JT{static get(t){return t.getContribution(e.ID)}get activeModel(){var e;return null===(e=this.activeController.value)||void 0===e?void 0:e.model}constructor(t,i,n){super(),this.editor=t,this.instantiationService=i,this.contextKeyService=n,this.triggeredExplicitly=!1,this.activeController=this._register(new A.XK),this.activeModelDidChangeEmitter=this._register(new Ct.Q5),this.firstUndoableVersionId=void 0,this.alwaysShowInlineSuggestionToolbar=e.alwaysShowInlineSuggestionToolbar.bindTo(this.contextKeyService),this._register(this.editor.onDidChangeModelContent((e=>{var t;(!e.isUndoing||this.firstUndoableVersionId&&this.editor.getModel().getAlternativeVersionId(){var t;3===e.reason&&(null===(t=this.activeController.value)||void 0===t||t.contextKeys.canUndoInlineSuggestion.reset(),this.firstUndoableVersionId=void 0)}))),this._register(this.editor.onDidChangeModel((()=>{this.update()}))),this._register(this.editor.onDidChangeConfiguration((e=>{(e.hasChanged(113)||e.hasChanged(60))&&this.update()}))),this.update()}update(){const e=this.editor.getOption(113),t=this.editor.getOption(60);this.alwaysShowInlineSuggestionToolbar.set("always"===t.showToolbar);const i=this.editor.hasModel()&&(e.preview||t.enabled||this.triggeredExplicitly);i!==!!this.activeController.value&&(this.activeController.value=void 0,this.activeController.value=i?this.instantiationService.createInstance(wg,this.editor):void 0,this.activeModelDidChangeEmitter.fire())}shouldShowHoverAt(e){var t;return(null===(t=this.activeModel)||void 0===t?void 0:t.shouldShowHoverAt(e))||!1}shouldShowHoverAtViewZone(e){var t,i;return(null===(i=null===(t=this.activeController.value)||void 0===t?void 0:t.widget)||void 0===i?void 0:i.shouldShowHoverAtViewZone(e))||!1}trigger(){var e;this.triggeredExplicitly=!0,this.activeController.value||this.update(),null===(e=this.activeModel)||void 0===e||e.triggerInlineCompletion()}commitPartially(){var e,t,i;const n=this.firstUndoableVersionId;null===(e=this.activeModel)||void 0===e||e.commitInlineCompletionPartially(),null===(i=null===(t=this.activeController)||void 0===t?void 0:t.value)||void 0===i||i.contextKeys.canUndoInlineSuggestion.set(!0),this.firstUndoableVersionId=null!=n?n:this.editor.getModel().getAlternativeVersionId()}commit(){var e;null===(e=this.activeModel)||void 0===e||e.commitInlineCompletion()}hide(){var e;null===(e=this.activeModel)||void 0===e||e.hideInlineCompletion()}showNextInlineCompletion(){var e;null===(e=this.activeModel)||void 0===e||e.showNextInlineCompletion()}showPreviousInlineCompletion(){var e;null===(e=this.activeModel)||void 0===e||e.showPreviousInlineCompletion()}};Cg.inlineSuggestionVisible=new k.uy("inlineSuggestionVisible",!1,y.NC("inlineSuggestionVisible","Whether an inline suggestion is visible")),Cg.inlineSuggestionHasIndentation=new k.uy("inlineSuggestionHasIndentation",!1,y.NC("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Cg.inlineSuggestionHasIndentationLessThanTabSize=new k.uy("inlineSuggestionHasIndentationLessThanTabSize",!0,y.NC("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Cg.canUndoInlineSuggestion=new k.uy("canUndoInlineSuggestion",!1,y.NC("canUndoInlineSuggestion","Whether undo would undo an inline suggestion")),Cg.alwaysShowInlineSuggestionToolbar=new k.uy("alwaysShowInlineSuggestionToolbar",!1,y.NC("alwaysShowInlineSuggestionToolbar","Whether the inline suggestion toolbar should always be visible")),Cg.ID="editor.contrib.ghostTextController",Cg=fg([_g(1,_t.TG),_g(2,k.i6)],Cg);class bg{constructor(e){this.contextKeyService=e,this.inlineCompletionVisible=Cg.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Cg.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Cg.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.canUndoInlineSuggestion=Cg.canUndoInlineSuggestion.bindTo(this.contextKeyService)}}let wg=class extends A.JT{constructor(e,t,i){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.contextKeys=new bg(this.contextKeyService),this.model=this._register(this.instantiationService.createInstance(Ju,this.editor)),this.widget=this._register(this.instantiationService.createInstance(hg,this.editor,this.model)),this._register((0,A.OF)((()=>{this.contextKeys.inlineCompletionVisible.set(!1),this.contextKeys.inlineCompletionSuggestsIndentation.set(!1),this.contextKeys.inlineCompletionSuggestsIndentationLessThanTabSize.set(!0)}))),this._register(this.model.onDidChange((()=>{this.updateContextKeys()}))),this.updateContextKeys()}updateContextKeys(){var e;this.contextKeys.inlineCompletionVisible.set(void 0!==(null===(e=this.model.activeInlineCompletionsModel)||void 0===e?void 0:e.ghostText));let t=!1,i=!0;const n=this.model.inlineCompletionsModel.ghostText;if(this.model.activeInlineCompletionsModel&&n&&n.parts.length>0){const{column:e,lines:o}=n.parts[0],s=o[0];if(e<=this.editor.getModel().getLineIndentColumn(n.lineNumber)){let e=(0,we.LC)(s);-1===e&&(e=s.length-1),t=e>0;const n=this.editor.getModel().getOptions().tabSize;i=Nc.i.visibleColumnFromColumn(s,e+1,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},Rg=function(e,t){return function(i,n){t(i,n,e)}};class Pg{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return 1===e.type&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}requestExplicitContext(){var e,t,i;null===(i=null===(t=null===(e=this.controller.activeModel)||void 0===e?void 0:e.activeInlineCompletionsModel)||void 0===t?void 0:t.completionSession.value)||void 0===i||i.ensureUpdateWithExplicitContext()}getInlineCompletionsCount(){var e,t;const i=null===(t=null===(e=this.controller.activeModel)||void 0===e?void 0:e.activeInlineCompletionsModel)||void 0===t?void 0:t.completionSession.value;if(null==i?void 0:i.hasBeenTriggeredExplicitly)return null==i?void 0:i.getInlineCompletionsCountSync()}getInlineCompletionIndex(){var e,t,i;return null===(i=null===(t=null===(e=this.controller.activeModel)||void 0===e?void 0:e.activeInlineCompletionsModel)||void 0===t?void 0:t.completionSession.value)||void 0===i?void 0:i.currentlySelectedIndex}onDidChange(e){var t,i;return(null===(i=null===(t=this.controller.activeModel)||void 0===t?void 0:t.activeInlineCompletionsModel)||void 0===i?void 0:i.onDidChange(e))||A.JT.None}get commands(){var e,t,i;return(null===(i=null===(t=null===(e=this.controller.activeModel)||void 0===e?void 0:e.activeInlineCompletionsModel)||void 0===t?void 0:t.completionSession.value)||void 0===i?void 0:i.commands)||[]}}let Eg=class{constructor(e,t,i,n,o,s){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=o,this._telemetryService=s,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=Cg.get(this._editor);if(!t)return null;const i=e.target;if(8===i.type){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new vo(1e3,this,B.e.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}if(7===i.type&&t.shouldShowHoverAt(i.range))return new vo(1e3,this,i.range,e.event.posx,e.event.posy,!1);if(6===i.type){if(i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range))return new vo(1e3,this,i.range,e.event.posx,e.event.posy,!1)}return null}computeSync(e,t){if("always"===this._editor.getOption(60).showToolbar)return[];const i=Cg.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Pg(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new A.SL,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&this.renderScreenReaderText(e,n,i);const o=this._instantiationService.createInstance(Pr,this._editor,!1);return e.fragment.appendChild(o.getDomNode()),o.update(null,n.getInlineCompletionIndex()||0,n.getInlineCompletionsCount(),n.commands),n.requestExplicitContext(),i.add(n.onDidChange((()=>{o.update(null,n.getInlineCompletionIndex()||0,n.getInlineCompletionsCount(),n.commands)}))),i}renderScreenReaderText(e,t,i){const n=et.$,o=n("div.hover-row.markdown-hover"),r=et.R3(o,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new gs({editor:this._editor},this._languageService,this._openerService));i.add(Ct.ju.runAndSubscribe((e=>t.onDidChange(e)),(()=>{var n,o;const l=null===(o=null===(n=t.controller.activeModel)||void 0===n?void 0:n.inlineCompletionsModel)||void 0===o?void 0:o.ghostText;if(l){const t=this._editor.getModel().getLineContent(l.lineNumber);(t=>{i.add(a.onDidRenderAsync((()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()})));const n=y.NC("inlineSuggestionFollows","Suggestion:"),o=i.add(a.render((new s.W5).appendText(n).appendCodeblock("text",t)));r.replaceChildren(o.element)})(l.renderForScreenReader(t))}else et.mc(r)}))),e.fragment.appendChild(o)}};Eg=Mg([Rg(1,hn.O),Rg(2,ds.v4),Rg(3,Dg.F),Rg(4,_t.TG),Rg(5,Pe.b)],Eg),(0,w._K)(Cg.ID,Cg,3),(0,w.Qr)(yg),(0,w.Qr)(Sg),(0,w.Qr)(Lg),(0,w.Qr)(kg),(0,w.Qr)(Ng),(0,w.Qr)(xg),(0,w.Qr)(Tg),(0,U.r1)(Ig),Co.register(Eg);var Og=i(10291);function Ag(e,t){let i=0;for(let n=0;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},Hg=function(e,t){return function(i,n){t(i,n,e)}};function zg(e,t,i,n,o){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return[];const s=t.getLanguageConfiguration(e.getLanguageId()).indentationRules;if(!s)return[];for(n=Math.min(n,e.getLineCount());i<=n&&s.unIndentedLinePattern;){const t=e.getLineContent(i);if(!s.unIndentedLinePattern.test(t))break;i++}if(i>n-1)return[];const{tabSize:r,indentSize:a,insertSpaces:l}=e.getOptions(),d=(e,t)=>(t=t||1,Og.U.shiftIndent(e,e.length+t,r,a,l)),c=(e,t)=>(t=t||1,Og.U.unshiftIndent(e,e.length+t,r,a,l)),h=[];let u;const g=e.getLineContent(i);let p=g;if(null!=o){u=o;const e=we.V8(g);p=u+g.substring(e.length),s.decreaseIndentPattern&&s.decreaseIndentPattern.test(p)&&(u=c(u),p=u+g.substring(e.length)),g!==p&&h.push(ca.h.replaceMove(new S.Y(i,1,i,e.length+1),(0,Vg.x)(u,a,l)))}else u=we.V8(g);let m=u;s.increaseIndentPattern&&s.increaseIndentPattern.test(p)?(m=d(m),u=d(u)):s.indentNextLinePattern&&s.indentNextLinePattern.test(p)&&(m=d(m));for(let t=++i;t<=n;t++){const i=e.getLineContent(t),n=we.V8(i),o=m+i.substring(n.length);s.decreaseIndentPattern&&s.decreaseIndentPattern.test(o)&&(m=c(m),u=c(u)),n!==m&&h.push(ca.h.replaceMove(new S.Y(t,1,t,n.length+1),(0,Vg.x)(m,a,l))),s.unIndentedLinePattern&&s.unIndentedLinePattern.test(i)||(s.increaseIndentPattern&&s.increaseIndentPattern.test(o)?(u=d(u),m=u):m=s.indentNextLinePattern&&s.indentNextLinePattern.test(o)?d(m):u)}return h}class Ug extends w.R6{constructor(){super({id:Ug.ID,label:y.NC("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:L.u.writable})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),o=t.getSelection();if(!o)return;const s=new tp(o,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}Ug.ID="editor.action.indentationToSpaces";class jg extends w.R6{constructor(){super({id:jg.ID,label:y.NC("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:L.u.writable})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),o=t.getSelection();if(!o)return;const s=new ip(o,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}jg.ID="editor.action.indentationToTabs";class qg extends w.R6{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Di.eJ),n=e.get(Ie.q),o=t.getModel();if(!o)return;const s=n.getCreationOptions(o.getLanguageId(),o.uri,o.isForSimpleWidget),r=o.getOptions(),a=[1,2,3,4,5,6,7,8].map((e=>({id:e.toString(),label:e.toString(),description:e===s.tabSize&&e===r.tabSize?y.NC("configuredTabSize","Configured Tab Size"):e===s.tabSize?y.NC("defaultTabSize","Default Tab Size"):e===r.tabSize?y.NC("currentTabSize","Current Tab Size"):void 0}))),l=Math.min(o.getOptions().tabSize-1,7);setTimeout((()=>{i.pick(a,{placeHolder:y.NC({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:a[l]}).then((e=>{if(e&&o&&!o.isDisposed()){const t=parseInt(e.label,10);this.displaySizeOnly?o.updateOptions({tabSize:t}):o.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}}))}),50)}}class Kg extends qg{constructor(){super(!1,!1,{id:Kg.ID,label:y.NC("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}Kg.ID="editor.action.indentUsingTabs";class Gg extends qg{constructor(){super(!0,!1,{id:Gg.ID,label:y.NC("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}Gg.ID="editor.action.indentUsingSpaces";class $g extends qg{constructor(){super(!0,!0,{id:$g.ID,label:y.NC("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}$g.ID="editor.action.changeTabDisplaySize";class Zg extends w.R6{constructor(){super({id:Zg.ID,label:y.NC("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(Ie.q),n=t.getModel();if(!n)return;const o=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(o.insertSpaces,o.tabSize)}}Zg.ID="editor.action.detectIndentation";class Qg extends w.R6{constructor(){super({id:"editor.action.reindentlines",label:y.NC("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:L.u.writable})}run(e,t){const i=e.get(da.c_),n=t.getModel();if(!n)return;const o=zg(n,i,1,n.getLineCount());o.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,o),t.pushUndoStop())}}class Yg extends w.R6{constructor(){super({id:"editor.action.reindentselectedlines",label:y.NC("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:L.u.writable})}run(e,t){const i=e.get(da.c_),n=t.getModel();if(!n)return;const o=t.getSelections();if(null===o)return;const s=[];for(const e of o){let t=e.startLineNumber,o=e.endLineNumber;if(t!==o&&1===e.endColumn&&o--,1===t){if(t===o)continue}else t--;const r=zg(n,i,t,o);s.push(...r)}s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class Jg{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const t of e)t.range&&"string"==typeof t.text&&this._edits.push(t)}getEditOperations(e,t){for(const e of this._edits)t.addEditOperation(B.e.lift(e.range),e.text);let i=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let Xg=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new A.SL,this.callOnModel=new A.SL,this.callOnDispose.add(e.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(e.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(10)<4||this.editor.getOption(53)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:e})=>{this.trigger(e)})))}trigger(e){const t=this.editor.getSelections();if(null===t||t.length>1)return;const i=this.editor.getModel();if(!i)return;if(!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const n=this.editor.getOption(10),{tabSize:o,indentSize:s,insertSpaces:r}=i.getOptions(),a=[],l={shiftIndent:e=>Og.U.shiftIndent(e,e.length+1,o,s,r),unshiftIndent:e=>Og.U.unshiftIndent(e,e.length+1,o,s,r)};let d=e.startLineNumber;for(;d<=e.endLineNumber&&this.shouldIgnoreLine(i,d);)d++;if(d>e.endLineNumber)return;let c=i.getLineContent(d);if(!/\S/.test(c.substring(0,e.startColumn-1))){const e=(0,Wg.n8)(n,i,i.getLanguageId(),d,l,this._languageConfigurationService);if(null!==e){const t=we.V8(c),n=Ag(e,o);if(n!==Ag(t,o)){const e=Fg(n,o,r);a.push({range:new B.e(d,1,d,t.length+1),text:e}),c=e+c.substr(t.length)}else{const e=(0,Wg.tI)(i,d,this._languageConfigurationService);if(0===e||8===e)return}}}const h=d;for(;di.tokenization.getLineTokens(e),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(e,t)=>i.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===h?c:i.getLineContent(e)},s=(0,Wg.n8)(n,t,i.getLanguageId(),d+1,l,this._languageConfigurationService);if(null!==s){const t=Ag(s,o),n=Ag(we.V8(i.getLineContent(d+1)),o);if(t!==n){const s=t-n;for(let t=d+1;t<=e.endLineNumber;t++){const e=i.getLineContent(t),n=we.V8(e),l=Fg(Ag(n,o)+s,o,r);l!==n&&a.push({range:new B.e(t,1,t,n.length+1),text:l})}}}}if(a.length>0){this.editor.pushUndoStop();const e=new Jg(a,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",e),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(0===i)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const e=n.findTokenIndexAtOffset(i);if(e>=0&&1===n.getStandardTokenType(e))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function ep(e,t,i,n){if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;let o="";for(let e=0;ethis._currentResolve=void 0))),yield this._currentResolve}}))}_doResolve(e){var t,i;return np(this,void 0,void 0,(function*(){try{const n=yield Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=null!==(t=null==n?void 0:n.tooltip)&&void 0!==t?t:this.hint.tooltip,this.hint.label=null!==(i=null==n?void 0:n.label)&&void 0!==i?i:this.hint.label,this._isResolved=!0}catch(e){(0,ye.Cp)(e),this._isResolved=!1}}))}}class rp{static create(e,t,i,n){return np(this,void 0,void 0,(function*(){const o=[],s=e.ordered(t).reverse().map((e=>i.map((i=>np(this,void 0,void 0,(function*(){try{const s=yield e.provideInlayHints(t,i,n);(null==s?void 0:s.hints.length)&&o.push([s,e])}catch(e){(0,ye.Cp)(e)}}))))));if(yield Promise.all(s.flat()),n.isCancellationRequested||t.isDisposed())throw new ye.FU;return new rp(i,o,t)}))}constructor(e,t,i){this._disposables=new A.SL,this.ranges=e,this.provider=new Set;const n=[];for(const[e,o]of t){this._disposables.add(e),this.provider.add(o);for(const t of e.hints){const e=i.validatePosition(t.position);let s="before";const r=rp._getRangeAtPosition(i,e);let a;r.getStartPosition().isBefore(e)?(a=B.e.fromPositions(r.getStartPosition(),e),s="after"):(a=B.e.fromPositions(e,r.getEndPosition()),s="before"),n.push(new sp(t,new op(a,s),o))}}this.items=n.sort(((e,t)=>W.L.compare(e.hint.position,t.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new B.e(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const o=e.tokenization.getLineTokens(i),s=t.column-1,r=o.findTokenIndexAtOffset(s);let a=o.getStartOffset(r),l=o.getEndOffset(r);return l-a==1&&(a===s&&r>1?(a=o.getStartOffset(r-1),l=o.getEndOffset(r-1)):l===s&&r(0,U.vr)(e)?e.command.id:(0,ta.R)())));for(const e of Xn.all())u.has(e.desc.id)&&h.push(new wr.aU(e.desc.id,U.U8.label(e.desc,{renderShortTitle:!0}),void 0,!0,(()=>ap(this,void 0,void 0,(function*(){const i=yield s.createModelReference(c.uri);try{const o=new Jn(i.object.textEditorModel,B.e.getStartPosition(c.range)),s=n.item.anchor.range;yield l.invokeFunction(e.runEditorCommand.bind(e),t,o,s)}finally{i.dispose()}})))));if(n.part.command){const{command:e}=n.part;h.push(new wr.Z0),h.push(new wr.aU(e.id,e.title,void 0,!0,(()=>ap(this,void 0,void 0,(function*(){var t;try{yield a.executeCommand(e.id,...null!==(t=e.arguments)&&void 0!==t?t:[])}catch(e){d.notify({severity:Me.zb.Error,source:n.item.provider.displayName,message:e})}})))))}const g=t.getOption(122);r.showContextMenu({domForShadowRoot:g&&null!==(o=t.getDomNode())&&void 0!==o?o:void 0,getAnchor:()=>{const e=et.i(i);return{x:e.left,y:e.top+e.height+8}},getActions:()=>h,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}))}function dp(e,t,i,n){return ap(this,void 0,void 0,(function*(){const o=e.get(pn.S),s=yield o.createModelReference(n.uri);yield i.invokeWithinContext((e=>ap(this,void 0,void 0,(function*(){const o=t.hasSideBySideModifier,r=e.get(k.i6),a=wn.Jy.inPeekEditor.getValue(r),l=!o&&i.getOption(84)&&!a;return new eo({openToSide:o,openInPeek:l,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(e,new Jn(s.object.textEditorModel,B.e.getStartPosition(n.range)),B.e.lift(n.range))})))),s.dispose()}))}var cp=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},hp=function(e,t){return function(i,n){t(i,n,e)}},up=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 gp{constructor(){this._entries=new pi.z6(50)}get(e){const t=gp._key(e);return this._entries.get(t)}set(e,t){const i=gp._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const pp=(0,_t.yh)("IInlayHintsCache");(0,mi.z)(pp,gp,1);class mp{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return"string"==typeof e?{label:e}:e[this.index]}}class fp{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let _p=class e{static get(t){var i;return null!==(i=t.getContribution(e.ID))&&void 0!==i?i:void 0}constructor(e,t,i,n,o,s,r){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=o,this._notificationService=s,this._instaService=r,this._disposables=new A.SL,this._sessionDisposables=new A.SL,this._decorationsMetadata=new Map,this._ruleFactory=new Vi.t7(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(e.onDidChangeModel((()=>this._update()))),this._disposables.add(e.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(e.onDidChangeConfiguration((e=>{e.hasChanged(135)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(135);if("off"===e.enabled)return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;const i=this._inlayHintsCache.get(t);let n;i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add((0,A.OF)((()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)})));const o=new Set,s=new O.pY((()=>up(this,void 0,void 0,(function*(){const e=Date.now();null==n||n.dispose(!0),n=new Le.A;const i=t.onWillDispose((()=>null==n?void 0:n.cancel()));try{const i=n.token,r=yield rp.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),i);if(s.delay=this._debounceInfo.update(t,Date.now()-e),i.isCancellationRequested)return void r.dispose();for(const e of r.provider)"function"!=typeof e.onDidChangeInlayHints||o.has(e)||(o.add(e),this._sessionDisposables.add(e.onDidChangeInlayHints((()=>{s.isScheduled()||s.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(t)}catch(e){(0,ye.dL)(e)}finally{n.dispose(),i.dispose()}}))),this._debounceInfo.get(t));if(this._sessionDisposables.add(s),this._sessionDisposables.add((0,A.OF)((()=>null==n?void 0:n.dispose(!0)))),s.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{!e.scrollTopChanged&&s.isScheduled()||s.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{const t=Math.max(s.delay,1250);s.schedule(t)}))),"on"===e.enabled)this._activeRenderMode=0;else{let t,i;"onUnlessPressed"===e.enabled?(t=0,i=1):(t=1,i=0),this._activeRenderMode=t,this._sessionDisposables.add(et._q.getInstance().event((e=>{if(!this._editor.hasModel())return;const n=e.altKey&&e.ctrlKey&&!e.shiftKey&&!e.metaKey?i:t;if(n!==this._activeRenderMode){this._activeRenderMode=n;const e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),s.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>s.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new A.SL,t=e.add(new bn(this._editor)),i=new A.SL;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown((e=>{const[t]=e,n=this._getInlayHintLabelPart(t),o=this._editor.getModel();if(!n||!o)return void i.clear();const s=new Le.A;i.add((0,A.OF)((()=>s.dispose(!0)))),n.item.resolve(s.token),this._activeInlayHintPart=n.part.command||n.part.location?new fp(n,t.hasTriggerModifier):void 0;const r=o.validatePosition(n.item.hint.position).lineNumber,a=new B.e(r,1,r,o.getLineMaxColumn(r)),l=this._getInlineHintsForRange(a);this._updateHintsDecorators([a],l),i.add((0,A.OF)((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([a],l)})))}))),e.add(t.onCancel((()=>i.clear()))),e.add(t.onExecute((e=>up(this,void 0,void 0,(function*(){const t=this._getInlayHintLabelPart(e);if(t){const i=t.part;i.location?this._instaService.invokeFunction(dp,e,this._editor,i.location):yn.mY.is(i.command)&&(yield this._invokeCommand(i.command,t.item))}}))))),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp((t=>up(this,void 0,void 0,(function*(){if(2!==t.event.detail)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),yield i.item.resolve(Le.T.None),(0,Se.Of)(i.item.hint.textEdits))){const t=i.item.hint.textEdits.map((e=>ca.h.replace(B.e.lift(e.range),e.text)));this._editor.executeEdits("inlayHint.default",t),e()}}))))}_installContextMenu(){return this._editor.onContextMenu((e=>up(this,void 0,void 0,(function*(){if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&(yield this._instaService.invokeFunction(lp,this._editor,e.event.target,t))}))))}_getInlayHintLabelPart(e){var t;if(6!==e.target.type)return;const i=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return i instanceof z.HS&&(null==i?void 0:i.attachedData)instanceof mp?i.attachedData:void 0}_invokeCommand(e,t){var i;return up(this,void 0,void 0,(function*(){try{yield this._commandService.executeCommand(e.id,...null!==(i=e.arguments)&&void 0!==i?i:[])}catch(e){this._notificationService.notify({severity:Me.zb.Error,source:t.provider.displayName,message:e})}}))}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const o=e.getDecorationRange(i);if(o){const e=new op(o,n.item.anchor.direction),i=n.item.with({anchor:e});t.set(n.item,i)}}return Array.from(t.values())}_getHintsRanges(){const e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),i=[];for(const n of t.sort(B.e.compareRangesUsingStarts)){const t=e.validateRange(new B.e(n.startLineNumber-30,n.startColumn,n.endLineNumber+30,n.endColumn));0!==i.length&&B.e.areIntersectingOrTouching(i[i.length-1],t)?i[i.length-1]=B.e.plusRange(i[i.length-1],t):i.push(t)}return i}_updateHintsDecorators(t,i){var n,o;const s=[],r=(e,t,i,n,o)=>{const r={content:i,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:n,attachedData:o};s.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:"InlayHint",showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},a=(e,t)=>{const i=this._ruleFactory.createClassNameRef({width:(l/3|0)+"px",display:"inline-block"});r(e,i," ",t?H.RM.Right:H.RM.None)},{fontSize:l,fontFamily:d,padding:c,isUniform:h}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,d);for(const t of i){t.hint.paddingLeft&&a(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let e=0;ee._MAX_DECORATORS)break}const g=[];for(const e of t)for(const{id:t}of null!==(o=this._editor.getDecorationsInRange(e))&&void 0!==o?o:[]){const e=this._decorationsMetadata.get(t);e&&(g.push(t),e.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const p=li.Z.capture(this._editor);this._editor.changeDecorations((e=>{const t=e.deltaDecorations(g,s.map((e=>e.decoration)));for(let e=0;ei)&&(o=i);const s=e.fontFamily||n;return{fontSize:o,fontFamily:s,padding:t,isUniform:!t&&s===n&&o===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};function vp(e){return e.replace(/[ \t]/g," ")}_p.ID="editor.contrib.InlayHints",_p._MAX_DECORATORS=1500,_p=cp([hp(1,xe.p),hp(2,Mi.A),hp(3,pp),hp(4,De.H),hp(5,Me.lT),hp(6,_t.TG)],_p),De.P.registerCommand("_executeInlayHintProvider",((e,...t)=>up(void 0,void 0,void 0,(function*(){const[i,n]=t;(0,wt.p_)(ke.o.isUri(i)),(0,wt.p_)(B.e.isIRange(n));const{inlayHintsProvider:o}=e.get(xe.p),s=yield e.get(pn.S).createModelReference(i);try{const e=yield rp.create(o,s.object.textEditorModel,[B.e.lift(n)],Le.T.None),t=e.items.map((e=>e.hint));return setTimeout((()=>e.dispose()),0),t}finally{s.dispose()}}))));var Cp=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},bp=function(e,t){return function(i,n){t(i,n,e)}},wp=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())}))},Sp=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)}))}}};class Lp extends vo{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let yp=class extends ks{constructor(e,t,i,n,o,s){super(e,t,i,n,s),this._resolverService=o,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!_p.get(this._editor))return null;if(6!==e.target.type)return null;const i=null===(t=e.target.detail.injectedText)||void 0===t?void 0:t.options;return i instanceof z.HS&&i.attachedData instanceof mp?new Lp(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof Lp?new O.Aq((t=>wp(this,void 0,void 0,(function*(){var n,o,r,a;const{part:l}=e;if(yield l.item.resolve(i),i.isCancellationRequested)return;let d,c;if("string"==typeof l.item.hint.tooltip?d=(new s.W5).appendText(l.item.hint.tooltip):l.item.hint.tooltip&&(d=l.item.hint.tooltip),d&&t.emitOne(new ys(this,e.range,[d],!1,0)),(0,Se.Of)(l.item.hint.textEdits)&&t.emitOne(new ys(this,e.range,[(new s.W5).appendText((0,y.NC)("hint.dbl","Double-click to insert"))],!1,10001)),"string"==typeof l.part.tooltip?c=(new s.W5).appendText(l.part.tooltip):l.part.tooltip&&(c=l.part.tooltip),c&&t.emitOne(new ys(this,e.range,[c],!1,1)),l.part.location||l.part.command){let i;const n="altKey"===this._editor.getOption(75)?oe.dz?(0,y.NC)("links.navigate.kb.meta.mac","cmd + click"):(0,y.NC)("links.navigate.kb.meta","ctrl + click"):oe.dz?(0,y.NC)("links.navigate.kb.alt.mac","option + click"):(0,y.NC)("links.navigate.kb.alt","alt + click");l.part.location&&l.part.command?i=(new s.W5).appendText((0,y.NC)("hint.defAndCommand","Go to Definition ({0}), right click for more",n)):l.part.location?i=(new s.W5).appendText((0,y.NC)("hint.def","Go to Definition ({0})",n)):l.part.command&&(i=new s.W5(`[${(0,y.NC)("hint.cmd","Execute Command")}](${h=l.part.command,ke.o.from({scheme:ea.lg.command,path:h.id,query:h.arguments&&encodeURIComponent(JSON.stringify(h.arguments))}).toString()} "${l.part.command.title}") (${n})`,{isTrusted:!0})),i&&t.emitOne(new ys(this,e.range,[i],!1,1e4))}var h;const u=yield this._resolveInlayHintLabelPartHover(l,i);try{for(var g,p=!0,m=Sp(u);!(n=(g=yield m.next()).done);){a=g.value,p=!1;try{const e=a;t.emitOne(e)}finally{p=!0}}}catch(e){o={error:e}}finally{try{p||n||!(r=m.return)||(yield r.call(m))}finally{if(o)throw o.error}}})))):O.Aq.EMPTY}_resolveInlayHintLabelPartHover(e,t){return wp(this,void 0,void 0,(function*(){if(!e.part.location)return O.Aq.EMPTY;const{uri:i,range:n}=e.part.location,o=yield this._resolverService.createModelReference(i);try{const i=o.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(i)?bs(this._languageFeaturesService.hoverProvider,i,new W.L(n.startLineNumber,n.startColumn),t).filter((e=>!(0,s.CP)(e.hover.contents))).map((t=>new ys(this,e.item.anchor.range,t.hover.contents,!1,2+t.ordinal))):O.Aq.EMPTY}finally{o.dispose()}}))}};yp=Cp([bp(1,hn.O),bp(2,ds.v4),bp(3,ft.Ui),bp(4,pn.S),bp(5,xe.p)],yp),(0,w._K)(_p.ID,_p,1),Co.register(yp);class kp{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const i=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new S.Y(i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn),i.endLineNumber,Math.min(this._originalSelection.positionColumn,i.endColumn)):new S.Y(i.endLineNumber,i.endColumn-this._text.length,i.endLineNumber,i.endColumn)}}var Np=i(16921),xp={};xp.styleTagTransform=v(),xp.setAttributes=p(),xp.insert=u().bind(null,"head"),xp.domAPI=c(),xp.insertStyleElement=f();l()(Np.Z,xp);Np.Z&&Np.Z.locals&&Np.Z.locals;var Ip=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},Tp=function(e,t){return function(i,n){t(i,n,e)}};let Dp=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var n;null===(n=this.currentRequest)||void 0===n||n.cancel();const o=this.editor.getSelection(),s=this.editor.getModel();if(!s||!o)return;let r=o;if(r.startLineNumber!==r.endLineNumber)return;const a=new Te.yy(this.editor,5),l=s.uri;return this.editorWorkerService.canNavigateValueSet(l)?(this.currentRequest=(0,O.PG)((e=>this.editorWorkerService.navigateValueSet(l,r,i))),this.currentRequest.then((i=>{var n;if(!i||!i.range||!i.value)return;if(!a.validate(this.editor))return;const o=B.e.lift(i.range);let s=i.range;const l=i.value.length-(r.endColumn-r.startColumn);s={startLineNumber:s.startLineNumber,startColumn:s.startColumn,endLineNumber:s.endLineNumber,endColumn:s.startColumn+i.value.length},l>1&&(r=new S.Y(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn+l-1));const d=new kp(o,r,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,d),this.editor.pushUndoStop(),this.decorations.set([{range:s,options:e.DECORATION}]),null===(n=this.decorationRemover)||void 0===n||n.cancel(),this.decorationRemover=(0,O.Vs)(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(ye.dL)})).catch(ye.dL)):Promise.resolve(void 0)}};Dp.ID="editor.contrib.inPlaceReplaceController",Dp.DECORATION=z.qx.register({description:"in-place-replace",className:"valueSetReplacement"}),Dp=Ip([Tp(1,pc.p)],Dp);class Mp extends w.R6{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y.NC("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3154,weight:100}})}run(e,t){const i=Dp.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class Rp extends w.R6{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y.NC("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3156,weight:100}})}run(e,t){const i=Dp.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}(0,w._K)(Dp.ID,Dp,4),(0,w.Qr)(Mp),(0,w.Qr)(Rp);var Pp=i(28108);class Ep extends w.R6{constructor(){super({id:"expandLineSelection",label:y.NC("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:L.u.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const n=t._getViewModel();n.model.pushStackElement(),n.setCursorStates(i.source,3,Pp.P.expandLineSelection(n,n.getCursorStates())),n.revealPrimaryCursor(i.source,!0)}}(0,w.Qr)(Ep);class Op{constructor(e,t){this._selection=e,this._cursors=t,this._selectionId=null}getEditOperations(e,t){const i=function(e,t){t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber));for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);const i=[];let n=0,o=0;const s=t.length;for(let r=1,a=e.getLineCount();r<=a;r++){const a=e.getLineContent(r),l=a.length+1;let d=0;if(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},Hp=function(e,t){return function(i,n){t(i,n,e)}};let zp=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i)return void(this._selectionId=t.trackSelection(this._selection));if(!this._isMovingDown&&1===this._selection.startLineNumber)return void(this._selectionId=t.trackSelection(this._selection));this._moveEndPositionDown=!1;let n=this._selection;n.startLineNumbere.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:null};if(n.startLineNumber===n.endLineNumber&&1===e.getLineMaxColumn(n.startLineNumber)){const i=n.startLineNumber,o=this._isMovingDown?i+1:i-1;1===e.getLineMaxColumn(o)?t.addEditOperation(new B.e(1,1,1,1),null):(t.addEditOperation(new B.e(i,1,i,1),e.getLineContent(o)),t.addEditOperation(new B.e(o,1,o,e.getLineMaxColumn(o)),null)),n=new S.Y(o,1,o,1)}else{let i,s;if(this._isMovingDown){i=n.endLineNumber+1,s=e.getLineContent(i),t.addEditOperation(new B.e(i-1,e.getLineMaxColumn(i-1),i,e.getLineMaxColumn(i)),null);let d=s;if(this.shouldAutoIndent(e,n)){const c=this.matchEnterRule(e,a,o,i,n.startLineNumber-1);if(null!==c){const t=Fg(c+Ag(we.V8(e.getLineContent(i)),o),o,r);d=t+this.trimLeft(s)}else{l.getLineContent=t=>t===n.startLineNumber?e.getLineContent(i):e.getLineContent(t);const t=(0,Wg.n8)(this._autoIndent,l,e.getLanguageIdAtPosition(i,1),n.startLineNumber,a,this._languageConfigurationService);if(null!==t){const n=we.V8(e.getLineContent(i)),a=Ag(t,o);if(a!==Ag(n,o)){const e=Fg(a,o,r);d=e+this.trimLeft(s)}}}t.addEditOperation(new B.e(n.startLineNumber,1,n.startLineNumber,1),d+"\n");const h=this.matchEnterRuleMovingDown(e,a,o,n.startLineNumber,i,d);if(null!==h)0!==h&&this.getIndentEditsOfMovingBlock(e,t,n,o,r,h);else{l.getLineContent=t=>t===n.startLineNumber?d:t>=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t);const s=(0,Wg.n8)(this._autoIndent,l,e.getLanguageIdAtPosition(i,1),n.startLineNumber+1,a,this._languageConfigurationService);if(null!==s){const i=we.V8(e.getLineContent(n.startLineNumber)),a=Ag(s,o),l=Ag(i,o);if(a!==l){const i=a-l;this.getIndentEditsOfMovingBlock(e,t,n,o,r,i)}}}}else t.addEditOperation(new B.e(n.startLineNumber,1,n.startLineNumber,1),d+"\n")}else if(i=n.startLineNumber-1,s=e.getLineContent(i),t.addEditOperation(new B.e(i,1,i+1,1),null),t.addEditOperation(new B.e(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+s),this.shouldAutoIndent(e,n)){l.getLineContent=t=>t===i?e.getLineContent(n.startLineNumber):e.getLineContent(t);const s=this.matchEnterRule(e,a,o,n.startLineNumber,n.startLineNumber-2);if(null!==s)0!==s&&this.getIndentEditsOfMovingBlock(e,t,n,o,r,s);else{const s=(0,Wg.n8)(this._autoIndent,l,e.getLanguageIdAtPosition(n.startLineNumber,1),i,a,this._languageConfigurationService);if(null!==s){const i=we.V8(e.getLineContent(n.startLineNumber)),a=Ag(s,o),l=Ag(i,o);if(a!==l){const i=a-l;this.getIndentEditsOfMovingBlock(e,t,n,o,r,i)}}}}}this._selectionId=t.trackSelection(n)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Og.U.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Og.U.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,o){if(o){let s=o.indentation;o.indentAction===Vp.wU.None||o.indentAction===Vp.wU.Indent?s=o.indentation+o.appendText:o.indentAction===Vp.wU.IndentOutdent?s=o.indentation:o.indentAction===Vp.wU.Outdent&&(s=t.unshiftIndent(o.indentation)+o.appendText);const r=e.getLineContent(n);if(this.trimLeft(r).indexOf(this.trimLeft(s))>=0){const o=we.V8(e.getLineContent(n));let r=we.V8(s);const a=(0,Wg.tI)(e,n,this._languageConfigurationService);null!==a&&2&a&&(r=t.unshiftIndent(r));return Ag(r,i)-Ag(o,i)}}return null}matchEnterRuleMovingDown(e,t,i,n,o,s){if(we.ow(s)>=0){const s=e.getLineMaxColumn(o),r=(0,Wp.A)(this._autoIndent,e,new B.e(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}{let o=n-1;for(;o>=1;){const t=e.getLineContent(o);if(we.ow(t)>=0)break;o--}if(o<1||n>e.getLineCount())return null;const s=e.getLineMaxColumn(o),r=(0,Wp.A)(this._autoIndent,e,new B.e(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,r)}}matchEnterRule(e,t,i,n,o,s){let r=o;for(;r>=1;){let t;t=r===o&&void 0!==s?s:e.getLineContent(r);if(we.ow(t)>=0)break;r--}if(r<1||n>e.getLineCount())return null;const a=e.getLineMaxColumn(r),l=(0,Wp.A)(this._autoIndent,e,new B.e(r,a,r,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,l)}trimLeft(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1);return i===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport}getIndentEditsOfMovingBlock(e,t,i,n,o,s){for(let r=i.startLineNumber;r<=i.endLineNumber;r++){const a=e.getLineContent(r),l=we.V8(a),d=Fg(Ag(l,n)+s,n,o);d!==l&&(t.addEditOperation(new B.e(r,1,r,l.length+1),d),r===i.endLineNumber&&i.endColumn<=l.length+1&&""===d&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=o)return null;const s=[];for(let t=n;t<=o;t++)s.push(e.getLineContent(t));let r=s.slice(0);return r.sort(Up.getCollator().compare),!0===i&&(r=r.reverse()),{startLineNumber:n,endLineNumber:o,before:s,after:r}}Up._COLLATOR=null;class qp extends w.R6{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map(((e,t)=>({selection:e,index:t,ignore:!1})));i.sort(((e,t)=>B.e.compareRangesUsingStarts(e.selection,t.selection)));let n=i[0];for(let e=1;enew W.L(e.positionLineNumber,e.positionColumn))));const o=t.getSelection();if(null===o)return;const s=new Op(o,n);t.pushUndoStop(),t.executeCommands(this.id,[s]),t.pushUndoStop()}}Qp.ID="editor.action.trimTrailingWhitespace";class Yp extends w.R6{constructor(){super({id:"editor.action.deleteLines",label:y.NC("lines.delete","Delete Line"),alias:"Delete Line",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;let o=0;const s=[],r=[];for(let e=0,t=i.length;e1&&(a-=1,d=n.getLineMaxColumn(a)),s.push(ca.h.replace(new S.Y(a,d,l,c),"")),r.push(new S.Y(a-o,t.positionColumn,a-o,t.positionColumn)),o+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,s,r),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map((e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber));const i=[];let n=t[0];for(let e=1;e=t[e].startLineNumber?n.endLineNumber=t[e].endLineNumber:(i.push(n),n=t[e]);return i.push(n),i}}class Jp extends w.R6{constructor(){super({id:"editor.action.indentLines",label:y.NC("lines.indent","Indent Line"),alias:"Indent Line",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2137,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Ap.u6.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class Xp extends w.R6{constructor(){super({id:"editor.action.outdentLines",label:y.NC("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2135,weight:100}})}run(e,t){n.wk.Outdent.runEditorCommand(e,t,null)}}class em extends w.R6{constructor(){super({id:"editor.action.insertLineBefore",label:y.NC("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Ap.u6.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class tm extends w.R6{constructor(){super({id:"editor.action.insertLineAfter",label:y.NC("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,Ap.u6.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class im extends w.R6{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),o=[];for(let e=0,t=n.length-1;eca.h.replace(e,"")));t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}class nm extends w.R6{constructor(){super({id:"editor.action.joinLines",label:y.NC("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(null===i)return;let n=t.getSelection();if(null===n)return;i.sort(B.e.compareRangesUsingStarts);const o=[],s=i.reduce(((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(o.push(e),t):new S.Y(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new S.Y(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)));o.push(s);const r=t.getModel();if(null===r)return;const a=[],l=[];let d=n,c=0;for(let e=0,t=o.length;e=1){let e=!0;""===m&&(e=!1),!e||" "!==m.charAt(m.length-1)&&"\t"!==m.charAt(m.length-1)||(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g," "));const n=t.substr(i-1);m+=(e?" ":"")+n,g=e?n.length+1:n.length}else g=0}const f=new B.e(i,s,h,u);if(!f.isEmpty()){let e;t.isEmpty()?(a.push(ca.h.replace(f,m)),e=new S.Y(f.startLineNumber-c,m.length-g+1,i-c,m.length-g+1)):t.startLineNumber===t.endLineNumber?(a.push(ca.h.replace(f,m)),e=new S.Y(t.startLineNumber-c,t.startColumn,t.endLineNumber-c,t.endColumn)):(a.push(ca.h.replace(f,m)),e=new S.Y(t.startLineNumber-c,t.startColumn,t.startLineNumber-c,m.length-p)),null!==B.e.intersectRanges(f,n)?d=e:l.push(e)}c+=f.endLineNumber-f.startLineNumber}l.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}class om extends w.R6{constructor(){super({id:"editor.action.transpose",label:y.NC("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:L.u.writable})}run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const o=[];for(let e=0,t=i.length;e=r){if(s.lineNumber===n.getLineCount())continue;const e=new B.e(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t=n.getValueInRange(e).split("").reverse().join("");o.push(new ee.T4(new S.Y(s.lineNumber,Math.max(1,s.column-1),s.lineNumber+1,1),t))}else{const e=new B.e(s.lineNumber,Math.max(1,s.column-1),s.lineNumber,s.column+1),t=n.getValueInRange(e).split("").reverse().join("");o.push(new ee.hP(e,t,new S.Y(s.lineNumber,s.column+1,s.lineNumber,s.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class sm extends w.R6{run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const o=t.getOption(125),s=[];for(const e of i)if(e.isEmpty()){const i=e.getStartPosition(),r=t.getConfiguredWordAtPosition(i);if(!r)continue;const a=new B.e(i.lineNumber,r.startColumn,i.lineNumber,r.endColumn),l=n.getValueInRange(a);s.push(ca.h.replace(a,this._modifyText(l,o)))}else{const t=n.getValueInRange(e);s.push(ca.h.replace(e,this._modifyText(t,o)))}t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop()}}class rm{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return null!==this.get()}}class am extends sm{constructor(){super({id:"editor.action.transformToTitlecase",label:y.NC("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:L.u.writable})}_modifyText(e,t){const i=am.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,(e=>e.toLocaleUpperCase())):e}}am.titleBoundary=new rm("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class lm extends sm{constructor(){super({id:"editor.action.transformToSnakecase",label:y.NC("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:L.u.writable})}_modifyText(e,t){const i=lm.caseBoundary.get(),n=lm.singleLetters.get();return i&&n?e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase():e}}lm.caseBoundary=new rm("(\\p{Ll})(\\p{Lu})","gmu"),lm.singleLetters=new rm("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class dm extends sm{constructor(){super({id:"editor.action.transformToCamelcase",label:y.NC("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:L.u.writable})}_modifyText(e,t){const i=dm.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map((e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1))).join("")}}dm.wordBoundary=new rm("[_\\s-]","gm");class cm extends sm{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((e=>e.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:y.NC("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:L.u.writable})}_modifyText(e,t){const i=cm.caseBoundary.get(),n=cm.singleLetters.get(),o=cm.underscoreBoundary.get();return i&&n&&o?e.replace(o,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase():e}}cm.caseBoundary=new rm("(\\p{Ll})(\\p{Lu})","gmu"),cm.singleLetters=new rm("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),cm.underscoreBoundary=new rm("(\\S)(_)(\\S)","gm"),(0,w.Qr)(class extends qp{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y.NC("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"2_line",title:y.NC({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}),(0,w.Qr)(class extends qp{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y.NC("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"2_line",title:y.NC({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}),(0,w.Qr)(Kp),(0,w.Qr)(class extends Gp{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y.NC("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"2_line",title:y.NC({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}),(0,w.Qr)(class extends Gp{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y.NC("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:L.u.writable,kbOpts:{kbExpr:L.u.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"2_line",title:y.NC({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}),(0,w.Qr)(class extends $p{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y.NC("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:L.u.writable})}}),(0,w.Qr)(class extends $p{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y.NC("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:L.u.writable})}}),(0,w.Qr)(Zp),(0,w.Qr)(Qp),(0,w.Qr)(Yp),(0,w.Qr)(Jp),(0,w.Qr)(Xp),(0,w.Qr)(em),(0,w.Qr)(tm),(0,w.Qr)(class extends im{constructor(){super({id:"deleteAllLeft",label:y.NC("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let o=0;return t.forEach((t=>{let s;if(1===t.endColumn&&o>0){const e=t.startLineNumber-o;s=new S.Y(e,t.startColumn,e,t.startColumn)}else s=new S.Y(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?i=s:n.push(s)})),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(null===t)return[];let i=t;const n=e.getModel();return null===n?[]:(i.sort(B.e.compareRangesUsingStarts),i=i.map((e=>{if(e.isEmpty()){if(1===e.startColumn){const t=Math.max(1,e.startLineNumber-1),i=1===e.startLineNumber?1:n.getLineContent(t).length+1;return new B.e(t,i,e.startLineNumber,1)}return new B.e(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new B.e(e.startLineNumber,1,e.endLineNumber,e.endColumn)})),i)}}),(0,w.Qr)(class extends im{constructor(){super({id:"deleteAllRight",label:y.NC("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let o=0,s=t.length,r=0;o{if(e.isEmpty()){const i=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===i?new B.e(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new B.e(e.startLineNumber,e.startColumn,e.startLineNumber,i)}return e}));return n.sort(B.e.compareRangesUsingStarts),n}}),(0,w.Qr)(nm),(0,w.Qr)(om),(0,w.Qr)(class extends sm{constructor(){super({id:"editor.action.transformToUppercase",label:y.NC("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:L.u.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}),(0,w.Qr)(class extends sm{constructor(){super({id:"editor.action.transformToLowercase",label:y.NC("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:L.u.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}),lm.caseBoundary.isSupported()&&lm.singleLetters.isSupported()&&(0,w.Qr)(lm),dm.wordBoundary.isSupported()&&(0,w.Qr)(dm),am.titleBoundary.isSupported()&&(0,w.Qr)(am),cm.isSupported()&&(0,w.Qr)(cm);var hm=i(55040),um={};um.styleTagTransform=v(),um.setAttributes=p(),um.insert=u().bind(null,"head"),um.domAPI=c(),um.insertStyleElement=f();l()(hm.Z,um);hm.Z&&hm.Z.locals&&hm.Z.locals;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},pm=function(e,t){return function(i,n){t(i,n,e)}},mm=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 fm=new k.uy("LinkedEditingInputVisible",!1);let _m=class e extends A.JT{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new A.SL),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=fm.bindTo(t),this._debounceInformation=o.for(this._providers,"Linked Editing",{min:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new A.SL),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((e=>{(e.hasChanged(67)||e.hasChanged(88))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=null!==t&&(this._editor.getOption(67)||this._editor.getOption(88))&&this._providers.has(t);if(i===this._enabled&&!e)return;if(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||null===t)return;this._localToDispose.add(Ct.ju.runAndSubscribe(t.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()})));const n=new O.vp(this._debounceInformation.get(t)),o=()=>{var e;this._rangeUpdateTriggerPromise=n.trigger((()=>this.updateRanges()),null!==(e=this._debounceDuration)&&void 0!==e?e:this._debounceInformation.get(t))},s=new O.vp(0),r=e=>{this._rangeSyncTriggerPromise=s.trigger((()=>this._syncRanges(e)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{o()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&e.changes.every((e=>t.intersectRanges(e.range))))return void r(this._syncRangesToken)}o()}))),this._localToDispose.add({dispose:()=>{n.dispose(),s.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||0===this._currentDecorations.length)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const e=n.match(this._currentWordPattern);if((e?e[0].length:0)!==n.length)return this.clearRanges()}const o=[];for(let e=1,i=this._currentDecorations.length;e1)return void this.clearRanges();const n=this._editor.getModel(),o=n.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===o){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const e=this._currentDecorations.getRange(0);if(e&&e.containsPosition(i))return}}this._currentRequestPosition=i,this._currentRequestModelVersion=o;const s=(0,O.PG)((t=>mm(this,void 0,void 0,(function*(){try{const r=new Fi.G(!1),a=yield bm(this._providers,n,i,t);if(this._debounceInformation.update(n,r.elapsed()),s!==this._currentRequest)return;if(this._currentRequest=null,o!==n.getVersionId())return;let l=[];(null==a?void 0:a.ranges)&&(l=a.ranges),this._currentWordPattern=(null==a?void 0:a.wordPattern)||this._languageWordPattern;let d=!1;for(let e=0,t=l.length;e({range:t,options:e.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(c),this._syncRangesToken++}catch(e){(0,ye.n2)(e)||(0,ye.dL)(e),this._currentRequest!==s&&this._currentRequest||this.clearRanges()}}))));return this._currentRequest=s,s}))}};_m.ID="editor.contrib.linkedEditing",_m.DECORATION=z.qx.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),_m=gm([pm(1,k.i6),pm(2,xe.p),pm(3,da.c_),pm(4,Mi.A)],_m);class vm extends w.R6{constructor(){super({id:"editor.action.linkedEditing",label:y.NC("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:k.Ao.and(L.u.writable,L.u.hasRenameProvider),kbOpts:{kbExpr:L.u.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(re.$),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return ke.o.isUri(n)&&W.L.isIPosition(o)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),ye.dL):super.runCommand(e,t)}run(e,t){const i=_m.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const Cm=w._l.bindToContribution(_m.get);function bm(e,t,i,n){const o=e.ordered(t);return(0,O.Ps)(o.map((e=>()=>mm(this,void 0,void 0,(function*(){try{return yield e.provideLinkedEditingRanges(t,i,n)}catch(e){return void(0,ye.Cp)(e)}})))),(e=>!!e&&Se.Of(null==e?void 0:e.ranges)))}(0,w.fK)(new Cm({id:"cancelLinkedEditingInput",precondition:fm,handler:e=>e.clearRanges(),kbOpts:{kbExpr:L.u.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));(0,j.P6G)("editor.linkedEditingBackground",{dark:Ai.Il.fromHex("#f00").transparent(.3),light:Ai.Il.fromHex("#f00").transparent(.3),hcDark:Ai.Il.fromHex("#f00").transparent(.3),hcLight:Ai.Il.white},y.NC("editorLinkedEditingBackground","Background color when the editor auto renames on type."));(0,w.sb)("_executeLinkedEditingProvider",((e,t,i)=>{const{linkedEditingRangeProvider:n}=e.get(xe.p);return bm(n,t,i,Le.T.None)})),(0,w._K)(_m.ID,_m,1),(0,w.Qr)(vm);var wm=i(28477),Sm={};Sm.styleTagTransform=v(),Sm.setAttributes=p(),Sm.insert=u().bind(null,"head"),Sm.domAPI=c(),Sm.insertStyleElement=f();l()(wm.Z,Sm);wm.Z&&wm.Z.locals&&wm.Z.locals;var Lm=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 ym{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(e){return Lm(this,void 0,void 0,(function*(){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,e)).then((t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}))}}class km{constructor(e){this._disposables=new A.SL;let t=[];for(const[i,n]of e){const e=i.links.map((e=>new ym(e,n)));t=km._union(t,e),(0,A.Wf)(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,o,s,r;for(n=0,s=0,o=e.length,r=t.length;nPromise.resolve(e.provideLinks(t,i)).then((t=>{t&&(n[o]=[t,e])}),ye.Cp)));return Promise.all(o).then((()=>{const e=new km((0,Se.kX)(n));return i.isCancellationRequested?(e.dispose(),new km([])):e}))}De.P.registerCommand("_executeLinkProvider",((e,...t)=>Lm(void 0,void 0,void 0,(function*(){let[i,n]=t;(0,wt.p_)(i instanceof ke.o),"number"!=typeof n&&(n=0);const{linkProvider:o}=e.get(xe.p),s=e.get(Ie.q).getModel(i);if(!s)return[];const r=yield Nm(o,s,Le.T.None);if(!r)return[];for(let e=0;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},Im=function(e,t){return function(i,n){t(i,n,e)}},Tm=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 Dm=class e extends A.JT{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=o.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new O.pY((()=>this.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const s=this._register(new bn(e));this._register(s.onMouseMoveOrRelevantKeyDown((([e,t])=>{this._onEditorMouseMove(e,t)}))),this._register(s.onExecute((e=>{this.onEditorMouseUp(e)}))),this._register(s.onCancel((e=>{this.cleanUpActiveLinkDecoration()}))),this._register(e.onDidChangeConfiguration((e=>{e.hasChanged(68)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(e.onDidChangeModelContent((e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(e.onDidChangeModel((e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(e.onDidChangeModelLanguage((e=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((e=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}computeLinksNow(){return Tm(this,void 0,void 0,(function*(){if(!this.editor.hasModel()||!this.editor.getOption(68))return;const e=this.editor.getModel();if(this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,O.PG)((t=>Nm(this.providers,e,t)));try{const t=new Fi.G(!1);if(this.activeLinksList=yield this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){(0,ye.dL)(e)}finally{this.computePromise=null}}}))}updateDecorations(e){const t="altKey"===this.editor.getOption(75),i=[],n=Object.keys(this.currentOccurrences);for(const e of n){const t=this.currentOccurrences[e];i.push(t.decorationId)}const o=[];if(e)for(const i of e)o.push(Rm.decoration(i,t));this.editor.changeDecorations((t=>{const n=t.deltaDecorations(i,o);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,i=n.length;t{t.activate(e,i),this.activeLinkDecorationId=t.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e="altKey"===this.editor.getOption(75);if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((i=>{t.deactivate(i,e)})),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(Le.T.None).then((e=>{if("string"==typeof e&&this.editor.hasModel()){const t=this.editor.getModel().uri;if(t.scheme===ea.lg.file&&e.startsWith(`${ea.lg.file}:`)){const i=ke.o.parse(e);if(i.scheme===ea.lg.file){const n=Vt.z_(i);let o=null;n.startsWith("/./")?o=`.${n.substr(1)}`:n.startsWith("//./")&&(o=`.${n.substr(2)}`),o&&(e=Vt.Vo(t,o))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(e=>{const t=e instanceof Error?e.message:e;"invalid"===t?this.notificationService.warn(y.NC("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):"missing"===t?this.notificationService.warn(y.NC("missing.url","Failed to open this link because its target is missing.")):(0,ye.dL)(e)}))}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const e of t){const t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return Boolean(6===e.target.type&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&(null===(e=this.activeLinksList)||void 0===e||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};Dm.ID="editor.linkDetector",Dm=xm([Im(1,ds.v4),Im(2,Me.lT),Im(3,xe.p),Im(4,Mi.A)],Dm);const Mm={general:z.qx.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:z.qx.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Rm{static decoration(e,t){return{range:e.range,options:Rm._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n=Object.assign({},i?Mm.active:Mm.general);return n.hoverMessage=function(e,t){const i=e.url&&/^command:/i.test(e.url.toString()),n=e.tooltip?e.tooltip:i?y.NC("links.navigate.executeCmd","Execute command"):y.NC("links.navigate.follow","Follow link"),o=t?oe.dz?y.NC("links.navigate.kb.meta.mac","cmd + click"):y.NC("links.navigate.kb.meta","ctrl + click"):oe.dz?y.NC("links.navigate.kb.alt.mac","option + click"):y.NC("links.navigate.kb.alt","alt + click");if(e.url){let t="";if(/^command:/i.test(e.url.toString())){const i=e.url.toString().match(/^command:([^?#]+)/);if(i){const e=i[1];t=y.NC("tooltip.explanation","Execute command {0}",e)}}return new s.W5("",!0).appendLink(e.url.toString(!0).replace(/ /g,"%20"),n,t).appendMarkdown(` (${o})`)}return(new s.W5).appendText(`${n} (${o})`)}(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Rm._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Rm._getOptions(this.link,t,!1))}}class Pm extends w.R6{constructor(){super({id:"editor.action.openLink",label:y.NC("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Dm.get(t);if(!i)return;if(!t.hasModel())return;const n=t.getSelections();for(const e of n){const t=i.getLinkOccurrence(e.getEndPosition());t&&i.openLinkOccurrence(t,!1)}}}(0,w._K)(Dm.ID,Dm,1),(0,w.Qr)(Pm);class Em extends A.JT{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown((e=>{const t=this._editor.getOption(112);t>=0&&6===e.target.type&&e.target.position.column>=t&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}Em.ID="editor.contrib.longLinesHelper",(0,w._K)(Em.ID,Em,2);var Om=i(19620),Am={};Am.styleTagTransform=v(),Am.setAttributes=p(),Am.insert=u().bind(null,"head"),Am.domAPI=c(),Am.insertStyleElement=f();l()(Om.Z,Am);Om.Z&&Om.Z.locals&&Om.Z.locals;const Fm=(0,j.P6G)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},y.NC("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);(0,j.P6G)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},y.NC("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),(0,j.P6G)("editor.wordHighlightTextBackground",{light:Fm,dark:Fm,hcDark:Fm,hcLight:Fm},y.NC("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const Vm=(0,j.P6G)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:j.xL1,hcLight:j.xL1},y.NC("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));(0,j.P6G)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:j.xL1,hcLight:j.xL1},y.NC("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),(0,j.P6G)("editor.wordHighlightTextBorder",{light:Vm,dark:Vm,hcDark:Vm,hcLight:Vm},y.NC("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const Wm=(0,j.P6G)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},y.NC("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Bm=(0,j.P6G)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},y.NC("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Hm=(0,j.P6G)("editorOverviewRuler.wordHighlightTextForeground",{dark:j.SPM,light:j.SPM,hcDark:j.SPM,hcLight:j.SPM},y.NC("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),zm=z.qx.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,q.EN)(Bm),position:H.sh.Center},minimap:{color:(0,q.EN)(j.IYc),position:H.F5.Inline}}),Um=z.qx.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:(0,q.EN)(Hm),position:H.sh.Center},minimap:{color:(0,q.EN)(j.IYc),position:H.F5.Inline}}),jm=z.qx.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,q.EN)(j.SPM),position:H.sh.Center},minimap:{color:(0,q.EN)(j.IYc),position:H.F5.Inline}}),qm=z.qx.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),Km=z.qx.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,q.EN)(Wm),position:H.sh.Center},minimap:{color:(0,q.EN)(j.IYc),position:H.F5.Inline}});function Gm(e){return e?qm:jm}(0,q.Ic)(((e,t)=>{const i=e.getColor(j.Rzx);i&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${i.transparent(.5)}; }`)}));var $m=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},Zm=function(e,t){return function(i,n){t(i,n,e)}};function Qm(e,t){const i=t.filter((t=>!e.find((e=>e.equals(t)))));if(i.length>=1){const e=i.map((e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`)).join(", "),t=1===i.length?y.NC("cursorAdded","Cursor added: {0}",e):y.NC("cursorsAdded","Cursors added: {0}",e);(0,o.i7)(t)}}class Ym extends w.R6{constructor(){super({id:"editor.action.insertCursorAbove",label:y.NC("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"3_multi",title:y.NC({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&!1===i.logicalLine&&(n=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,Pp.P.addCursorUp(o,s,n)),o.revealTopMostCursor(i.source),Qm(s,o.getCursorStates())}}class Jm extends w.R6{constructor(){super({id:"editor.action.insertCursorBelow",label:y.NC("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"3_multi",title:y.NC({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&!1===i.logicalLine&&(n=!1);const o=t._getViewModel();if(o.cursorConfig.readOnly)return;o.model.pushStackElement();const s=o.getCursorStates();o.setCursorStates(i.source,3,Pp.P.addCursorDown(o,s,n)),o.revealBottomMostCursor(i.source),Qm(s,o.getCursorStates())}}class Xm extends w.R6{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:y.NC("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:L.u.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:U.eH.MenubarSelectionMenu,group:"3_multi",title:y.NC({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n1&&i.push(new S.Y(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),o=t._getViewModel(),s=o.getCursorStates(),r=[];n.forEach((e=>this.getCursorsForSelection(e,i,r))),r.length>0&&t.setSelections(r),Qm(s,o.getCursorStates())}}class ef extends w.R6{constructor(){super({id:"editor.action.addCursorsToBottom",label:y.NC("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),o=[];for(let e=i[0].startLineNumber;e<=n;e++)o.push(new S.Y(e,i[0].startColumn,e,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();o.length>0&&t.setSelections(o),Qm(r,s.getCursorStates())}}class tf extends w.R6{constructor(){super({id:"editor.action.addCursorsToTop",label:y.NC("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let e=i[0].startLineNumber;e>=1;e--)n.push(new S.Y(e,i[0].startColumn,e,i[0].endColumn));const o=t._getViewModel(),s=o.getCursorStates();n.length>0&&t.setSelections(n),Qm(s,o.getCursorStates())}}class nf{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class of{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new of(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n,o,s=!1;const r=e.getSelections();1===r.length&&r[0].isEmpty()?(s=!0,n=!0,o=!0):(n=i.wholeWord,o=i.matchCase);const a=e.getSelection();let l,d=null;if(a.isEmpty()){const t=e.getConfiguredWordAtPosition(a.getStartPosition());if(!t)return null;l=t.word,d=new S.Y(a.startLineNumber,t.startColumn,a.startLineNumber,t.endColumn)}else l=e.getModel().getValueInRange(a).replace(/\r\n/g,"\n");return new of(e,t,s,l,n,o,d)}constructor(e,t,i,n,o,s,r){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=o,this.matchCase=s,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new nf(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new nf(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(125):null,!1);return i?new S.Y(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new nf(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new nf(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(125):null,!1);return i?new S.Y(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(125):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(125):null,!1,1073741824)}}class sf extends A.JT{static get(e){return e.getContribution(sf.ID)}constructor(e){super(),this._sessionDispose=this._register(new A.SL),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=of.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((e=>{(e.matchCase||e.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new S.Y(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const i=e.getState().matchCase;if(!df(this._editor.getModel(),t,i)){const e=this._editor.getModel(),i=[];for(let n=0,o=t.length;n0&&i.isRegex){const e=this._editor.getModel();t=i.searchScope?e.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(125):null,!1,1073741824):e.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(125):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const e=this._editor.getSelection();for(let i=0,n=t.length;inew S.Y(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn))))}}}sf.ID="editor.contrib.multiCursorController";class rf extends w.R6{run(e,t){const i=sf.get(t);if(!i)return;const n=t._getViewModel();if(n){const o=n.getCursorStates(),s=pd.get(t);if(s)this._run(i,s);else{const n=e.get(_t.TG).createInstance(pd,t);this._run(i,n),n.dispose()}Qm(o,n.getCursorStates())}}}class af{constructor(e,t,i,n,o){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,o&&this._model===o._model&&this._searchText===o._searchText&&this._matchCase===o._matchCase&&this._wordSeparators===o._wordSeparators&&this._modelVersionId===o._modelVersionId&&(this._cachedFindMatches=o._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((e=>e.range)),this._cachedFindMatches.sort(B.e.compareRangesUsingStarts)),this._cachedFindMatches}}let lf=class e extends A.JT{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(103),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new O.pY((()=>this._update()),300)),this.state=null,this._register(e.onDidChangeConfiguration((t=>{this._isEnabled=e.getOption(103)}))),this._register(e.onDidChangeCursorSelection((e=>{this._isEnabled&&(e.selection.isEmpty()?3===e.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(e.onDidChangeModel((e=>{this._setState(null)}))),this._register(e.onDidChangeModelContent((e=>{this._isEnabled&&this.updateSoon.schedule()})));const i=pd.get(e);i&&this._register(i.getState().onFindReplaceStateChange((e=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(e._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t)return null;if(!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const o=sf.get(i);if(!o)return null;const s=pd.get(i);if(!s)return null;let r=o.getSession(s);if(!r){const e=i.getSelections();if(e.length>1){const t=s.getState().matchCase;if(!df(i.getModel(),e,t))return null}r=of.create(i,s)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const a=s.getState(),l=a.matchCase;if(a.isRevealed){let e=a.searchString;l||(e=e.toLowerCase());let t=r.searchText;if(l||(t=t.toLowerCase()),e===t&&r.matchCase===a.matchCase&&r.wholeWord===a.wholeWord&&!a.isRegex)return null}return new af(i.getModel(),r.searchText,r.matchCase,r.wholeWord?i.getOption(125):null,e)}_setState(e){if(this.state=e,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(B.e.compareRangesUsingStarts);const o=[];for(let e=0,t=0,s=i.length,r=n.length;e=r)o.push(s),e++;else{const i=B.e.compareRangesUsingStarts(s,n[t]);i<0?(!n[t].isEmpty()&&B.e.areIntersecting(s,n[t])||o.push(s),e++):(i>0||e++,t++)}}const s=this._languageFeaturesService.documentHighlightProvider.has(t)&&this.editor.getOption(78),r=o.map((e=>({range:e,options:Gm(s)})));this._decorations.set(r)}dispose(){this._setState(null),super.dispose()}};function df(e,t,i){const n=cf(e,t[0],!i);for(let o=1,s=t.length;ogf(void 0,void 0,void 0,(function*(){const[i,n,o]=t;(0,wt.p_)(ke.o.isUri(i)),(0,wt.p_)(W.L.isIPosition(n)),(0,wt.p_)("string"==typeof o||!o);const s=e.get(xe.p),r=yield e.get(pn.S).createModelReference(i);try{const e=yield mf(s.signatureHelpProvider,r.object.textEditorModel,W.L.lift(n),{triggerKind:yn.WW.Invoke,isRetrigger:!1,triggerCharacter:o},Le.T.None);if(!e)return;return setTimeout((()=>e.dispose()),0),e.value}finally{r.dispose()}}))));var ff,_f=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.Default={type:0};e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}};e.Active=class{constructor(e){this.hints=e,this.type=1}}}(ff||(ff={}));class vf extends A.JT{constructor(e,t,i=vf.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Ct.Q5),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=ff.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new A.XK),this.triggerChars=new gc.q,this.retriggerChars=new gc.q,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new O.vp(i),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((e=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e)))),this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((e=>this.onDidType(e)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=ff.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((()=>this.doTrigger(n)),t).catch(ye.dL)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e==e-1,n=this.editor.getOption(82).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=0===t,n=this.editor.getOption(82).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new ff.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:e})),this._onChangedHints.fire(this.state.hints))}doTrigger(e){return _f(this,void 0,void 0,(function*(){const t=1===this.state.type||2===this.state.type,i=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const n=this._pendingTriggers.reduce(Cf);this._pendingTriggers=[];const o={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const s=this.editor.getModel(),r=this.editor.getPosition();this.state=new ff.Pending((0,O.PG)((e=>mf(this.providers,s,r,o,e))),i);try{const t=yield this.state.request;return e!==this.triggerId?(null==t||t.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new ff.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(null==t||t.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(t){return e===this.triggerId&&(this.state=ff.Default),(0,ye.dL)(t),!1}}))}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const e of t.signatureHelpTriggerCharacters||[])if(e.length){const t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(const e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:yn.WW.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:yn.WW.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:yn.WW.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(82).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function Cf(e,t){switch(t.triggerKind){case yn.WW.Invoke:return t;case yn.WW.ContentChange:return e;case yn.WW.TriggerCharacter:default:return t}}vf.DEFAULT_DELAY=120;var bf=i(81386),wf={};wf.styleTagTransform=v(),wf.setAttributes=p(),wf.insert=u().bind(null,"head"),wf.domAPI=c(),wf.insertStyleElement=f();l()(bf.Z,wf);bf.Z&&bf.Z.locals&&bf.Z.locals;var Sf=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},Lf=function(e,t){return function(i,n){t(i,n,e)}};const yf=et.$,kf=(0,Os.q5)("parameter-hints-next",st.l.chevronDown,y.NC("parameterHintsNextIcon","Icon for show next parameter hint.")),Nf=(0,Os.q5)("parameter-hints-previous",st.l.chevronUp,y.NC("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let xf=class e extends A.JT{constructor(e,t,i,n,o){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new A.SL),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new gs({editor:e},o,n)),this.keyVisible=pf.Visible.bindTo(i),this.keyMultipleSignatures=pf.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=yf(".editor-widget.parameter-hints-widget"),t=et.R3(e,yf(".phwrapper"));t.tabIndex=-1;const i=et.R3(t,yf(".controls")),n=et.R3(i,yf(".button"+bt.k.asCSSSelector(Nf))),o=et.R3(i,yf(".overloads")),s=et.R3(i,yf(".button"+bt.k.asCSSSelector(kf)));this._register(et.nm(n,"click",(e=>{et.zB.stop(e),this.previous()}))),this._register(et.nm(s,"click",(e=>{et.zB.stop(e),this.next()})));const r=yf(".body"),a=new As.s$(r,{alwaysConsumeMouseWheel:!0});this._register(a),t.appendChild(a.getDomNode());const l=et.R3(r,yf(".signature")),d=et.R3(r,yf(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:l,overloads:o,docs:d,scrollbar:a},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((e=>{this.visible&&this.editor.layoutContentWidget(this)})));const c=()=>{if(!this.domNodes)return;const e=this.editor.getOption(48);this.domNodes.element.style.fontSize=`${e.fontSize}px`,this.domNodes.element.style.lineHeight=""+e.lineHeight/e.fontSize};c(),this._register(Ct.ju.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((e=>e.hasChanged(48))).on(c,null)),this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var e;null===(e=this.domNodes)||void 0===e||e.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(e=this.domNodes)||void 0===e||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const n=e.signatures[e.activeSignature];if(!n)return;const s=et.R3(this.domNodes.signature,yf(".code")),r=this.editor.getOption(48);s.style.fontSize=`${r.fontSize}px`,s.style.fontFamily=r.fontFamily;const a=n.parameters.length>0,l=null!==(t=n.activeParameter)&&void 0!==t?t:e.activeParameter;if(a)this.renderParameters(s,n,l);else{et.R3(s,yf("span")).textContent=n.label}const d=n.parameters[l];if(null==d?void 0:d.documentation){const e=yf("span.documentation");if("string"==typeof d.documentation)e.textContent=d.documentation;else{const t=this.renderMarkdownDocs(d.documentation);e.appendChild(t.element)}et.R3(this.domNodes.docs,yf("p",{},e))}if(void 0===n.documentation);else if("string"==typeof n.documentation)et.R3(this.domNodes.docs,yf("p",{},n.documentation));else{const e=this.renderMarkdownDocs(n.documentation);et.R3(this.domNodes.docs,e.element)}const c=this.hasDocs(n,d);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,d){let e="";const t=n.parameters[l];e=Array.isArray(t.label)?n.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+="string"==typeof t.documentation?`, ${t.documentation}`:`, ${t.documentation.value}`),n.documentation&&(e+="string"==typeof n.documentation?`, ${n.documentation}`:`, ${n.documentation.value}`),this.announcedLabel!==e&&(o.Z9(y.NC("hint","{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var e;null===(e=this.domNodes)||void 0===e||e.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&(0,wt.cW)(t.documentation).length>0)||(!!(t&&"object"==typeof t.documentation&&(0,wt.cW)(t.documentation).value.length>0)||(!!(e.documentation&&"string"==typeof e.documentation&&(0,wt.cW)(e.documentation).length>0)||!!(e.documentation&&"object"==typeof e.documentation&&(0,wt.cW)(e.documentation.value).length>0)))}renderParameters(e,t,i){const[n,o]=this.getParameterLabelOffsets(t,i),s=document.createElement("span");s.textContent=t.label.substring(0,n);const r=document.createElement("span");r.textContent=t.label.substring(n,o),r.className="parameter active";const a=document.createElement("span");a.textContent=t.label.substring(o),et.R3(e,s,r,a)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const t=new RegExp(`(\\W|^)${(0,we.ec)(i.label)}(?=\\W|$)`,"g");t.test(e.label);const n=t.lastIndex-i.label.length;return n>=0?[n,t.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return e.ID}updateMaxHeight(){if(!this.domNodes)return;const e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};xf.ID="editor.widget.parameterHintsWidget",xf=Sf([Lf(2,k.i6),Lf(3,ds.v4),Lf(4,hn.O)],xf),(0,j.P6G)("editorHoverWidget.highlightForeground",{dark:j.Gwp,light:j.Gwp,hcDark:j.Gwp,hcLight:j.Gwp},y.NC("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var If=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},Tf=function(e,t){return function(i,n){t(i,n,e)}};let Df=class e extends A.JT{static get(t){return t.getContribution(e.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new vf(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints((e=>{var t;e?(this.widget.value.show(),this.widget.value.render(e)):null===(t=this.widget.rawValue)||void 0===t||t.hide()}))),this.widget=new Xe.o((()=>this._register(t.createInstance(xf,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var e;null===(e=this.widget.rawValue)||void 0===e||e.previous()}next(){var e;null===(e=this.widget.rawValue)||void 0===e||e.next()}trigger(e){this.model.trigger(e,0)}};Df.ID="editor.controller.parameterHints",Df=If([Tf(1,_t.TG),Tf(2,xe.p)],Df);class Mf extends w.R6{constructor(){super({id:"editor.action.triggerParameterHints",label:y.NC("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:L.u.hasSignatureHelpProvider,kbOpts:{kbExpr:L.u.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Df.get(t);null==i||i.trigger({triggerKind:yn.WW.Invoke})}}(0,w._K)(Df.ID,Df,2),(0,w.Qr)(Mf);const Rf=w._l.bindToContribution(Df.get);(0,w.fK)(new Rf({id:"closeParameterHints",precondition:pf.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:L.u.focus,primary:9,secondary:[1033]}})),(0,w.fK)(new Rf({id:"showPrevParameterHint",precondition:k.Ao.and(pf.Visible,pf.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:L.u.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,w.fK)(new Rf({id:"showNextParameterHint",precondition:k.Ao.and(pf.Visible,pf.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:L.u.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var Pf=i(71765),Ef=i(88342),Of={};Of.styleTagTransform=v(),Of.setAttributes=p(),Of.insert=u().bind(null,"head"),Of.domAPI=c(),Of.insertStyleElement=f();l()(Ef.Z,Of);Ef.Z&&Ef.Z.locals&&Ef.Z.locals;var Af=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},Ff=function(e,t){return function(i,n){t(i,n,e)}};const Vf=new k.uy("renameInputVisible",!1,(0,y.NC)("renameInputVisible","Whether the rename input widget is visible"));let Wf=class{constructor(e,t,i,n,o){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._disposables=new A.SL,this.allowEditorOverflow=!0,this._visibleContextKey=Vf.bindTo(o),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(48)&&this._updateFont()}))),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",(0,y.NC)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){var t,i,n,o;if(!this._input||!this._domNode)return;const s=e.getColor(j.rh),r=e.getColor(j.A42);this._domNode.style.backgroundColor=String(null!==(t=e.getColor(j.D0T))&&void 0!==t?t:""),this._domNode.style.boxShadow=s?` 0 0 8px 2px ${s}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(i=e.getColor(j.zJb))&&void 0!==i?i:""),this._input.style.backgroundColor=String(null!==(n=e.getColor(j.sEe))&&void 0!==n?n:"");const a=e.getColor(j.dt_);this._input.style.borderWidth=a?"1px":"0px",this._input.style.borderStyle=a?"solid":"none",this._input.style.borderColor=null!==(o=null==a?void 0:a.toString())&&void 0!==o?o:"none"}_updateFont(){if(!this._input||!this._label)return;const e=this._editor.getOption(48);this._input.style.fontFamily=e.fontFamily,this._input.style.fontWeight=e.fontWeight,this._input.style.fontSize=`${e.fontSize}px`,this._label.style.fontSize=.8*e.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var e,t;const[i,n]=this._acceptKeybindings;return this._label.innerText=(0,y.NC)({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",null===(e=this._keybindingService.lookupKeybinding(i))||void 0===e?void 0:e.getLabel(),null===(t=this._keybindingService.lookupKeybinding(n))||void 0===t?void 0:t.getLabel()),null}afterRender(e){e||this.cancelInput(!0)}acceptInput(e){var t;null===(t=this._currentAcceptInput)||void 0===t||t.call(this,e)}cancelInput(e){var t;null===(t=this._currentCancelInput)||void 0===t||t.call(this,e)}getInput(e,t,i,n,o,s){this._domNode.classList.toggle("preview",o),this._position=new W.L(e.startLineNumber,e.startColumn),this._input.value=t,this._input.setAttribute("selectionStart",i.toString()),this._input.setAttribute("selectionEnd",n.toString()),this._input.size=Math.max(1.1*(e.endColumn-e.startColumn),20);const r=new A.SL;return new Promise((e=>{this._currentCancelInput=t=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,e(t),!0),this._currentAcceptInput=i=>{0!==this._input.value.trim().length&&this._input.value!==t?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,e({newName:this._input.value,wantsPreview:o&&i})):this.cancelInput(!0)},r.add(s.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>this.cancelInput(!document.hasFocus())))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};Wf=Af([Ff(2,q.XE),Ff(3,tt.d),Ff(4,k.i6)],Wf);var Bf=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},Hf=function(e,t){return function(i,n){t(i,n,e)}},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())}))};class Uf{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}resolveRenameLocation(e){return zf(this,void 0,void 0,(function*(){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:B.e.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}))}provideRenameEdits(e,t){return zf(this,void 0,void 0,(function*(){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}))}_provideRenameEdits(e,t,i,n){return zf(this,void 0,void 0,(function*(){const o=this._providers[t];if(!o)return{edits:[],rejectReason:i.join("\n")};const s=yield o.provideRenameEdits(this.model,this.position,e,n);return s?s.rejectReason?this._provideRenameEdits(e,t+1,i.concat(s.rejectReason),n):s:this._provideRenameEdits(e,t+1,i.concat(y.NC("no result","No result.")),n)}))}}let jf=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t,i,n,o,s,r,a){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=o,this._logService=s,this._configService=r,this._languageFeaturesService=a,this._disposableStore=new A.SL,this._cts=new Le.A,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(Wf,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}run(){var e,t;return zf(this,void 0,void 0,(function*(){if(this._cts.dispose(!0),!this.editor.hasModel())return;const i=this.editor.getPosition(),n=new Uf(this.editor.getModel(),i,this._languageFeaturesService.renameProvider);if(!n.hasProvider())return;let s;this._cts=new Te.Dl(this.editor,5);try{const e=n.resolveRenameLocation(this._cts.token);this._progressService.showWhile(e,250),s=yield e}catch(t){return void(null===(e=ut.get(this.editor))||void 0===e||e.showMessage(t||y.NC("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),i))}if(!s)return;if(s.rejectReason)return void(null===(t=ut.get(this.editor))||void 0===t||t.showMessage(s.rejectReason,i));if(this._cts.token.isCancellationRequested)return void this._cts.dispose();this._cts.dispose(),this._cts=new Te.Dl(this.editor,5,s.range);const r=this.editor.getSelection();let a=0,l=s.text.length;B.e.isEmpty(r)||B.e.spansMultipleLines(r)||!B.e.containsRange(s.range,r)||(a=Math.max(0,r.startColumn-s.range.startColumn),l=Math.min(s.range.endColumn,r.endColumn)-s.range.startColumn);const d=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),c=yield this._renameInputField.getInput(s.range,s.text,a,l,d,this._cts.token);if("boolean"==typeof c)return void(c&&this.editor.focus());this.editor.focus();const h=(0,O.eP)(n.provideRenameEdits(c.newName,this._cts.token),this._cts.token).then((e=>zf(this,void 0,void 0,(function*(){e&&this.editor.hasModel()&&(e.rejectReason?this._notificationService.info(e.rejectReason):(this.editor.setSelection(B.e.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(e,{editor:this.editor,showPreview:c.wantsPreview,label:y.NC("label","Renaming '{0}' to '{1}'",null==s?void 0:s.text,c.newName),code:"undoredo.rename",quotableLabel:y.NC("quotableLabel","Renaming {0} to {1}",null==s?void 0:s.text,c.newName),respectAutoSaveConfig:!0}).then((e=>{e.ariaSummary&&(0,o.Z9)(y.NC("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,c.newName,e.ariaSummary))})).catch((e=>{this._notificationService.error(y.NC("rename.failedApply","Rename failed to apply edits")),this._logService.error(e)}))))}))),(e=>{this._notificationService.error(y.NC("rename.failed","Rename failed to compute edits")),this._logService.error(e)}));return this._progressService.showWhile(h,250),h}))}acceptRenameInput(e){this._renameInputField.acceptInput(e)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};jf.ID="editor.contrib.renameController",jf=Bf([Hf(1,_t.TG),Hf(2,Me.lT),Hf(3,Ne.vu),Hf(4,Re.ek),Hf(5,Kc.VZ),Hf(6,Pf.V),Hf(7,xe.p)],jf);class qf extends w.R6{constructor(){super({id:"editor.action.rename",label:y.NC("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:k.Ao.and(L.u.writable,L.u.hasRenameProvider),kbOpts:{kbExpr:L.u.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(re.$),[n,o]=Array.isArray(t)&&t||[void 0,void 0];return ke.o.isUri(n)&&W.L.isIPosition(o)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then((e=>{e&&(e.setPosition(o),e.invokeWithinContext((t=>(this.reportTelemetry(t,e),this.run(t,e)))))}),ye.dL):super.runCommand(e,t)}run(e,t){const i=jf.get(t);return i?i.run():Promise.resolve()}}(0,w._K)(jf.ID,jf,4),(0,w.Qr)(qf);const Kf=w._l.bindToContribution(jf.get);(0,w.fK)(new Kf({id:"acceptRenameInput",precondition:Vf,handler:e=>e.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:k.Ao.and(L.u.focus,k.Ao.not("isComposing")),primary:3}})),(0,w.fK)(new Kf({id:"acceptRenameInputWithPreview",precondition:k.Ao.and(Vf,k.Ao.has("config.editor.rename.enablePreview")),handler:e=>e.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:k.Ao.and(L.u.focus,k.Ao.not("isComposing")),primary:1027}})),(0,w.fK)(new Kf({id:"cancelRenameInput",precondition:Vf,handler:e=>e.cancelRenameInput(),kbOpts:{weight:199,kbExpr:L.u.focus,primary:9,secondary:[1033]}})),(0,w.sb)("_executeDocumentRenameProvider",(function(e,t,i,...n){const[o]=n;(0,wt.p_)("string"==typeof o);const{renameProvider:s}=e.get(xe.p);return function(e,t,i,n){return zf(this,void 0,void 0,(function*(){const o=new Uf(t,i,e),s=yield o.resolveRenameLocation(Le.T.None);return(null==s?void 0:s.rejectReason)?{edits:[],rejectReason:s.rejectReason}:o.provideRenameEdits(n,Le.T.None)}))}(s,t,i,o)})),(0,w.sb)("_executePrepareRename",(function(e,t,i){return zf(this,void 0,void 0,(function*(){const{renameProvider:n}=e.get(xe.p),o=new Uf(t,i,n),s=yield o.resolveRenameLocation(Le.T.None);if(null==s?void 0:s.rejectReason)throw new Error(s.rejectReason);return s}))})),ai.B.as(ri.IP.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:y.NC("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var Gf=i(88802),$f=i(53060);function Zf(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const i of e.deltas)i.data&&(t+=i.data.length)}return t}(e));let i=0;if(t[i++]=e.id,"full"===e.type)t[i++]=1,t[i++]=e.data.length,t.set(e.data,i),i+=e.data.length;else{t[i++]=2,t[i++]=e.deltas.length;for(const n of e.deltas)t[i++]=n.start,t[i++]=n.deleteCount,n.data?(t[i++]=n.data.length,t.set(n.data,i),i+=n.data.length):t[i++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return oe.r()||function(e){for(let t=0,i=e.length;t0?i[0]:[]}(e,t),r=yield Promise.all(s.map((e=>Qf(this,void 0,void 0,(function*(){let s,r=null;try{s=yield e.provideDocumentSemanticTokens(t,e===i?n:null,o)}catch(e){r=e,s=null}return s&&(Yf(s)||Jf(s))||(s=null),new Xf(e,s,r)})))));for(const e of r){if(e.error)throw e.error;if(e.tokens)return e}return r.length>0?r[0]:null}))}class i_{constructor(e,t){this.provider=e,this.tokens=t}}function n_(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:[]}function o_(e,t,i,n){return Qf(this,void 0,void 0,(function*(){const o=n_(e,t),s=yield Promise.all(o.map((e=>Qf(this,void 0,void 0,(function*(){let o;try{o=yield e.provideDocumentRangeSemanticTokens(t,i,n)}catch(e){(0,ye.Cp)(e),o=null}return o&&Yf(o)||(o=null),new i_(e,o)})))));for(const e of s)if(e.tokens)return e;return s.length>0?s[0]:null}))}De.P.registerCommand("_provideDocumentSemanticTokensLegend",((e,...t)=>Qf(void 0,void 0,void 0,(function*(){const[i]=t;(0,wt.p_)(i instanceof ke.o);const n=e.get(Ie.q).getModel(i);if(!n)return;const{documentSemanticTokensProvider:o}=e.get(xe.p),s=function(e,t){const i=e.orderedGroups(t);return i.length>0?i[0]:null}(o,n);return s?s[0].getLegend():e.get(De.H).executeCommand("_provideDocumentRangeSemanticTokensLegend",i)})))),De.P.registerCommand("_provideDocumentSemanticTokens",((e,...t)=>Qf(void 0,void 0,void 0,(function*(){const[i]=t;(0,wt.p_)(i instanceof ke.o);const n=e.get(Ie.q).getModel(i);if(!n)return;const{documentSemanticTokensProvider:o}=e.get(xe.p);if(!e_(o,n))return e.get(De.H).executeCommand("_provideDocumentRangeSemanticTokens",i,n.getFullModelRange());const s=yield t_(o,n,null,null,Le.T.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Yf(a))return;const l=Zf({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),l})))),De.P.registerCommand("_provideDocumentRangeSemanticTokensLegend",((e,...t)=>Qf(void 0,void 0,void 0,(function*(){const[i,n]=t;(0,wt.p_)(i instanceof ke.o);const o=e.get(Ie.q).getModel(i);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(xe.p),r=n_(s,o);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!n||!B.e.isIRange(n))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=yield o_(s,o,B.e.lift(n),Le.T.None);return a?a.provider.getLegend():void 0})))),De.P.registerCommand("_provideDocumentRangeSemanticTokens",((e,...t)=>Qf(void 0,void 0,void 0,(function*(){const[i,n]=t;(0,wt.p_)(i instanceof ke.o),(0,wt.p_)(B.e.isIRange(n));const o=e.get(Ie.q).getModel(i);if(!o)return;const{documentRangeSemanticTokensProvider:s}=e.get(xe.p),r=yield o_(s,o,B.e.lift(n),Le.T.None);return r&&r.tokens?Zf({id:0,type:"full",data:r.tokens.data}):void 0}))));var s_=i(73343),r_=i(10637);const a_="editor.semanticHighlighting";function l_(e,t,i){var n;const o=null===(n=i.getValue(a_,{overrideIdentifier:e.getLanguageId(),resource:e.uri}))||void 0===n?void 0:n.enabled;return"boolean"==typeof o?o:t.getColorTheme().semanticHighlighting}var d_=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_=function(e,t){return function(i,n){t(i,n,e)}};let h_=class extends A.JT{constructor(e,t,i,n,o,s){super(),this._watchers=Object.create(null);const r=t=>{this._watchers[t.uri.toString()]=new u_(t,e,i,o,s)},a=(e,t)=>{t.dispose(),delete this._watchers[e.uri.toString()]},l=()=>{for(const e of t.getModels()){const t=this._watchers[e.uri.toString()];l_(e,i,n)?t||r(e):t&&a(e,t)}};this._register(t.onModelAdded((e=>{l_(e,i,n)&&r(e)}))),this._register(t.onModelRemoved((e=>{const t=this._watchers[e.uri.toString()];t&&a(e,t)}))),this._register(n.onDidChangeConfiguration((e=>{e.affectsConfiguration(a_)&&l()}))),this._register(i.onDidColorThemeChange(l))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};h_=d_([c_(0,s_.s),c_(1,Ie.q),c_(2,q.XE),c_(3,ft.Ui),c_(4,Mi.A),c_(5,xe.p)],h_);let u_=class e extends A.JT{constructor(t,i,n,o,s){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentSemanticTokens",{min:e.REQUEST_MIN_DELAY,max:e.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new O.pY((()=>this._fetchDocumentSemanticTokensNow()),e.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const r=()=>{(0,A.B9)(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const e of this._provider.all(t))"function"==typeof e.onDidChange&&this._documentProvidersChangeListeners.push(e.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};r(),this._register(this._provider.onDidChange((()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(n.onDidColorThemeChange((e=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!e_(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));const e=new Le.A,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=t_(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const o=[],s=this._model.onDidChangeContent((e=>{o.push(e)})),r=new Fi.G(!1);n.then((e=>{if(this._debounceInformation.update(this._model,r.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),e){const{provider:t,tokens:i}=e,n=this._semanticTokensStylingService.getStyling(t);this._setDocumentSemanticTokens(t,i||null,n,o)}else this._setDocumentSemanticTokens(null,null,null,o)}),(e=>{e&&(ye.n2(e)||"string"==typeof e.message&&-1!==e.message.indexOf("busy"))||ye.dL(e),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(o.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(e,t,i,n,o){o=Math.min(o,i.length-n,e.length-t);for(let s=0;s{(o.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&n){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void r();if(Jf(i)){if(!s)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:s.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const o=s.data,r=new Uint32Array(o.length+t);let a=o.length,l=r.length;for(let t=i.edits.length-1;t>=0;t--){const d=i.edits[t];if(d.start>o.length)return n.warnInvalidEditStart(s.resultId,i.resultId,t,d.start,o.length),void this._model.tokenization.setSemanticTokens(null,!0);const c=a-(d.start+d.deleteCount);c>0&&(e._copy(o,a-c,r,l-c,c),l-=c),d.data&&(e._copy(d.data,0,r,l-d.data.length,d.data.length),l-=d.data.length),a=d.start}a>0&&e._copy(o,0,r,0,a),i={resultId:i.resultId,data:r}}}if(Yf(i)){this._currentDocumentResponse=new g_(t,i.resultId,i.data);const e=(0,Gf.h)(i,n,this._model.getLanguageId());if(o.length>0)for(const t of o)for(const i of e)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(e,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}else this._model.tokenization.setSemanticTokens(null,!1)}};u_.REQUEST_MIN_DELAY=300,u_.REQUEST_MAX_DELAY=2e3,u_=d_([c_(1,s_.s),c_(2,q.XE),c_(3,Mi.A),c_(4,xe.p)],u_);class g_{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}(0,r_.y)(h_);var p_=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},m_=function(e,t){return function(i,n){t(i,n,e)}};let f_=class extends A.JT{constructor(e,t,i,n,o,s){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=s.documentRangeSemanticTokensProvider,this._debounceInformation=o.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new O.pY((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((e=>{e.affectsConfiguration(a_)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,t))))}_requestRange(e,t){const i=e.getVersionId(),n=(0,O.PG)((i=>Promise.resolve(o_(this._provider,e,t,i)))),o=new Fi.G(!1);return n.then((n=>{if(this._debounceInformation.update(e,o.elapsed()),!n||!n.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:s,tokens:r}=n,a=this._semanticTokensStylingService.getStyling(s);e.tokenization.setPartialSemanticTokens(t,(0,Gf.h)(r,a,e.getLanguageId()))})).then((()=>this._removeOutstandingRequest(n)),(()=>this._removeOutstandingRequest(n))),n}};f_.ID="editor.contrib.viewportSemanticTokens",f_=p_([m_(1,s_.s),m_(2,q.XE),m_(3,ft.Ui),m_(4,Mi.A),m_(5,xe.p)],f_),(0,w._K)(f_.ID,f_,1);class __{provideSelectionRanges(e,t){const i=[];for(const n of t){const t=[];i.push(t),this._addInWordRanges(t,e,n),this._addWordRanges(t,e,n),this._addWhitespaceLine(t,e,n),t.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:o,startColumn:s}=n,r=i.column-s;let a=r,l=r,d=0;for(;a>=0;a--){const e=o.charCodeAt(a);if(a!==r&&(95===e||45===e))break;if((0,we.mK)(e)&&(0,we.df)(d))break;d=e}for(a+=1;l0&&0===t.getLineFirstNonWhitespaceColumn(i.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(i.lineNumber)&&e.push({range:new B.e(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var v_=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_=function(e,t){return function(i,n){t(i,n,e)}},b_=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 w_{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new w_(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let S_=class e{static get(t){return t.getContribution(e.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;null===(e=this._selectionListener)||void 0===e||e.dispose()}run(e){return b_(this,void 0,void 0,(function*(){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||(yield y_(this._languageFeaturesService.selectionRangeProvider,i,t.map((e=>e.getPosition())),this._editor.getOption(108),Le.T.None).then((e=>{var i;if(Se.Of(e)&&e.length===t.length&&this._editor.hasModel()&&Se.fS(this._editor.getSelections(),t,((e,t)=>e.equalsSelection(t)))){for(let i=0;ie.containsPosition(t[i].getStartPosition())&&e.containsPosition(t[i].getEndPosition()))),e[i].unshift(t[i]);this._state=e.map((e=>new w_(0,e))),null===(i=this._selectionListener)||void 0===i||i.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var e;this._ignoreSelection||(null===(e=this._selectionListener)||void 0===e||e.dispose(),this._state=void 0)}))}}))),!this._state)return;this._state=this._state.map((t=>t.mov(e)));const n=this._state.map((e=>S.Y.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}))}};S_.ID="editor.contrib.smartSelectController",S_=v_([C_(1,xe.p)],S_);class L_ extends w.R6{constructor(e,t){super(t),this._forward=e}run(e,t){return b_(this,void 0,void 0,(function*(){const e=S_.get(t);e&&(yield e.run(this._forward))}))}}De.P.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");function y_(e,t,i,n,o){return b_(this,void 0,void 0,(function*(){const s=e.all(t).concat(new __);1===s.length&&s.unshift(new Uh);const r=[],a=[];for(const e of s)r.push(Promise.resolve(e.provideSelectionRanges(t,i,o)).then((e=>{if(Se.Of(e)&&e.length===i.length)for(let t=0;t{if(0===e.length)return[];e.sort(((e,t)=>W.L.isBefore(e.getStartPosition(),t.getStartPosition())?1:W.L.isBefore(t.getStartPosition(),e.getStartPosition())||W.L.isBefore(e.getEndPosition(),t.getEndPosition())?-1:W.L.isBefore(t.getEndPosition(),e.getEndPosition())?1:0));const i=[];let o;for(const t of e)(!o||B.e.containsRange(t,o)&&!B.e.equalsRange(t,o))&&(i.push(t),o=t);if(!n.selectLeadingAndTrailingWhitespace)return i;const s=[i[0]];for(let e=1;ee});class R_ extends A.JT{constructor(e){super(),this._editor=e,this._rootDomNode=document.createElement("div"),this._disposableStore=this._register(new A.SL),this._lineNumbers=[],this._lastLineRelativePosition=0,this._hoverOnLine=-1,this._hoverOnColumn=-1,this._layoutInfo=this._editor.getLayoutInfo(),this._rootDomNode=document.createElement("div"),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Ln.H),this._rootDomNode.style.width=this._layoutInfo.width-this._layoutInfo.minimap.minimapCanvasOuterWidth-this._layoutInfo.verticalScrollbarWidth+"px"}get hoverOnLine(){return this._hoverOnLine}get hoverOnColumn(){return this._hoverOnColumn}get lineNumbers(){return this._lineNumbers}getCurrentLines(){return this._lineNumbers}setState(e){et.PO(this._rootDomNode),this._disposableStore.clear(),this._lineNumbers.length=0;const t=this._editor.getOption(64);e.lineNumbers.length*t+e.lastLineRelativePosition>0?(this._lastLineRelativePosition=e.lastLineRelativePosition,this._lineNumbers=e.lineNumbers):(this._lastLineRelativePosition=0,this._lineNumbers=[]),this._renderRootNode()}_renderRootNode(){if(!this._editor._getViewModel())return;for(const[e,t]of this._lineNumbers.entries()){const i=this._renderChildNode(e,t);this._rootDomNode.appendChild(i)}const e=this._editor.getOption(64),t=this._lineNumbers.length*e+this._lastLineRelativePosition;this._rootDomNode.style.display=t>0?"block":"none",this._rootDomNode.style.height=t.toString()+"px",this._rootDomNode.setAttribute("role","list");"left"===this._editor.getOption(70).side&&(this._rootDomNode.style.marginLeft=this._editor.getLayoutInfo().minimap.minimapCanvasOuterWidth+"px")}_renderChildNode(e,t){const i=document.createElement("div"),n=this._editor._getViewModel(),o=n.coordinatesConverter.convertModelPositionToViewPosition(new W.L(t,1)).lineNumber,s=n.getViewLineRenderingData(o),r=this._editor.getLayoutInfo(),a=r.width-r.minimap.minimapCanvasOuterWidth-r.verticalScrollbarWidth,l=this._editor.getOption(70).side,d=this._editor.getOption(64),c=this._editor.getOption(65);let h;try{h=sg.Kp.filter(s.inlineDecorations,o,s.minColumn,s.maxColumn)}catch(e){h=[]}const u=new rg.IJ(!0,!0,s.content,s.continuesWithWrappedLine,s.isBasicASCII,s.containsRTL,0,s.tokens,h,s.tabSize,s.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new og.HT(2e3);let p;(0,rg.d1)(u,g),p=M_?M_.createHTML(g.build()):g.build();const m=document.createElement("span");m.className="sticky-line",m.classList.add(`stickyLine${t}`),m.style.lineHeight=`${d}px`,m.innerHTML=p;const f=document.createElement("span");f.className="sticky-line",f.style.lineHeight=`${d}px`,"left"===l?f.style.width=r.contentLeft-r.minimap.minimapCanvasOuterWidth+"px":"right"===l&&(f.style.width=`${r.contentLeft}px`);const _=document.createElement("span");return 1===c.renderType||3===c.renderType&&t%10==0?_.innerText=t.toString():2===c.renderType&&(_.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),_.className="sticky-line-number",_.style.lineHeight=`${d}px`,_.style.width=`${r.lineNumbersWidth}px`,"left"===l?_.style.paddingLeft=r.lineNumbersLeft-r.minimap.minimapCanvasOuterWidth+"px":"right"===l&&(_.style.paddingLeft=`${r.lineNumbersLeft}px`),f.appendChild(_),this._editor.applyFontInfo(m),this._editor.applyFontInfo(_),i.appendChild(f),i.appendChild(m),i.className="sticky-line-root",i.setAttribute("role","listitem"),i.tabIndex=0,i.style.lineHeight=`${d}px`,i.style.width=`${a}px`,i.style.height=`${d}px`,i.style.zIndex="0",e===this._lineNumbers.length-1&&(i.style.position="relative",i.style.zIndex="-1",i.style.top=this._lastLineRelativePosition+"px"),this._disposableStore.add(et.nm(i,"mouseover",(e=>{if(this._editor.hasModel()){const i=new N_.n(e).target.innerText;this._hoverOnLine=t,this._hoverOnColumn=this._editor.getModel().getLineContent(t).indexOf(i)+1||-1}}))),i}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}}class P_{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class E_{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class O_{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var A_,F_,V_=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},W_=function(e,t){return function(i,n){t(i,n,e)}},B_=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.OUTLINE_MODEL="outlineModel",e.FOLDING_PROVIDER_MODEL="foldingProviderModel",e.INDENTATION_MODEL="indentationModel"}(A_||(A_={})),function(e){e[e.VALID=0]="VALID",e[e.INVALID=1]="INVALID",e[e.CANCELED=2]="CANCELED"}(F_||(F_={}));let H_=class{constructor(e,t,i,n){this._editor=e,this._languageConfigurationService=t,this._languageFeaturesService=i,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=new O.vp(300);const o=new U_(i),s=new K_(this._editor,i),r=new q_(this._editor,t);switch(n){case A_.OUTLINE_MODEL:this._modelProviders.push(o),this._modelProviders.push(s),this._modelProviders.push(r);break;case A_.FOLDING_PROVIDER_MODEL:this._modelProviders.push(s),this._modelProviders.push(r);break;case A_.INDENTATION_MODEL:this._modelProviders.push(r)}this._store=new A.SL}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}update(e,t,i){return B_(this,void 0,void 0,(function*(){return this._store.clear(),this._store.add({dispose:()=>{var e;this._cancelModelPromise(),null===(e=this._updateScheduler)||void 0===e||e.cancel()}}),this._cancelModelPromise(),yield this._updateScheduler.trigger((()=>B_(this,void 0,void 0,(function*(){for(const n of this._modelProviders){const{statusPromise:o,modelPromise:s}=n.computeStickyModel(e,t,i);this._modelPromise=s;const r=yield o;if(this._modelPromise!==s)return null;switch(r){case F_.CANCELED:return this._store.clear(),null;case F_.VALID:return n.stickyModel}}return null}))))}))}};H_=V_([W_(1,da.c_),W_(2,xe.p)],H_);class z_{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,F_.INVALID}computeStickyModel(e,t,i){if(!this.isProviderValid(e))return{statusPromise:this._invalid(),modelPromise:null};const n=(0,O.PG)((i=>this.createModelFromProvider(e,t,i)));return{statusPromise:n.then((n=>this.isModelValid(n)?i.isCancellationRequested?F_.CANCELED:(this._stickyModel=this.createStickyModel(e,t,i,n),F_.VALID):this._invalid())).then(void 0,(e=>((0,ye.dL)(e),F_.CANCELED))),modelPromise:n}}isModelValid(e){return!0}isProviderValid(e){return!0}}let U_=class extends z_{constructor(e){super(),this._languageFeaturesService=e}createModelFromProvider(e,t,i){return yc.C3.create(this._languageFeaturesService.documentSymbolProvider,e,i)}createStickyModel(e,t,i,n){var o;const{stickyOutlineElement:s,providerID:r}=this._stickyModelFromOutlineModel(n,null===(o=this._stickyModel)||void 0===o?void 0:o.outlineProviderId);return new O_(e.uri,t,s,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Qn.$.first(e.children.values())instanceof yc.H3){const n=Qn.$.find(e.children.values(),(e=>e.id===t));if(n)i=n.children;else{let n,o="",s=-1;for(const[t,i]of e.children.entries()){const e=this._findSumOfRangesOfGroup(i);e>s&&(n=i,s=e,o=i.id)}t=o,i=n.children}}else i=e.children;const n=[],o=Array.from(i.values()).sort(((e,t)=>{const i=new P_(e.symbol.range.startLineNumber,e.symbol.range.endLineNumber),n=new P_(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber);return this._comparator(i,n)}));for(const e of o)n.push(this._stickyModelFromOutlineElement(e,e.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new E_(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const n of e.children.values())if(n.symbol.selectionRange.startLineNumber!==n.symbol.range.endLineNumber)if(n.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(n,n.symbol.selectionRange.startLineNumber));else for(const e of n.children.values())i.push(this._stickyModelFromOutlineElement(e,n.symbol.selectionRange.startLineNumber));i.sort(((e,t)=>this._comparator(e.range,t.range)));const n=new P_(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new E_(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof yc.sT?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};U_=V_([W_(0,xe.p)],U_);class j_ extends z_{constructor(e){super(),this._foldingLimitReporter=new sc(e)}createStickyModel(e,t,i,n){const o=this._fromFoldingRegions(n);return new O_(e.uri,t,o,void 0)}isModelValid(e){return null!==e}_fromFoldingRegions(e){const t=e.length,i=[],n=new E_(void 0,[],void 0);for(let o=0;o0}createModelFromProvider(e,t,i){const n=oc.getFoldingRangeProviders(this._languageFeaturesService,e);return new Jd(e,n,(()=>this.createModelFromProvider(e,t,i)),this._foldingLimitReporter,void 0).compute(i)}};K_=V_([W_(1,xe.p)],K_);var G_=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)}},Z_=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 Q_{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Y_=class extends A.JT{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._store.add(new Ct.Q5),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=new A.SL,this._updateSoon=this._register(new O.pY((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(110)&&this.readConfiguration()}))),this.readConfiguration()}dispose(){super.dispose(),this._sessionStore.dispose()}readConfiguration(){this._options=this._editor.getOption(110),this._options.enabled?(this._stickyModelProvider=new H_(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel),this._sessionStore.add(this._editor.onDidChangeModel((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this.update()):this._sessionStore.clear()}getVersionId(){var e;return null===(e=this._model)||void 0===e?void 0:e.version}update(){var e;return Z_(this,void 0,void 0,(function*(){null===(e=this._cts)||void 0===e||e.dispose(!0),this._cts=new Le.A,yield this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}))}updateStickyModel(e){return Z_(this,void 0,void 0,(function*(){if(!this._editor.hasModel()||!this._stickyModelProvider)return;const t=this._editor.getModel(),i=t.getVersionId(),n=!!this._model&&!(0,Vt.Xy)(this._model.uri,t.uri)?setTimeout((()=>{e.isCancellationRequested||(this._model=new O_(t.uri,t.getVersionId(),void 0,void 0),this._onDidChangeStickyScroll.fire())}),75):void 0;this._model=yield this._stickyModelProvider.update(t,i,e),clearTimeout(n)}))}updateIndex(e){return-1===e?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,o){if(0===t.children.length)return;let s=o;const r=[];for(let e=0;ee-t))),l=this.updateIndex((0,Se.ry)(r,e.startLineNumber+n,((e,t)=>e-t)));for(let r=a;r<=l;r++){const a=t.children[r];if(!a)return;if(a.range){const t=a.range.startLineNumber,o=a.range.endLineNumber;e.startLineNumber<=o+1&&t-1<=e.endLineNumber&&t!==s&&(s=t,i.push(new Q_(t,o-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,a,i,n+1,t))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,a,i,n,o)}}getCandidateStickyLinesIntersecting(e){var t,i;if(!(null===(t=this._model)||void 0===t?void 0:t.element))return[];let n=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,n,0,-1);const o=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getHiddenAreas();if(o)for(const e of o)n=n.filter((t=>!(t.startLineNumber>=e.startLineNumber&&t.endLineNumber<=e.endLineNumber+1)));return n}};Y_=G_([$_(1,xe.p),$_(2,da.c_)],Y_);var J_=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},X_=function(e,t){return function(i,n){t(i,n,e)}},ev=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 tv=class e extends A.JT{constructor(e,t,i,n,o,s,r){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=r,this._sessionStore=new A.SL,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._stickyScrollWidget=new R_(this._editor),this._stickyLineCandidateProvider=new Y_(this._editor,i,o),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new D_([],0),this._readConfiguration(),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(110)&&this._readConfiguration()}))),this._register(et.nm(this._stickyScrollWidget.getDomNode(),et.tw.CONTEXT_MENU,(e=>ev(this,void 0,void 0,(function*(){this._onContextMenu(e)}))))),this._stickyScrollFocusedContextKey=L.u.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=L.u.stickyScrollVisible.bindTo(this._contextKeyService);const a=this._register(et.go(this._stickyScrollWidget.getDomNode()));this._register(a.onDidBlur((e=>{const t=this._stickyScrollWidget.getDomNode().clientHeight;!1===this._positionRevealed&&0===t?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(a.onDidFocus((e=>{this.focus()}))),this._register(this._createClickLinkGesture()),this._register(et.nm(this._stickyScrollWidget.getDomNode(),et.tw.MOUSE_DOWN,(e=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(e.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),null===(e=this._focusDisposableStore)||void 0===e||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();if(!0===this._stickyScrollFocusedContextKey.get())return;this._focused=!0,this._focusDisposableStore=new A.SL,this._stickyScrollFocusedContextKey.set(!0);const e=this._stickyScrollWidget.getDomNode();e.lastElementChild.focus(),this._stickyElements=e.children,this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyElements.item(this._focusedStickyElementIndex).focus()}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._positionRevealed=!0,this._editor.revealPosition(e),this._editor.setSelection(B.e.fromPositions(e)),this._editor.focus()}_createClickLinkGesture(){const e=new A.SL,t=new A.SL;e.add(t);const i=new bn(this._editor,!0);return e.add(i),e.add(i.onMouseMoveOrRelevantKeyDown((([e,i])=>{if(!this._editor.hasModel()||!e.hasTriggerModifier)return void t.clear();const n=e.target;if(n.detail===this._stickyScrollWidget.getId()&&n.element.innerText===n.element.innerHTML){const e=n.element.innerText;if(-1===this._stickyScrollWidget.hoverOnColumn)return;const i=this._stickyScrollWidget.hoverOnLine,o=this._stickyScrollWidget.hoverOnColumn,s=new B.e(i,o,i,o+e.length);if(s.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===n.element.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=s,t.clear();const r=new Le.A;let a;t.add((0,A.OF)((()=>r.dispose(!0)))),An(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new W.L(i,o+1),r.token).then((e=>{if(!r.token.isCancellationRequested)if(0!==e.length){this._candidateDefinitionsLength=e.length;const i=n.element;a!==i?(t.clear(),a=i,a.style.textDecoration="underline",t.add((0,A.OF)((()=>{a.style.textDecoration="none"})))):a||(a=i,a.style.textDecoration="underline",t.add((0,A.OF)((()=>{a.style.textDecoration="none"}))))}else t.clear()}))}else t.clear()}))),e.add(i.onCancel((()=>{t.clear()}))),e.add(i.onExecute((e=>ev(this,void 0,void 0,(function*(){e.target.detail===this._stickyScrollWidget.getId()&&(e.hasTriggerModifier?(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:this._stickyScrollWidget.hoverOnLine,column:1})),this._instaService.invokeFunction(dp,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})):e.isRightClick||(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:this._stickyScrollWidget.hoverOnLine,column:this._stickyScrollWidget.hoverOnColumn})))}))))),e}_onContextMenu(e){this._contextMenuService.showContextMenu({menuId:U.eH.StickyScrollContext,getAnchor:()=>e})}_readConfiguration(){const e=this._editor.getOption(110);if(!1===e.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((()=>this._renderStickyScroll()))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>this._renderStickyScroll()))),this._enabled=!0);2===this._editor.getOption(65).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>this._renderStickyScroll())))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const t of e.ranges)if(i>=t.fromLineNumber&&i<=t.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll()}_onDidResize(){const e=this._editor.getLayoutInfo(),t=e.width-e.minimap.minimapCanvasOuterWidth-e.verticalScrollbarWidth;this._stickyScrollWidget.getDomNode().style.width=`${t}px`;const i=e.height/this._editor.getOption(64);this._maxStickyLines=Math.round(.25*i)}_renderStickyScroll(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._stickyLineCandidateProvider.getVersionId();if(void 0===t||t===e.getVersionId())if(this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.lineNumbers.length)),this._focused)if(this._stickyElements=this._stickyScrollWidget.getDomNode().children,-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState),this._focusedStickyElementIndex=this._stickyElements.length-1,-1!==this._focusedStickyElementIndex&&this._stickyElements.item(this._focusedStickyElementIndex).focus();else{const e=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];if(this._stickyScrollWidget.setState(this._widgetState),0===this._stickyElements.length)this._focusedStickyElementIndex=-1;else{this._stickyScrollWidget.lineNumbers.includes(e)||(this._focusedStickyElementIndex=this._stickyElements.length-1),this._stickyElements.item(this._focusedStickyElementIndex).focus()}}else this._stickyScrollWidget.setState(this._widgetState)}findScrollWidgetState(){const e=this._editor.getOption(64),t=Math.min(this._maxStickyLines,this._editor.getOption(110).maxLineCount),i=this._editor.getScrollTop();let n=0;const o=[],s=this._editor.getVisibleRanges();if(0!==s.length){const r=new P_(s[0].startLineNumber,s[s.length-1].endLineNumber),a=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(r);for(const s of a){const r=s.startLineNumber,a=s.endLineNumber,l=s.nestingDepth;if(a-r>0){const s=(l-1)*e,d=l*e,c=this._editor.getBottomForLineNumber(r)-i,h=this._editor.getTopForLineNumber(a)-i,u=this._editor.getBottomForLineNumber(a)-i;if(s>h&&s<=u){o.push(r),n=u-d;break}if(d>c&&d<=u&&o.push(r),o.length===t)break}}}return new D_(o,n)}dispose(){super.dispose(),this._sessionStore.dispose()}};tv.ID="store.contrib.stickyScrollController",tv=J_([X_(1,Ir.i),X_(2,xe.p),X_(3,_t.TG),X_(4,da.c_),X_(5,Mi.A),X_(6,k.i6)],tv);var iv=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 nv extends U.Ke{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:(0,y.NC)("toggleStickyScroll","Toggle Sticky Scroll"),mnemonicTitle:(0,y.NC)({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:k_.R.View,toggled:{condition:k.Ao.equals("config.editor.stickyScroll.enabled",!0),title:(0,y.NC)("stickyScroll","Sticky Scroll"),mnemonicTitle:(0,y.NC)({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:U.eH.CommandPalette},{id:U.eH.MenubarViewMenu,group:"5_editor",order:2},{id:U.eH.StickyScrollContext}]})}run(e){return iv(this,void 0,void 0,(function*(){const t=e.get(ft.Ui),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}))}}const ov=100;class sv extends w.x1{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:(0,y.NC)("focusStickyScroll","Focus Sticky Scroll"),mnemonicTitle:(0,y.NC)({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:k.Ao.and(k.Ao.has("config.editor.stickyScroll.enabled"),L.u.stickyScrollVisible),menu:[{id:U.eH.CommandPalette}]})}runEditorCommand(e,t){var i;null===(i=tv.get(t))||void 0===i||i.focus()}}class rv extends w.x1{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:(0,y.NC)("selectNextStickyScrollLine.title","Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:L.u.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ov,primary:18}})}runEditorCommand(e,t){var i;null===(i=tv.get(t))||void 0===i||i.focusNext()}}class av extends w.x1{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:(0,y.NC)("selectPreviousStickyScrollLine.title","Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:L.u.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ov,primary:16}})}runEditorCommand(e,t){var i;null===(i=tv.get(t))||void 0===i||i.focusPrevious()}}class lv extends w.x1{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:(0,y.NC)("goToFocusedStickyScrollLine.title","Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:L.u.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ov,primary:3}})}runEditorCommand(e,t){var i;null===(i=tv.get(t))||void 0===i||i.goToFocused()}}class dv extends w.x1{constructor(){super({id:"editor.action.selectEditor",title:{value:(0,y.NC)("selectEditor.title","Select Editor"),original:"Select Editor"},precondition:L.u.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ov,primary:9}})}runEditorCommand(e,t){var i;null===(i=tv.get(t))||void 0===i||i.selectEditor()}}(0,w._K)(tv.ID,tv,1),(0,U.r1)(nv),(0,U.r1)(sv),(0,U.r1)(av),(0,U.r1)(rv),(0,U.r1)(lv),(0,U.r1)(dv);var cv=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},hv=function(e,t){return function(i,n){t(i,n,e)}},uv=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 gv{constructor(e,t,i,n,o,s){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=o,this.completion=s}}let pv=class extends A.L6{constructor(e,t,i,n,o,s){super(o.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=s}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&i.resolve(Le.T.None)}return t}};pv=cv([hv(5,Eh)],pv);let mv=class{constructor(e,t,i,n){this._getEditorOption=e,this._languageFeatureService=t,this._clipboardService=i,this._suggestMemoryService=n}provideInlineCompletions(e,t,i,n){var o;return uv(this,void 0,void 0,(function*(){if(i.selectedSuggestionInfo)return;const s=this._getEditorOption(85,e);if(jo.isAllOff(s))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const r=e.tokenization.getLineTokens(t.lineNumber),a=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if("inline"!==jo.valueFor(s,a))return;let l,d,c=e.getWordAtPosition(t);if((null==c?void 0:c.word)||(l=this._getTriggerCharacterInfo(e,t)),!(null==c?void 0:c.word)&&!l)return;if(c||(c=e.getWordUntilPosition(t)),c.endColumn!==t.column)return;const h=e.getValueInRange(new B.e(t.lineNumber,1,t.lineNumber,t.column));if(!l&&(null===(o=this._lastResult)||void 0===o?void 0:o.canBeReused(e,t.lineNumber,c))){const e=new Kh(h,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=e,this._lastResult.acquire(),d=this._lastResult}else{const i=yield Ho(this._languageFeatureService.completionProvider,e,t,new Vo(void 0,void 0,null==l?void 0:l.providers),l&&{triggerKind:1,triggerCharacter:l.ch},n);let o;i.needsClipboard&&(o=yield this._clipboardService.readText());const s=new Gh(i.items,t.column,new Kh(h,0),qh.None,this._getEditorOption(113,e),this._getEditorOption(107,e),{boostFullMatch:!1,firstMatchCanBeWeak:!1},o);d=new pv(e,t.lineNumber,c,s,i,this._suggestMemoryService)}return this._lastResult=d,d}))}handleItemDidShow(e,t){t.completion.resolve(Le.T.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const n=e.getValueInRange(B.e.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),o=new Set;for(const t of this._languageFeatureService.completionProvider.all(e))(null===(i=t.triggerCharacters)||void 0===i?void 0:i.includes(n))&&o.add(t);if(0!==o.size)return{providers:o,ch:n}}};mv=cv([hv(1,xe.p),hv(2,ae.p),hv(3,Eh)],mv);let fv=class e{constructor(t,i,n,o){if(1==++e._counter){const s=o.createInstance(mv,((e,i)=>{var o;return(null!==(o=n.listCodeEditors().find((e=>e.getModel()===i)))&&void 0!==o?o:t).getOption(e)}));e._disposable=i.inlineCompletionsProvider.register("*",s)}}dispose(){var t;0==--e._counter&&(null===(t=e._disposable)||void 0===t||t.dispose(),e._disposable=void 0)}};fv._counter=0,fv=cv([hv(1,xe.p),hv(2,re.$),hv(3,_t.TG)],fv),(0,w._K)("suggest.inlineCompletionsProvider",fv,0);class _v extends w.R6{constructor(){super({id:"editor.action.forceRetokenize",label:y.NC("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new Fi.G(!0);i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}(0,w.Qr)(_v);i(64662);var vv=i(98679),Cv={};Cv.styleTagTransform=v(),Cv.setAttributes=p(),Cv.insert=u().bind(null,"head"),Cv.domAPI=c(),Cv.insertStyleElement=f();l()(vv.Z,Cv);vv.Z&&vv.Z.locals&&vv.Z.locals;var bv=i(31446),wv=i(30168),Sv=i(98367),Lv={};Lv.styleTagTransform=v(),Lv.setAttributes=p(),Lv.insert=u().bind(null,"head"),Lv.domAPI=c(),Lv.insertStyleElement=f();l()(Sv.Z,Lv);Sv.Z&&Sv.Z.locals&&Sv.Z.locals;var yv=i(99106),kv=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},Nv=function(e,t){return function(i,n){t(i,n,e)}};let xv=class extends A.JT{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Iv))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show(Object.assign(Object.assign({},e),{onClose:()=>{var t;this.hide(),null===(t=e.onClose)||void 0===t||t.call(e)}})),this._editor.setBanner(this.banner.element,26)}};xv=kv([Nv(1,_t.TG)],xv);let Iv=class extends A.JT{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(gs,{}),this.element=(0,et.$)("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){return e.ariaLabel?e.ariaLabel:"string"==typeof e.message?e.message:void 0}getBannerMessage(e){if("string"==typeof e){const t=(0,et.$)("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){(0,et.PO)(this.element)}show(e){(0,et.PO)(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=(0,et.R3)(this.element,(0,et.$)("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild((0,et.$)(`div${bt.k.asCSSSelector(e.icon)}`));const n=(0,et.R3)(this.element,(0,et.$)("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=(0,et.R3)(this.element,(0,et.$)("div.message-actions-container")),e.actions)for(const t of e.actions)this._register(this.instantiationService.createInstance(yv.r,this.messageActionsContainer,Object.assign(Object.assign({},t),{tabIndex:-1}),{}));const o=(0,et.R3)(this.element,(0,et.$)("div.action-container"));this.actionBar=this._register(new Cr.o(o)),this.actionBar.push(this._register(new wr.aU("banner.close","Close Banner",bt.k.asClassName(Os.s_),!0,(()=>{"function"==typeof e.onClose&&e.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Iv=kv([Nv(0,_t.TG)],Iv);var Tv=i(33425),Dv=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},Mv=function(e,t){return function(i,n){t(i,n,e)}},Rv=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 Pv=(0,Os.q5)("extensions-warning-message",st.l.warning,y.NC("warningIcon","Icon shown with a warning message in the extensions editor."));let Ev=class extends A.JT{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;const t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount);let i;if(e.nonBasicAsciiCharacterCount>=t)i={message:y.NC("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Kv};else if(e.ambiguousCharacterCount>=t)i={message:y.NC("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new jv};else{if(!(e.invisibleCharacterCount>=t))throw new Error("Unreachable");i={message:y.NC("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new qv}}this._bannerController.show({id:"unicodeHighlightBanner",message:i.message,icon:Pv,actions:[{label:i.command.shortLabel,href:`command:${i.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(xv,e)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=e.getOption(120),this._register(i.onDidChangeTrust((e=>{this._updateHighlighter()}))),this._register(e.onDidChangeConfiguration((t=>{t.hasChanged(120)&&(this._options=e.getOption(120),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=function(e,t){return{nonBasicASCII:t.nonBasicASCII===di.Av?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===di.Av?!e:t.includeComments,includeStrings:t.includeStrings===di.Av?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every((e=>!1===e)))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map((e=>e.codePointAt(0))),allowedLocales:Object.keys(e.allowedLocales).map((e=>{if("_os"===e){return(new Intl.NumberFormat).resolvedOptions().locale}return"_vscode"===e?oe.dK:e}))};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Ov(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Av(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Ev.ID="editor.contrib.unicodeHighlighter",Ev=Dv([Mv(1,pc.p),Mv(2,Tv.Y),Mv(3,_t.TG)],Ev);let Ov=class extends A.JT{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new O.pY((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((t=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const e of t.ranges)i.push({range:e,options:Hv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)}))}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!(0,wv.Fd)(t,e))return null;return{reason:Bv(t.getValueInRange(e.range),this._options),inComment:(0,wv.$t)(t,e),inString:(0,wv.zg)(t,e)}}};Ov=Dv([Mv(3,pc.p)],Ov);class Av extends A.JT{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new O.pY((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const t of e){const e=bv.a.computeUnicodeHighlights(this._model,this._options,t);for(const t of e.ranges)i.ranges.push(t);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||e.hasMore}if(!i.hasMore)for(const e of i.ranges)t.push({range:e,options:Hv.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return(0,wv.Fd)(t,e)?{reason:Bv(i,this._options),inComment:(0,wv.$t)(t,e),inString:(0,wv.zg)(t,e)}:null}}let Fv=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||1!==e.type)return[];const i=this._editor.getModel(),n=this._editor.getContribution(Ev.ID);if(!n)return[];const o=[];let r=300;for(const e of t){const t=n.getDecorationInfo(e);if(!t)continue;const a=i.getValueInRange(e.range).codePointAt(0),l=Wv(a);let d;switch(t.reason.kind){case 0:d=(0,we.$i)(t.reason.confusableWith)?y.NC("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",l,Wv(t.reason.confusableWith.codePointAt(0))):y.NC("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",l,Wv(t.reason.confusableWith.codePointAt(0)));break;case 1:d=y.NC("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",l);break;case 2:d=y.NC("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",l)}const c={codePoint:a,reason:t.reason,inComment:t.inComment,inString:t.inString},h=y.NC("unicodeHighlight.adjustSettings","Adjust settings"),u=`command:${Gv.ID}?${encodeURIComponent(JSON.stringify(c))}`,g=new s.W5("",!0).appendMarkdown(d).appendText(" ").appendLink(u,h);o.push(new ys(this,e.range,[g],!1,r++))}return o}renderHoverParts(e,t){return Ns(e,t,this._editor,this._languageService,this._openerService)}};function Vv(e){return`U+${e.toString(16).padStart(4,"0")}`}function Wv(e){let t=`\`${Vv(e)}\``;return we.vU.isInvisibleCharacter(e)||(t+=` "${function(e){if(96===e)return"`` ` ``";return"`"+String.fromCodePoint(e)+"`"}(e)}"`),t}function Bv(e,t){return bv.a.computeUnicodeHighlightReason(e,t)}Fv=Dv([Mv(1,hn.O),Mv(2,ds.v4)],Fv);class Hv{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=z.qx.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}}Hv.instance=new Hv;class zv extends w.R6{constructor(){super({id:jv.ID,label:y.NC("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=y.NC("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const t=null==e?void 0:e.get(ft.Ui);t&&this.runAction(t)}))}runAction(e){return Rv(this,void 0,void 0,(function*(){yield e.updateValue(di.qt.includeComments,!1,2)}))}}class Uv extends w.R6{constructor(){super({id:jv.ID,label:y.NC("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=y.NC("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const t=null==e?void 0:e.get(ft.Ui);t&&this.runAction(t)}))}runAction(e){return Rv(this,void 0,void 0,(function*(){yield e.updateValue(di.qt.includeStrings,!1,2)}))}}class jv extends w.R6{constructor(){super({id:jv.ID,label:y.NC("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=y.NC("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const t=null==e?void 0:e.get(ft.Ui);t&&this.runAction(t)}))}runAction(e){return Rv(this,void 0,void 0,(function*(){yield e.updateValue(di.qt.ambiguousCharacters,!1,2)}))}}jv.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class qv extends w.R6{constructor(){super({id:qv.ID,label:y.NC("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=y.NC("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const t=null==e?void 0:e.get(ft.Ui);t&&this.runAction(t)}))}runAction(e){return Rv(this,void 0,void 0,(function*(){yield e.updateValue(di.qt.invisibleCharacters,!1,2)}))}}qv.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Kv extends w.R6{constructor(){super({id:Kv.ID,label:y.NC("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=y.NC("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const t=null==e?void 0:e.get(ft.Ui);t&&this.runAction(t)}))}runAction(e){return Rv(this,void 0,void 0,(function*(){yield e.updateValue(di.qt.nonBasicASCII,!1,2)}))}}Kv.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Gv extends w.R6{constructor(){super({id:Gv.ID,label:y.NC("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}run(e,t,i){return Rv(this,void 0,void 0,(function*(){const{codePoint:t,reason:n,inString:o,inComment:s}=i,r=String.fromCodePoint(t),a=e.get(Di.eJ),l=e.get(ft.Ui);const d=[];if(0===n.kind)for(const e of n.notAmbiguousInLocales)d.push({label:y.NC("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',e),run:()=>Rv(this,void 0,void 0,(function*(){$v(l,[e])}))});if(d.push({label:function(e){return we.vU.isInvisibleCharacter(e)?y.NC("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Vv(e)):y.NC("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Vv(e)} "${r}"`)}(t),run:()=>function(e,t){return Rv(this,void 0,void 0,(function*(){const i=e.getValue(di.qt.allowedCharacters);let n;n="object"==typeof i&&i?i:{};for(const e of t)n[String.fromCodePoint(e)]=!0;yield e.updateValue(di.qt.allowedCharacters,n,2)}))}(l,[t])}),s){const e=new zv;d.push({label:e.label,run:()=>Rv(this,void 0,void 0,(function*(){return e.runAction(l)}))})}else if(o){const e=new Uv;d.push({label:e.label,run:()=>Rv(this,void 0,void 0,(function*(){return e.runAction(l)}))})}if(0===n.kind){const e=new jv;d.push({label:e.label,run:()=>Rv(this,void 0,void 0,(function*(){return e.runAction(l)}))})}else if(1===n.kind){const e=new qv;d.push({label:e.label,run:()=>Rv(this,void 0,void 0,(function*(){return e.runAction(l)}))})}else if(2===n.kind){const e=new Kv;d.push({label:e.label,run:()=>Rv(this,void 0,void 0,(function*(){return e.runAction(l)}))})}else!function(e){throw new Error(`Unexpected value: ${e}`)}(n);const c=yield a.pick(d,{title:y.NC("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options")});c&&(yield c.run())}))}}function $v(e,t){var i;return Rv(this,void 0,void 0,(function*(){const n=null===(i=e.inspect(di.qt.allowedLocales).user)||void 0===i?void 0:i.value;let o;o="object"==typeof n&&n?Object.assign({},n):{};for(const e of t)o[e]=!0;yield e.updateValue(di.qt.allowedLocales,o,2)}))}Gv.ID="editor.action.unicodeHighlight.showExcludeOptions",(0,w.Qr)(jv),(0,w.Qr)(qv),(0,w.Qr)(Kv),(0,w.Qr)(Gv),(0,w._K)(Ev.ID,Ev,1),Co.register(Fv);var Zv=i(28820),Qv=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},Yv=function(e,t){return function(i,n){t(i,n,e)}},Jv=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 Xv="ignoreUnusualLineTerminators";let eC=class extends A.JT{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(121),this._register(this._editor.onDidChangeConfiguration((e=>{e.hasChanged(121)&&(this._config=this._editor.getOption(121),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((e=>{e.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}_checkForUnusualLineTerminators(){return Jv(this,void 0,void 0,(function*(){if("off"===this._config)return;if(!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators())return;const t=function(e,t){return e.getModelProperty(t.uri,Xv)}(this._codeEditorService,e);if(!0===t)return;if(this._editor.getOption(87))return;if("auto"===this._config)return void e.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=yield this._dialogService.confirm({title:y.NC("unusualLineTerminators.title","Unusual Line Terminators"),message:y.NC("unusualLineTerminators.message","Detected unusual line terminators"),detail:y.NC("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,Vt.EZ)(e.uri)),primaryButton:y.NC({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:y.NC("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}i.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):function(e,t,i){e.setModelProperty(t.uri,Xv,i)}(this._codeEditorService,e,!0)}))}};eC.ID="editor.contrib.unusualLineTerminatorsDetector",eC=Qv([Yv(1,Zv.S),Yv(2,re.$)],eC),(0,w._K)(eC.ID,eC,1);var tC=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},iC=function(e,t){return function(i,n){t(i,n,e)}};const nC=new k.uy("hasWordHighlights",!1);function oC(e,t,i,n){const o=e.ordered(t);return(0,O.Ps)(o.map((e=>()=>Promise.resolve(e.provideDocumentHighlights(t,i,n)).then(void 0,ye.Cp))),Se.Of)}class sC{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=(0,O.PG)((e=>this._compute(this._model,this._selection,this._wordSeparators,e)))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new B.e(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,o=t.startColumn,s=t.endColumn,r=this._getCurrentWordRange(e,t);let a=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let e=0,t=i.length;!a&&e=s&&(a=!0)}return a}cancel(){this.result.cancel()}}class rC extends sC{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return oC(this._providers,e,t.getPosition(),n).then((e=>e||[]))}}class aC extends sC{constructor(e,t,i){super(e,t,i),this._selectionIsEmpty=t.isEmpty()}_compute(e,t,i,n){return(0,O.Vs)(250,n).then((()=>{if(!t.isEmpty())return[];const n=e.getWordAtPosition(t.getPosition());if(!n||n.word.length>1e3)return[];return e.findMatches(n.word,!0,!1,!0,i,!1).map((e=>({range:e.range,kind:yn.MY.Text})))}))}isValid(e,t,i){const n=t.isEmpty();return this._selectionIsEmpty===n&&super.isValid(e,t,i)}}(0,w.sb)("_executeDocumentHighlights",((e,t,i)=>oC(e.get(xe.p).documentHighlightProvider,t,i,Le.T.None)));class lC{constructor(e,t,i){this.toUnhook=new A.SL,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this._hasWordHighlights=nC.bindTo(i),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(78),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((e=>{this._ignorePositionChangeEvent||this.occurrencesHighlight&&this._onPositionChanged(e)}))),this.toUnhook.add(e.onDidChangeModelContent((e=>{this._stopAll()}))),this.toUnhook.add(e.onDidChangeConfiguration((e=>{const t=this.editor.getOption(78);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(B.e.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),t=(e.findIndex((e=>e.containsPosition(this.editor.getPosition())))+1)%e.length,i=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const n=this._getWord();if(n){const s=this.editor.getModel().getLineContent(i.startLineNumber);(0,o.Z9)(`${s}, ${t+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),t=(e.findIndex((e=>e.containsPosition(this.editor.getPosition())))-1+e.length)%e.length,i=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(i.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(i);const n=this._getWord();if(n){const s=this.editor.getModel().getLineContent(i.startLineNumber);(0,o.Z9)(`${s}, ${t+1} of ${e.length} for '${n.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeDecorations(){this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1))}_stopAll(){this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){this.occurrencesHighlight&&3===e.reason?this._run():this._stopAll()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.getWordAtPosition({lineNumber:t,column:i})}_run(){const e=this.editor.getSelection();if(e.startLineNumber!==e.endLineNumber)return void this._stopAll();const t=e.startColumn,i=e.endColumn,n=this._getWord();if(!n||n.startColumn>t||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),ye.dL)}}_beginRenderDecorations(){const e=(new Date).getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),t-e)}renderDecorations(){this.renderDecorationsTimer=-1;const e=[];for(const i of this.workerRequestValue)i.range&&e.push({range:i.range,options:(t=i.kind,t===yn.MY.Write?zm:t===yn.MY.Text?Um:Km)});var t;this.decorations.set(e),this._hasWordHighlights.set(this.hasDecorations())}dispose(){this._stopAll(),this.toUnhook.dispose()}}let dC=class e extends A.JT{static get(t){return t.getContribution(e.ID)}constructor(e,t,i){super(),this.wordHighlighter=null;const n=()=>{e.hasModel()&&(this.wordHighlighter=new lC(e,i.documentHighlightProvider,t))};this._register(e.onDidChangeModel((e=>{this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),n()}))),n()}saveViewState(){return!(!this.wordHighlighter||!this.wordHighlighter.hasDecorations())}moveNext(){var e;null===(e=this.wordHighlighter)||void 0===e||e.moveNext()}moveBack(){var e;null===(e=this.wordHighlighter)||void 0===e||e.moveBack()}restoreViewState(e){this.wordHighlighter&&e&&this.wordHighlighter.restore()}dispose(){this.wordHighlighter&&(this.wordHighlighter.dispose(),this.wordHighlighter=null),super.dispose()}};dC.ID="editor.contrib.wordHighlighter",dC=tC([iC(1,k.i6),iC(2,xe.p)],dC);class cC extends w.R6{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=dC.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class hC extends w.R6{constructor(){super({id:"editor.action.wordHighlight.trigger",label:y.NC("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:nC.toNegated(),kbOpts:{kbExpr:L.u.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=dC.get(t);n&&n.restoreViewState(!0)}}(0,w._K)(dC.ID,dC,0),(0,w.Qr)(class extends cC{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:y.NC("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:nC,kbOpts:{kbExpr:L.u.editorTextFocus,primary:65,weight:100}})}}),(0,w.Qr)(class extends cC{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:y.NC("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:nC,kbOpts:{kbExpr:L.u.editorTextFocus,primary:1089,weight:100}})}}),(0,w.Qr)(hC);var uC=i(55343),gC=i(92896),pC=i(24929),mC=i(39282);class fC extends w._l{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=(0,pC.u)(t.getOption(125)),o=t.getModel(),s=t.getSelections().map((e=>{const t=new W.L(e.positionLineNumber,e.positionColumn),i=this._move(n,o,t,this._wordNavigationType);return this._moveTo(e,i,this._inSelectionMode)}));if(o.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,s.map((e=>uC.Vi.fromModelSelection(e)))),1===s.length){const e=new W.L(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,i){return i?new S.Y(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new S.Y(t.lineNumber,t.column,t.lineNumber,t.column)}}class _C extends fC{_move(e,t,i,n){return gC.w.moveWordLeft(e,t,i,n)}}class vC extends fC{_move(e,t,i,n){return gC.w.moveWordRight(e,t,i,n)}}class CC extends w._l{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(da.c_);if(!t.hasModel())return;const o=(0,pC.u)(t.getOption(125)),s=t.getModel(),r=t.getSelections(),a=t.getOption(5),l=t.getOption(9),d=n.getLanguageConfiguration(s.getLanguageId()).getAutoClosingPairs(),c=t._getViewModel(),h=r.map((e=>{const i=this._delete({wordSeparators:o,model:s,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(7),autoClosingBrackets:a,autoClosingQuotes:l,autoClosingPairs:d,autoClosedCharacters:c.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ee.T4(i,"")}));t.pushUndoStop(),t.executeCommands(this.id,h),t.pushUndoStop()}}class bC extends CC{_delete(e,t){const i=gC.w.deleteWordLeft(e,t);return i||new B.e(1,1,1,1)}}class wC extends CC{_delete(e,t){const i=gC.w.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new B.e(n,o,n,o)}}class SC extends w.R6{constructor(){super({id:"deleteInsideWord",precondition:L.u.writable,label:y.NC("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=(0,pC.u)(t.getOption(125)),o=t.getModel(),s=t.getSelections().map((e=>{const t=gC.w.deleteInsideWord(n,o,e);return new ee.T4(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),(0,w.fK)(new class extends _C{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:k.Ao.and(L.u.textInputFocus,null===(e=k.Ao.and(Dg.U,mC.cv))||void 0===e?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}),(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),(0,w.fK)(new class extends _C{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:k.Ao.and(L.u.textInputFocus,null===(e=k.Ao.and(Dg.U,mC.cv))||void 0===e?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),(0,w.fK)(new class extends vC{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:k.Ao.and(L.u.textInputFocus,null===(e=k.Ao.and(Dg.U,mC.cv))||void 0===e?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),(0,w.fK)(new class extends vC{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:k.Ao.and(L.u.textInputFocus,null===(e=k.Ao.and(Dg.U,mC.cv))||void 0===e?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n){return super._move((0,pC.u)(di.BH.wordSeparators.defaultValue),t,i,n)}}),(0,w.fK)(new class extends _C{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n){return super._move((0,pC.u)(di.BH.wordSeparators.defaultValue),t,i,n)}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n){return super._move((0,pC.u)(di.BH.wordSeparators.defaultValue),t,i,n)}}),(0,w.fK)(new class extends vC{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n){return super._move((0,pC.u)(di.BH.wordSeparators.defaultValue),t,i,n)}}),(0,w.fK)(new class extends bC{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:L.u.writable})}}),(0,w.fK)(new class extends bC{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:L.u.writable})}}),(0,w.fK)(new class extends bC{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),(0,w.fK)(new class extends wC{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:L.u.writable})}}),(0,w.fK)(new class extends wC{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:L.u.writable})}}),(0,w.fK)(new class extends wC{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),(0,w.Qr)(SC);class LC extends fC{_move(e,t,i,n){return gC.L.moveWordPartLeft(e,t,i)}}De.P.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");De.P.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class yC extends fC{_move(e,t,i,n){return gC.L.moveWordPartRight(e,t,i)}}(0,w.fK)(new class extends CC{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=gC.L.deleteWordPartLeft(e);return i||new B.e(1,1,1,1)}}),(0,w.fK)(new class extends CC{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:L.u.writable,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=gC.L.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),o=e.model.getLineMaxColumn(n);return new B.e(n,o,n,o)}}),(0,w.fK)(new class extends LC{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),(0,w.fK)(new class extends LC{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),(0,w.fK)(new class extends yC{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),(0,w.fK)(new class extends yC{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:L.u.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class kC extends A.JT{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const e=ut.get(this.editor);e&&this.editor.hasModel()&&(this.editor.isSimpleWidget?e.showMessage(y.NC("editor.simple.readonly","Cannot edit in read-only input"),this.editor.getPosition()):e.showMessage(y.NC("editor.readonly","Cannot edit in read-only editor"),this.editor.getPosition()))}}kC.ID="editor.contrib.readOnlyMessageController",(0,w._K)(kC.ID,kC,2);i(20913),i(35898),i(41321),i(95733),i(31954),i(75245),i(48742),i(59149),i(45048),i(15662);var NC=i(6586)}}]);